1.27.2009

Octave-畫出ODE解的圖

目前看matlaab的書好像都沒有介紹到
怎麼畫出像工程數學教科書中的圖形
每次看到他的解就覺的很炫
但是即使有了像matlab、Octave這樣的好工具
也只會畫特解,而不會畫像
y''+0.2y'+4.01y=0
這樣一個簡單方程式的圖
更不用說難一點的了

目前只想到用以下的方法來畫出自己想要的圖形
以 y=exp(-cx)*sin(2x)來說 ( c為常數,程式中的圖形c = 0.1, 0.2, 0.3, 0.4, 0.5)
想將其圖形畫出,但又不想自己判別x的切割數
因此,以fplot直接畫出方程式的圖形
而在這邊需要用的到方式就是對「方程式的字串」進行處理
方法也很簡單,只要將方程式切割,再把字串合併畫出即可
不好意思,我對matlab這種語言真的不熟,所以這方式感覺不是很好
不過能畫出我要的圖也就夠了
如果有人可以提供更好的方式,請指導一下囉~

fplot('exp(-0.1*x)*(sin(2*x))', [0 30], 'b')
hold on
for ii = 2:5,
 fplot(strcat('exp(-0.1*', num2str(ii), '*x)*(sin(2*x))'), [0 30], 'b'),
end;
fplot('exp(-0.1*x)', [0 30], 'y')
fplot('-exp(-0.1*x)', [0 30], 'y')
grid on
hold off


圖形如下:

沒有留言: