Matlab:not enough input argument

function [ X1,X2 ] = quadform( A,B,C )
%Implementation of the quadratic formula
% Here A,B and C can be matrices
tmp = sqrt(B.^2 - 4*A.*C);
X1 = (-B + tmp)./(2*A);
X2 = (-B - tmp)./(2*A);

end
在command window里输入[X1,X2]=quadform(1,10,3)可以计算
可是如果直接点run会
Error using quadform (line 4)
Not enough input arguments.
估计是没有赋值导致的 如何在点run的情况下运行呢?

这个函数需要有输入参数才能运行,而直接点Run则没有提供输入参数,自然会报错。

当然,可以判断函数运行时有没有足够的输入参数,如果没有,提供一组默认参数,使得程序能够运行,但这样做的意义不是太大。

 

如果确实希望实现这样的功能,可以把函数改成:

function [ X1,X2 ] = quadform( A,B,C )
%Implementation of the quadratic formula
%   Here A,B and C can be matrices

if nargin~=3
    disp('输入参数个数不正确。');
    disp('函数需要提供3个输入参数,例如:[X1,X2]=quadform(1,10,3)');
    disp('下面将以上述参数作为默认值演示程序的功能:');
    [x1,x2]=quadform(1,10,3)
    return
end

tmp = sqrt(B.^2 - 4*A.*C);
X1 = (-B + tmp)./(2*A);
X2 = (-B - tmp)./(2*A);

end

温馨提示:内容为网友见解,仅供参考
无其他回答

Matlab:not enough input argument
function [ X1,X2 ] = quadform( A,B,C )%Implementation of the quadratic formula% Here A,B and C can be matrices if nargin~=3 disp('输入参数个数不正确。'); disp('函数需要提供3个输入参数,例如:[X1,X2]=quadform(1,10,3)'); disp('下面将以上述参数作为默认...

matlab 出现 not enough argument
这是两部分程序。前两行定义一个函数fun,保存成fun.m;从第3行开始的部分不要放在这个文件里面,可以另外保存成一个文件,也可以直接在命令窗口里面调用。其实像这种简单的函数没必要用M文件定义的,可以用匿名函数。例如,第2行改成:f = @ (x)-prod(x);最后一行的【@fun】改成【f】,第1行...

MATLAB问题:错误:??? Input argument "X" is undefined. Error i...
你定义的是function,需要输入变量X。直接运行这个函数肯定出现未定义的错误,你应该用M文件调用这个函数,或者在command window中直接调用函数。

matlab中出现未定义错误??? Input argument "N" is undefined.
你的参数N没有定义类型,倒下

Matlab ??? Input argument "b" is undefined.
这是个函数文件,是不能直接运行的。保存为test.m 然后在同文件夹下,新建一个代码文件,调用test函数就行了。

matlab出现??? Input argument "x" is undefined.
函数的m文件通常是不能直接运行的,要用的话就要调用函数。你在命令窗口里调用函数,比如输入f(1,2),应该有结果

matlab求助大神,老是显示 Input argument "x" is undefined.
function [c,ceq] = mycon(x,a,b,e)其中第一个函数,没有输入与输出。而且 ,楼主是否知道 调用function文件,不是点击文件里的run箭头,是在comand window 里输入 函数名字。而且,函数的输入要事先写好。不然就会出现 Input argument "x" is undefined.所以以第二个函数为例进行说明如下。输入:...

MATLAB 程序错误??? Input argument "f" is undefined. Error i...
虽不知这个程序是干什么用的,不过你的程序是可以运行的。这是一个函数,需要在命令窗口输入运行代码,例如:h=juny(sin(2*pi*[1:100]),0.9,8)。你的提示说没有找到f的定义,说明书你在运行代码时没有输入参数。

Matlab调试时出现“??? Input argument "A" is undefined.这个是什 ...
这是一个函数文件,运行时要求输入参数A和B 你直接运行,没有给参数,所以报错

matlab运行后出现错误:??? Input argument "settings" is undefined.是...
显示,输入的参数setting没有定义,需要定义自变量。从字面上看就是这样。如果setting是M文件中的自变量,建议定义时,将setting放在目标函数里。比如定义f(x,setting)写成function y=f(x,setting)如果setting是程序中的参数,建议调用前,使用函数定义。sym setting;即可 如果还没解决建议再回来附上源...

相似回答