关于matlab的quad函数y='4*a*sqrt(1-(c/a)^2*sin(x)^2))';true=quad(y,0,2*pi,10^-6);为什么输入这样的指令总是出现如下错误Error using ==> inline.subsref at 14Not enough inputs to inline function.Error in ==> quad at 77y = f(x,varargi
来源:学生作业帮助网 编辑:作业帮 时间:2024/05/08 02:00:58
关于matlab的quad函数y='4*a*sqrt(1-(c/a)^2*sin(x)^2))';true=quad(y,0,2*pi,10^-6);为什么输入这样的指令总是出现如下错误Error using ==> inline.subsref at 14Not enough inputs to inline function.Error in ==> quad at 77y = f(x,varargi
关于matlab的quad函数
y='4*a*sqrt(1-(c/a)^2*sin(x)^2))';
true=quad(y,0,2*pi,10^-6);
为什么输入这样的指令总是出现如下错误
Error using ==> inline.subsref at 14
Not enough inputs to inline function.
Error in ==> quad at 77
y = f(x,varargin{:});
Error in ==> Untitled5 at 9
true=quad(y,0,2*pi,10^-6)
还有我想问下那个@(x)是什么意思
关于matlab的quad函数y='4*a*sqrt(1-(c/a)^2*sin(x)^2))';true=quad(y,0,2*pi,10^-6);为什么输入这样的指令总是出现如下错误Error using ==> inline.subsref at 14Not enough inputs to inline function.Error in ==> quad at 77y = f(x,varargi
@(x)是用来定义无名函数的.以你的函数为例
y=@(x)4*a*sqrt(1-(c/a)^2*sin(x).^2);
这就定义了这样的一个以x为自变量的函数y,但是与用function来定义的函数不同,它在matlab里没有函数名,并且只存在于内存中(关掉matlab后就被删除了).
之后直接积分就可以
true=quad(y,0,2*pi,1e-8);
你用这个y='4*a*sqrt(1-(c/a)^2*sin(x).^2)';也可以,只是不能用a和c,要把a和c改成对应的数值.比如当a=2和c=1时,你要输入y='4*2*sqrt(1-(1/2)^2*sin(x).^2)';之后再用true=quad(y,0,2*pi,1e-8);