回 帖 发 新 帖 刷新版面

主题:能帮忙分析一下这个程序吗?

clear
syms e
[x,t]=meshgrid(1:10);
l=2*pi;
a=2;
u=0;
for n=1:2
    
    A=(2/l)*int((sin(7*pi/l))*sin(n*pi*e/l),0,l);
    B=(2/(n*pi*a))*int(sin(n*pi*e/l),3*l/7,4*l/7);
    v=(A*cos(n*pi*a.*t/l)+B*sin(n*pi*a.*t/l)).*sin(n*pi.*x/l);
    
    u=u+v;
end
surf(x,t,u);

上面程序运行时不能画出图形,恳求大虾指点迷津!

回复列表 (共3个回复)

沙发

clear
syms e
[x,t]=meshgrid(1:10);
l=2*pi;
a=2;
u=0;
for n=1:2,
    A=(2/l)*int((sin(7*pi/l))*sin(n*pi*e/l),0,l);
    B=(2/(n*pi*a))*int(sin(n*pi*e/l),3*l/7,4*l/7);
    A=double(A);B=double(B);
    v=(A*cos(n*pi*a.*t/l)+B*sin(n*pi*a.*t/l)).*sin(n*pi.*x/l);
    u=u+v;
end
surf(x,t,u);
要加上    A=double(A);B=double(B);
不然的出来的A,B是符号变量不是数值的,而surf只能对数值进行画图
或者用vpa来代替double也可以,因为用vpa可以设置取小数点后多少位

板凳

谢谢1楼的!

3 楼

不给评分啊?????

我来回复

您尚未登录,请登录后再回复。点此登录或注册