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