2014-02-21 43 views
1

我有一個6x7矩陣和代碼,如下所示。從插值數據繪製圖形

AAA = [6.58334819836268e-08,6.58360422229042e-08,1.00000000000000e-07,6.58360422229042e-08,6.58334819836268e-08,6.52045800754157e-08,5.85884775603342e-08;6.58357144702898e-08,7.07877183955584e-15,1.30107757091448e-14,7.07877183955584e-15,6.58357144702898e-08,6.54972575310103e-08,5.93117733834096e-08;6.58339625800589e-08,3.11222470705387e-14,1.00000000000000e-07,3.11222470705387e-14,6.58339625800589e-08,6.53071149110581e-08,5.91467960666378e-08;3.35180697959755e-14,1.23401983330586e-13,3.16992910945127e-07,1.23401983330586e-13,3.35180697959755e-14,6.42575733502040e-08,5.51860031243273e-08;2.60334109648121e-14,3.15652463329506e-13,3.06020237241310e-07,3.15652463329506e-13,2.60334109648121e-14,6.13091171475941e-08,4.67547677521445e-08;1.34421509504861e-13,3.68888581036477e-13,2.99436633019020e-07,3.68888581036477e-13,1.34421509504861e-13,5.41463382985084e-08,3.24989206785054e-08]; 

[xx,yy] = meshgrid(0:71:426,0:71:355); 

mesh(xx,yy,AAA) 

通過運行上面的代碼可以繪製圖表,而不會有任何問題。 但是,當我如下所示插入它時,發生錯誤並且無法顯示圖形。 我做錯了什麼?請幫幫我。

[xxx,yyy] = meshgrid(0:1:426,0:1:355); 

InterpAAA = interp2(xx,yy,AAA,xxx,yyy); 

mesh(xxx,yyy,InterpAAA) 
+1

什麼錯誤?對我來說完全正常嗎? Matlab 2013a,x64,xubuntu 13.10。 – Marcin

+0

同意,代碼看起來正確。你確定你的'interp2'沒有拋出一個錯誤嗎?也許你的'xx'沒有很好地排序? – Dan

+0

感謝您的幫助。我失敗的圖表看起來像這樣。 https://dl.dropboxusercontent.com/u/153995/untitled.tif 你知道是什麼原因嗎? – Yossiri

回答

0

這可能與您的系統的圖形限制有關。你的代碼沒有對我也(小牛IMAC 2012B)工作,但下面確實

mesh(xxx, yyy, InterpAAA*100) %multiply the data by 1e2 - OK 
mesh(xxx, yyy, InterpAAA*10) %multiply the data by 1e2 - NOT OK 

我想這可能是由於渲染方法。您可以嘗試調用set(gcf,'renderer','paint');。它適用於我的機器,但速度很慢。

+0

非常感謝Macduff。和你一樣,如果我把它放大,它也適用於我。 – Yossiri