2014-02-21 3 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

Это может быть связано с графическим ограничением системы. Ваш код не работает для меня либо (Maverick 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

Смежные вопросы