下面的例子很好,但是我想用mesh(zz,TT,u(:,:,2,1))而不是mesh(u(:,:,2,1))来绘制。在这种情况下,尺寸不一致,matlab给出了误差。我怎样才能排序这个维问题?
clear;
z=linspace(0,10,5);
T=linspace(0,20,50);
for j=1:length(T)-1
for i=1:length(z)
u(i,j,2,1)=z(i)*T(j)+10;
end
end
figure(1)
[zz,TT]=meshgrid(z,T);
mesh(u(:,:,2,1))发布于 2013-09-18 17:27:07
代码可以简化为:
z = linspace(0,10,5);
T = linspace(0,20,50);
[zz,TT] = ndgrid(z, T(1:end-1));
uu = zz.*TT + 10;
%u(:,:,2,1) = uu;
mesh(zz, TT, uu)我从T中少取一个元素,因为这就是你填充矩阵u的方式。还请注意MESHGRID与NDGRID的区别
发布于 2013-09-18 14:52:36
你的问题一点也不清楚。这就是你要找的吗?
z=linspace(0,10,5);
T=linspace(0,20,50);
for j=1:length(T)
for i=1:length(z)
u(i,j)=z(i)*T(j)+10;
end
end
[TT, zz]=meshgrid(T, z);https://stackoverflow.com/questions/18875373
复制相似问题