matlab程序报错求指点
clear;
clc;
syms w v;
r=1.5;
a=1.625^2;
t=0.03719;b=0.99692;
h0=0.22314:0.01:2.92562;
[m,n]=size(h0);
for i=1:m
for j=1:n
c(i,j)=b*(h0(i,j)-6*t)-r;
s(i,j)=int(int(2*sqrt(a-w^2-v^2),y,-sqrt(a-w^2),-0.625),x,-r,c(i,j));
L(i,j)=vpa(s(i,j))*1000;
end
end
L'
补充:上面的程序错了,正确的如下:
clear;
clc;
syms w v;
r=1.5;
a=1.625^2;
t=0.03719;b=0.99692;
h0=0.22314:0.01:2.92562;
[m,n]=size(h0);
for i=1:m
for j=1:n
c(i,j)=b*(h0(i,j)-6*t)-r;
s(i,j)=int(int(2*sqrt(a-w^2-v^2),v,-sqrt(a-w^2),-0.625),w,-r,c(i,j));
L(i,j)=vpa(s(i,j))*1000;
end
end
L'
追问:
不好意思,程序我已近改好了,在问题的补充那里,但是还是有问题啊!求指点!
好吧,这个也不是我做出来的,别人告诉我的你看看
不是错误,是符号积分求不出来
可以用数值积分来做
clear;
clc;
r=1.5;
a=1.625^2;
t=0.03719;b=0.99692;
h0=0.22314:0.01:2.92562;
[m,n]=size(h0);
c = h0;
s = h0;
L = h0;
for i=1:m
for j=1:n
c(i,j)=b*(h0(i,j)-6*t)-r;
s(i,j)=quad2d(@(w,v)2*sqrt(a-w.^2-v.^2),-r,c(i,j),@(w)-sqrt(a-w.^2),-0.625);
L(i,j)=s(i,j)*1000;
end
end
disp(L.')
这个还是运行不出来,我是6.5的MATLAB,报错的信息时:
s(i,j)=quad2d((@(w,v)2*sqrt(a-w.^2-v.^2),-r,c(i,j)),@(w)-sqrt(a-w.^2),-0.625);
|
Error: "identifier" expected, "(" found.
对不起啊,我说错了。
quad2d是09年后的版本matlab收录的,我再看看怎么解决