Matlab中的3D绘图与X和Y中的两个轴

时间:2014-10-30 15:19:08

标签: matlab

我有两个函数,比如L(t,w)和K(m,n)。我想在同一个坐标中想象这两架飞机。这些平面的交点给出了答案(m0,n0,t0,w0)。

我可以使用以下代码绘制这些平面:

[nL,mL] = meshgrid(linspace(min(n),max(n),max(Nn,Nt)),linspace(min(m),max(m),max(Nm,Nw)));
[tL,wL] = meshgrid(linspace(min(t),max(t),max(Nn,Nt)),linspace(min(w),max(w),max(Nm,Nw)));

[nM,mM] = meshgrid(n,m);
[tM,wM] = meshgrid(t,w);

Kint = interp2(nM,mM, K, nL, mL);
Lint = interp2(tM,wM, L, tL, wL);

figure;

surface(tL,wL,Lint, 'FaceColor', [0.1 0.1 1], 'EdgeColor', 'none');
surface(tL,wL,Kint, 'FaceColor', [0.1 1 0.1], 'EdgeColor', 'none');

grid;

view(3); camlight; axis vis3d;

虽然x和y轴有不同的表示,但是有什么方法可以将一个值为n的轴与t平行放置,一个值为m的轴与w平行?

应该可行而且容易。

1 个答案:

答案 0 :(得分:0)

请参阅here

这也适用于3D。使用axes命令创建一个新轴并将其放在不同的位置,然后在第二次调用surface时使用' Parent',youraxes。