MATLAB中的permute()函数

时间:2017-09-21 16:34:54

标签: matlab matrix

我想在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)

但是,当我运行它时,我得到了这个奇怪的图形,有没有办法让它更清晰,一种颜色。 我最终需要在剧情上进行多次冲浪,所以我需要让单色的东西起作用。

0 个答案:

没有答案