2014-05-14 23 views
0
figure; 
histogram = hist(np,180); 
name=['histogram-' int2str(k) '.png']; 
%% k is the iterator so basically I want to save all the images using a loop. 
imwrite(out,name); 

我得到的圖像只是一條水平線。有人知道如何解決這個問題嗎?如何將直方圖保存到matlab中?

回答

1

,您可以改用imwrite

這裏的savefig是DOC http://www.mathworks.ch/ch/help/matlab/ref/savefig.html

savefig(h,filename) 

h是圖的句柄。你可以跳過h來保存當前的數字。

(編輯)根據MATLAB版本,savefig可能不存在。在2012b,它不會退出。

所以saveas可能會更好:

f=figure; 
hist([1 2 2 3]); 
saveas(f, 'histogram-1.png') 

這曾在MATALB 2012B。您也可以將它保存爲.fig。

+0

我試過你的方法,但它給了我一個錯誤「Undefined function'savefig'輸入參數的類型'雙'」 – user3610523

+0

我明白了。可能你應該從圖中得到句柄,而不是從hist。所以,圖=圖;和savefig(fig,「histogram-1.pgn」)。我沒有matlab,所以我猜測。 – otterb

+0

我嘗試過,並再次失敗。對於saveas命令,我得到一個錯誤「無效的Simulink對象句柄」 – user3610523