0
我有一些CSV文件,每一個都代表我想生成的3D表面圖。Matlab - 如何繪製我的數據?
該文件的結構如下:
- 的文件的列的數字代表在X軸
- 的每一行中的值表示Y軸
- 和行號表示在Z軸
然而,文件中的每一個,其他的線代表前行的數據點,1個標準差。
此外,每一對行都比最後一行長。
所以我想要的是每個圖上的兩個曲面。第一個曲面由每個奇數行代表,第二個曲面由每個偶數行代表。
我該怎麼做?
感謝
我有一些CSV文件,每一個都代表我想生成的3D表面圖。Matlab - 如何繪製我的數據?
該文件的結構如下:
然而,文件中的每一個,其他的線代表前行的數據點,1個標準差。
此外,每一對行都比最後一行長。
所以我想要的是每個圖上的兩個曲面。第一個曲面由每個奇數行代表,第二個曲面由每個偶數行代表。
我該怎麼做?
感謝
,我知道你不能在Matlab非方陣。所以,你 可以做的最接近放的NaN在缺少空間:
A = [
10 10 NaN NaN NaN
2 2 NaN NaN NaN
20 20 20 NaN NaN
3 3 3 NaN NaN
30 30 30 30 30
4 4 4 4 4
];
其他的都是一樣的。
斯普利特:
[rows, cols] = size(A);
A_mean = A(1:2:rows, :);
A_sd = A(2:2:rows, :);
請軸線(我重新安排這些是像你;)
[XX, ZZ] = meshgrid(1:cols, 1:(rows/2))
和情節:
surf(XX, A_mean, ZZ); hold('on');
surf(XX, A_sd, ZZ); hold('off')
謝謝您的回答,對不起,我省略我現在添加的重要信息來自於我的問題:每一對行比前一對長。你也可以告訴我你的x,y,z的順序是什麼,所以我可以弄清楚要改變它的方式以獲得它的方式嗎?謝謝。 – Griffin
如果沒有用零填充行的末尾是不可能的,我不介意 - 但我也需要一些指導如何做到這一點 - 再次感謝您的時間。 – Griffin
@Griffin我不記得如果你讀了一個非正方形的CSV會發生什麼 - 我認爲它會在沒有單元的情況下放0。可能是錯誤的。 – Owen