定義符號(hào)
syms x
等同于
sym('x')
解多元一次方程組
最后的
A
變量是一個(gè)struct,通過(guò)A.x
查看x的值彤枢,X.y
查看y的值
符號(hào)化
解方程
matlab自動(dòng)認(rèn)未知數(shù)贷洲,按26各英文字母排列,以距離x的遠(yuǎn)近定義围俘,離x越近的砸讳,定為未知數(shù)。
例如解這個(gè)方程
可以用(注意在新版本matlab中界牡,solve中的方程式不加引號(hào))
syms x a b
solve(a*x^2-b)
結(jié)果(自動(dòng)按照x為未知數(shù))
ans =
b^(1/2)/a^(1/2)
-b^(1/2)/a^(1/2)
若要把b當(dāng)作未知數(shù)簿寂,可以
syms x a b
solve(a*x^2-b,b)
求導(dǎo)
例如求這個(gè)函數(shù)的導(dǎo)數(shù)
syms x
y = 4*x^5;
yprime=diff(y)
結(jié)果
yprime =
20*x^4
積分
例如求
syms x
y = x^2*exp(x);
z=int(y)
求解出
z =
exp(x)*(x^2 - 2*x + 2)
符號(hào)數(shù)值代入
我們?nèi)绻M汛颂幍膞的值代入z中,可以用subs()
函數(shù)
subs(z,x,0)
此處相當(dāng)于求z(x=0)的值宿亡。
這樣我們就能得到剛才積分的常數(shù)C了常遂。
最終腳本
syms x
y = x^2*exp(x);
z=int(y);
z=z-subs(z,x,0)
注意,此處用int(y)
求不定積分她混。如果要求定積分烈钞,可以用int(y,0,10)
類(lèi)似的語(yǔ)句定義上下限泊碑。
fsolve
Function Handle
matlab中,@
表示Function Handle坤按,即函數(shù)指針。
我們可以在函數(shù)調(diào)用的xy_plot(@sin,1:pi/10:pi)
馒过,這里使用@
相當(dāng)于傳入函數(shù)指針臭脓。
求解
例如求解
可以用
fsolve(function_handle,init_guss_value)
求解腳本:
f2 = @(x) (1.2*x+0.3+x*sin(x));
fsolve(f2,0)
fzero
類(lèi)似fsolve
,都是求解為0時(shí)的解。但是fzero
不能求解那些不穿過(guò)x軸腹忽,(即使和x軸相切)的方程来累。
例如
f =@(x) x.^2;
fzero(f,-0.1)
fsolve(f,0.1)
這里砚作,fzero求不出解,而fsolve可以嘹锁。
(單元非線性方程可用fzero,多元非線性方程可用fsolve)
optimset設(shè)置進(jìn)階選項(xiàng)
可以參考
optimset官方文檔
optimset
例如關(guān)閉多余幫助顯示
options=optimset('Display','None');