matlab函数中的参数求叉积:A=cross(m,n)代码如下(很简单):%%函数定义,求叉积function B = fun1( x,y )m=[x,y,x+y];n=[x,2*y,2*x];A=cross(m,n);end;%%主函数a=quad( @(x) fun1(x,3),0,2 )%%如上,结果是在 A=cross(m,n); 这一
来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/27 17:21:44
matlab函数中的参数求叉积:A=cross(m,n)代码如下(很简单):%%函数定义,求叉积function B = fun1( x,y )m=[x,y,x+y];n=[x,2*y,2*x];A=cross(m,n);end;%%主函数a=quad( @(x) fun1(x,3),0,2 )%%如上,结果是在 A=cross(m,n); 这一
matlab函数中的参数求叉积:A=cross(m,n)
代码如下(很简单):
%%函数定义,求叉积
function B = fun1( x,y )
m=[x,y,x+y];
n=[x,2*y,2*x];
A=cross(m,n);
end;
%%主函数
a=quad( @(x) fun1(x,3),0,2 )
%%
如上,结果是在 A=cross(m,n); 这一行报错.
matlab函数中的参数求叉积:A=cross(m,n)代码如下(很简单):%%函数定义,求叉积function B = fun1( x,y )m=[x,y,x+y];n=[x,2*y,2*x];A=cross(m,n);end;%%主函数a=quad( @(x) fun1(x,3),0,2 )%%如上,结果是在 A=cross(m,n); 这一
调用quad函数的时候,被积分的函数计算是向量化的,也就是说,匿名函数
@(x) fun1(x,3)
的输入参数x是向量.举例来说,x是一个1x7的向量,y=3是标量,这样m和n就会成为1x15的向量,而叉积只能对长度为3的向量进行,所以导致出错.
另外,函数fun1的输出参数是B,但是你在函数体中并未对B赋值,这一点从程序逻辑上来说是错误的,而且我也无法判断你要求解问题的本意,所以无法提供进一步的建议.