matlab定义函数问题 急!!!

来源:百度知道 编辑:UC知道 时间:2024/06/11 23:41:16
我定义的函数为
function f =malthus( x,xdata)
f =exp(x(1)+xdata.*x(2))
但是运行后显示
??? Input argument 'x' is undefined.

Error in ==> C:\MATLAB6p5\work\Malthus.m
On line 2 ==> f =exp(x(1)+xdata.*x(2))
>>
这是怎么回事啊 ???

当这个函数被其他函数调用时,这个错误不会出现;这个错误出现的原因在于程序运行时,没有操作为x和xdata赋值。
如果在另一个函数里调用,如
function f1
b=malthus([3 2],[3 2])

function f =malthus( x,xdata)
f =exp(x(1)+xdata.*x(2))
end
end
就不会有问题,当调试函数malthus时,可在函数内暂时声明与输入变量同名的变量,并为之赋值,调试结束后删掉