[繪圖] 想請教有關畫四維圖方法(更新問題)
小弟我想畫一個f(x,y,z)的圖
x,y,z為3個矩陣
大小分別為
x => 64,1
y => 64,1
z => 57,1
f => 64x64x57,1
f的值就是 當x=1,y=1,z=1 帶入以後得出的值
我想要在三維座標上 將f的大小用顏色(colorbar)表示
我試過scatter3(x(:,1),y(:,1),z(:,1),f,f,'filled')
本來想說用surf畫 但meshgrid的矩陣也是要同樣大小
但他顯示我的x,y,z不一樣大 而且scatter3畫出來是點
我想問看看 是不是有甚麼方法可以畫出f的曲面 然後顏色表示大小?
以下是P大提供的方法 給大家參考
[xx yy]=meshgrid( 64 x 64 ) %將資料做成meshgrid
for n = 1:57
f =f2(:,:,n); %用迴圈一頁一頁畫
mesh(xx,yy,f);
hold on %疊圖
colorbar
drawnow
frame = getframe(1);
im = frame2im(frame);
[imind,cm] = rgb2ind(im,256);
if n == 1;
imwrite(imind,cm,filename,'gif', 'Loopcount',inf);
else
imwrite(imind,cm,filename,'gif','WriteMode','append');
end
end
將z的變化改用疊圖的方式 處理出來效果蠻不錯的
另外我想問的是 如果我現在x,y,z很大的話 要如何處理
比如 f(x,y,z) 裡面的 x y z各是10000的話
這樣meshgrid會因為記憶體問題無法建立
請問有甚麼方法可以處理這麼大的資料量嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.116.1.136
※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1427958685.A.6BC.html
推
04/02 20:55, , 1F
04/02 20:55, 1F
→
04/02 20:56, , 2F
04/02 20:56, 2F
→
04/02 20:56, , 3F
04/02 20:56, 3F
→
04/02 20:57, , 4F
04/02 20:57, 4F
→
04/02 20:57, , 5F
04/02 20:57, 5F
推
04/02 21:33, , 6F
04/02 21:33, 6F
可能也要看過結果才知道 不知道大大所謂方塊是要如何呈現 pcolor在搭配甚麼嗎?
※ 編輯: zx168zx (140.116.46.243), 04/04/2015 14:43:57
推
04/04 15:27, , 7F
04/04 15:27, 7F
→
04/04 15:27, , 8F
04/04 15:27, 8F
→
04/04 15:27, , 9F
04/04 15:27, 9F
→
04/04 15:27, , 10F
04/04 15:27, 10F
推
04/04 15:29, , 11F
04/04 15:29, 11F
→
04/04 15:29, , 12F
04/04 15:29, 12F
純粹只是覺得用疊圖很酷XD 用for 把x,y,也去疊是甚麼意思 是把x,y也切割嗎?
※ 編輯: zx168zx (140.116.46.243), 04/04/2015 15:51:34
推
04/04 15:53, , 13F
04/04 15:53, 13F
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章