最近几天,我在尝试在 3D 等值面图中互换 Y 轴和 Z 轴时遇到了麻烦。我想交换 Y 轴和 Z 轴,以便将其可视化并能够更清楚地讨论结果。我记得过去我曾经以两种方式互换 Y 轴和 Z 轴:
1)使用轴手柄:
yy = get(gca, 'YData');
zz = get(gca, 'Zdata');
set(gca, 'YData', zz, 'ZData', yy);
我遇到的错误如下:'axes' 类中没有'Ydata' 属性。
2) 通过切换 isosurface-command 中的数据进行交换:
isosurface(X, Z, Y, calulated_rotor, iso_value) 我收到以下错误:“X、Y 和 Z 必须是 MESHGRID 生成的矩阵。”
但是,X,Y,Z 是使用 meshgrid 生成的。我试图解决这个错误:
[X Z Y] = meshgrid(x, z, y) % instead of [X Y Z] = meshgrid(x, z, y)
% recalculate the velocity matrices VX, VY, VZ: 3D-matrices , code not provided
calculated_rotor_2 = rotor(X, Z, Y, VX, VZ, VY) % instead of calculated_rotor = rotor(X,Y,Z, VX, VY, VZ)
isosurface(X, Z, Y, calculated_rotor_2, iso_value) % instead of isosurface(X, Y, Z, calculated_rotor, iso_value)
但是,这显示的不是我计算的第一个转子的旋转版本。它显示错误的计算转子。所以我的主要问题仍然是:如何以正确的方式互换 Y 轴和 Z 轴?
我的 Matlab 版本是 R2010a。