我想在MATLAB中创建一个2×961矩阵。
我使用meshgrid()
创建两个31×31矩阵,然后使用cat()
生成31×31×2矩阵。我想使用reshape()
来获取2×961,但我需要使用permute()
重新排列矩阵...我不完全理解如何。
我知道MATLAB将尝试按列排列,一个矩阵然后另一个矩阵,如果我不这样做,但我不知道如何使用置换来避免这种情况。
[theta1, theta2] = meshgrid(linspace(-3*pi/4, 3*pi/4,31),...
linspace(0,2*pi,31));
grid = cat(3,theta1,theta2);
%something here using permute()
reshape(grid, [2 961]);
好的,现在我有了这个
[theta1, theta2] = meshgrid(linspace(-3*pi/4,3*pi/4,31), linspace(0,2*pi,31));
grid = cat(3, theta1, theta2);
grid = permute(grid, [3 2 1]);
grid = reshape(grid, [2,961]);
x = torus_phi(grid);
surf(x, 'FaceAlpha', 0.75)
但是,当我运行它时,我得到了这个奇怪的图形,有没有办法让它更清晰,一种颜色。 我最终需要在剧情上进行多次冲浪,所以我需要让单色的东西起作用。