登录论坛

查看完整版本 : [MATLAB数学相关] MATLAB数值积分问题,多谢高手指点迷津!


enjoy
2009-11-14, 01:16
这是我定义的一个函数文件:
function y=f(x)
r=0.367; nt=0.85; G=3880*9.8; f=0.013; CdA=2.77; n=600:4000;
m=3880; ig2=2.769; i0=5.83;
Tq=-19.313+295.27*(n/1000)-165.44*(n/1000).^2+40.874*(n/1000).^3-3.8445*(n/1000).^4;
x=zeros(1,3401);
y=m./(Tq*ig2*i0*nt/r-(G*f+CdA*x.^2/21.15));
主要是求y=m./(Tq*ig2*i0*nt/r-(G*f+CdA*x.^2/21.15))这函数曲线的与x轴围成的面积。(不知m文件对不对)
然后我在命令窗口输入: q=quadl('fun', 0.377*0.367*600/2.769/5.83, 0.377*0.367*4000/2.769/5.83)
%括号里为函数的调用和积分区间

但输出结果出错:??? Error using ==> *
Inner matrix dimensions must agree.

Error in ==> D:\安装软件\matlab\toolbox\matlab\funfun\quadl.m
On line 79 ==> Q0 = h*w*y';

我调试了几次都不知道是什么原因,希望matlab的高手们指点迷津,谢谢!

xsprinkle
2009-11-14, 10:58
'fun' 这个不是你编的函数名吧?

enjoy
2009-11-14, 13:45
是的 我定义的函数名命名为:fun.m, 谢谢您的继续帮忙!

laosam280
2009-11-22, 14:46
x和y的向量方向不对,你看是不是你改用行向量的地方用的列向量