1.matlab 中對(duì)于任意底的對(duì)數(shù),可以使用換底公式轉(zhuǎn)換為用以上任一種對(duì)數(shù)函數(shù)表示的式子。
自然對(duì)數(shù)函數(shù)ln()用log()表示赛糟;對(duì)于常用的如以2、10為底的對(duì)數(shù)砸逊,分別用log2()和log10()表示璧南。
2.e^(n)在matlab中寫成 exp(n)。
3.lambertw是朗伯W函數(shù)
W = lambertw(X)表示為we^w=x;
lambertw(x,k)表示多值函數(shù)的第K個(gè)分支师逸,也就是說(shuō)MATLAB把等式用這個(gè)表示函數(shù)表示了司倚,并不算解出最終結(jié)果。
所以要在MATLAB窗口中繼續(xù)輸入:x=-lambertw(0, -5/22)篓像,得到的x=0.3098才是最終結(jié)果动知。
4.diff(f(x)),代表著對(duì)單變量函數(shù)求一階導(dǎo)數(shù)员辩。pretty(ans)盒粮,將當(dāng)前變量顯示為我們常用的書面形式。
diff(函數(shù)),求的一階導(dǎo)數(shù)奠滑;diff(函數(shù),n),求的n階導(dǎo)數(shù)(n是具體整數(shù))丹皱;diff(函數(shù),變量名),求對(duì)的偏導(dǎo)數(shù)妒穴;
5.反三角函數(shù)在matlab中定義方式:
(1)弧度值反三角函數(shù):asin()——反正弦;acos()——反余弦摊崭;
atan()——反正切讼油;acot( )——反余切
(2)角度值反三角函數(shù):asind()——反正弦;acosd()——反余弦呢簸;atand()——反正切矮台;
acotd( )——反余切
6.隱函數(shù)求導(dǎo):例如用matlab求隱函數(shù)y = tan(x+y)的導(dǎo)數(shù)。
syms x y
F = y - tan(x+y)% 隱函數(shù)F = y - tan(x+y) = 0
dy1 = - diff(F,x)/diff(F,y)%一階導(dǎo)數(shù)
dy2 = diff(dy1,x) + diff(dy1,y)*dy1;%二階導(dǎo)數(shù)
dy2 = simplify(dy2)
(1)simplify 函數(shù)對(duì)表達(dá)式進(jìn)行化簡(jiǎn)阔墩;
(2)radsimp函數(shù)對(duì)含根式的表達(dá)式進(jìn)行化簡(jiǎn)嘿架;
(3)combine 函數(shù)將表達(dá)式中以求和、乘積啸箫、冪運(yùn)算等形式出現(xiàn)的項(xiàng)進(jìn)行合并耸彪;
(4)collet合并同類項(xiàng)
(5)factor函數(shù)實(shí)現(xiàn)因式分解
(6)convert函數(shù)完成表達(dá)式形式的轉(zhuǎn)換
7.求偏導(dǎo)數(shù):
syms x t;
z = sin(x*t^2)
ddt = diff(z, t)? ? %? 對(duì)t偏導(dǎo)
ddx = diff(z, x)? ? %? 對(duì)x偏導(dǎo)
ddtx=diff(ddt,x) ?%先對(duì)t求偏導(dǎo),再對(duì)x求偏導(dǎo)
ddnx=diff(z,t,4) ?%對(duì)t求4階偏導(dǎo)
8.solve求解:
首先來(lái)求一個(gè)二元一次方程組
9x+8y=10???????? ?式1
13x+14y=12????? 式2
我們一般的解法是代入法忘苛,或者加減消去法蝉娜。比較繁瑣。
這里我們只需輸入如下命令即可求出解:
[x,y]=solve('9*x+8*y=10','13*x+14*y=12','x','y')
9.fsolve求解:
用fsolve函數(shù)求解:
x1-0.7sinx1-0.2cosx2=0
x2-0.7cosx1+0.2sinx2=0
先編制函數(shù)文件fc.m如下:
%fc.m
function y=fc(x)
y(1)=x(1)-0.7*sin(x(1))-0.2*cos(x(2));
y(2)=x(2)-0.7*cos(x(1))+0.2*sin(x(2));
y=[y(1) y(2)];
在Matlab窗口中輸入:
x0=[0.5 0.5];
fsolve('fc',x0)
ans =? 0.5265? ? 0.5079
10.符號(hào)微分方程求解
dsolve的用法:
Examples:
dsolve('Dx = -a*x') returns
ans = exp(-a*t)*C1
x = dsolve('Dx = -a*x','x(0) = 1','s') returns
x = exp(-a*s)
y = dsolve('(Dy)^2 + y^2 = 1','y(0) = 0')? returns
y =
[? sin(t)]
[ -sin(t)]