当前位置:编程学习 > Matlab >>

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收录的,我再看看怎么解决
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,