麻烦帮我看看我的这个MATLAB为什么画不出图来,
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/11/09 04:58:00
麻烦帮我看看我的这个MATLAB为什么画不出图来,
lx=51;ly=26;%把取b=pi/2,则m=50,n=25,h=l=pi/50.
v1=0;
v1(:,1)=0;v1(:,51)=0;
for j=2:50
v1(ly,j)=(5*(10^-2).*(j*pi/50).*(4-(j*pi/50)))./0.1249;
end
v2=v1;
maxt=1;t=0;
k=0;
while(maxt>1e-6)
k=k+1;
maxt=0;
for j=2:lx-1;
v1(1,j)=(v1(2,j)+2.*v1(3,j)-v1(4,j))./2;
v1(1,j)=sin((j*pi)/50);
v2(16,j)=(v1(16,j+1)+v1(17,j)+v1(15,j)+v1(16,j-1))/4;
t=abs(v2(16,j)-v1(16,j));
if(t>maxt)
maxt=t;
%end
end
end
v1=v2;
end
subplot(1,2,1),plot(j,v2)
axis([0,60,0,5])
lx=51;ly=26;%把取b=pi/2,则m=50,n=25,h=l=pi/50.
v1=0;
v1(:,1)=0;v1(:,51)=0;
for j=2:50
v1(ly,j)=(5*(10^-2).*(j*pi/50).*(4-(j*pi/50)))./0.1249;
end
v2=v1;
maxt=1;t=0;
k=0;
while(maxt>1e-6)
k=k+1;
maxt=0;
for j=2:lx-1;
v1(1,j)=(v1(2,j)+2.*v1(3,j)-v1(4,j))./2;
v1(1,j)=sin((j*pi)/50);
v2(16,j)=(v1(16,j+1)+v1(17,j)+v1(15,j)+v1(16,j-1))/4;
t=abs(v2(16,j)-v1(16,j));
if(t>maxt)
maxt=t;
%end
end
end
v1=v2;
end
subplot(1,2,1),plot(j,v2)
axis([0,60,0,5])
j是一个数,v2是一个矩阵,这个图plot怎么画呢.
再问: 那要怎么把这个二维图画出来???谢谢啊!!
再答: 你想要画什么?分别想要以什么为坐标?
再问: 把v1这个离散图画出来,以x为坐标,x,区间为[0,pi]。程序中,我把x区间划分为50段,现在想画以x轴为横坐标,v1为纵坐标的二维坐标图。谢谢了啊!!
再答: 程序里面v1也是一个矩阵,而且从运行结果看,除了第26行,其它的都等于零。所以,首先不能以v1为纵坐标,其次,这程序结果是你预期的吗,没有问题吗?
再问: 不是的,那你帮我改改,怎么可以以x轴为横坐标,v1为纵坐标的二维坐标图的程序,我这里处理不好,不知道怎么写。那就一定是我的里面条件有问题,我再把它改改。
再答: 如果画二维坐标图,只能用v1里面的一维数据,不能都用上。比如画最后一行可以用 plot((1:50)/50*pi,v1(26,1:50),'o')
再问: 那要怎么把这个二维图画出来???谢谢啊!!
再答: 你想要画什么?分别想要以什么为坐标?
再问: 把v1这个离散图画出来,以x为坐标,x,区间为[0,pi]。程序中,我把x区间划分为50段,现在想画以x轴为横坐标,v1为纵坐标的二维坐标图。谢谢了啊!!
再答: 程序里面v1也是一个矩阵,而且从运行结果看,除了第26行,其它的都等于零。所以,首先不能以v1为纵坐标,其次,这程序结果是你预期的吗,没有问题吗?
再问: 不是的,那你帮我改改,怎么可以以x轴为横坐标,v1为纵坐标的二维坐标图的程序,我这里处理不好,不知道怎么写。那就一定是我的里面条件有问题,我再把它改改。
再答: 如果画二维坐标图,只能用v1里面的一维数据,不能都用上。比如画最后一行可以用 plot((1:50)/50*pi,v1(26,1:50),'o')