Matlab Can';我们不能让这个功能发挥作用

Matlab Can';我们不能让这个功能发挥作用,matlab,Matlab,我无法编写生成矩阵的函数。 当我尝试运行以下操作时,不断出现错误“输入参数不足”: 函数B=生成_矩阵(n) B=零(n,n); %一旦我能让它工作起来,我会给它添加更多的东西 结束 有人知道我做错了什么吗?我已经在线检查过了,不知道我做错了什么。请确保输入变量n。如果n为null,则会出现此错误。在命令窗口中,首先将值指定给n。说n=5。然后运行你的程序。因为n已经有一个值,所以您的程序可以正常工作 为函数写入文件 函数B=生成_矩阵(n) B=零(n,n); 结束 然后,在命令窗口中 B=生

我无法编写生成矩阵的函数。 当我尝试运行以下操作时,不断出现错误“输入参数不足”:

函数B=生成_矩阵(n) B=零(n,n); %一旦我能让它工作起来,我会给它添加更多的东西 结束


有人知道我做错了什么吗?我已经在线检查过了,不知道我做错了什么。

请确保输入变量n。如果n为null,则会出现此错误。在命令窗口中,首先将值指定给n。说
n=5
。然后运行你的程序。因为n已经有一个值,所以您的程序可以正常工作

为函数写入文件

函数B=生成_矩阵(n)
B=零(n,n);
结束

然后,在命令窗口中

B=生成矩阵(3)


这将生成3x3零矩阵。我认为您的代码正常工作。

您收到的错误消息完全正常

您定义了一个需要一个输入的函数:

function B = generate_matrix(n) 

B = zeros(n,n);
当按下
Run
按钮(或
F5
)时,Matlab会尝试执行代码。或者Matlab不知道什么是
n
,因此会显示错误消息。实际上,
Run
按钮只适用于没有输入的脚本或函数

因此,要使用函数,必须调用它(例如,从工作区)并指定参数:

>> generate_matrix(3)
ans =

     0     0     0
     0     0     0
     0     0     0

请注意,此参数可以是先前定义的变量。

问题是,我希望能够调用任意n的函数。与在命令窗口中写入A=0(100)B=1(6)和C=0(7)的方式大致相同。因为
n
是函数generate_矩阵的输入,
n
应该定义函数才能工作。我基本上想做的是编写一个函数,然后能够运行我的程序并从命令窗口使用该函数,就像在Python中一样。这可能吗?我觉得如果n必须是一个实际的固定数字,那么这并不是我想要的。我想命令行执行不像python那样是不可能的,但是,您可以使用
input()
函数来实现这一点。请参阅:但请确保从函数定义中删除
n
。你的函数应该是这样的:
function B=generate_matrix()n=input(“输入矩阵大小”);B=zero(n,n);end
谢谢大家,我想出来了。只要你调用
B=generate_matrix(m)
时定义了
m
或者使用了一个整数文字,比如
B=generate_matrix(7)
,它应该可以工作。该函数在您当前的工作目录中吗?它对我不起作用。我在一个.m文件中有上面的确切代码,但每次单击“运行”时,都会出现错误“输入参数不足”“。是否有办法将函数加载到命令窗口?对不起,这个愚蠢的问题。我对MATLAB真的很陌生。@migs:m文件名为
generate\u matrix.m
?您当前的路径设置正确吗?(您可以通过右键单击编辑器中的“函数文件”选项卡,然后单击“将当前文件夹更改为…”来检查这一点)。