MATLAB入門學習(七)


開始,線性代數和微積分了,不怕、不怕、QTBTXJ5ZR}NO77FB$G0D0KN

 

背命令就行了。。。

 

線性代數

解線性方程組:

Ax=b

A是系數矩陣,x未知數,b是列向量

如果有唯一解,直接x=b\A

第二 B=null(A,'r')求Ax=0的基礎解系,B的列向量就是基礎解系的列向量

C=null(A) 求出基礎解系后將基礎解系向量正交單位化存在C中

C=rref(A)求A的行最簡形

結合之前學過的一些矩陣的命令比如rank,inv可以很好的解決線性方程組的問題。

 

怎么解線性方程組?先求Ax=0的基礎解系,然后找Ax=b的一個特解。。。 ●▽●

 

然后,求特征值和特征向量

D=eig(A) 得到A的特征值

[Q,d]=eig(A) Q代表A的特征向量,d是對角矩陣,對角上的元素就是A的特征值

poly(A)求A 的特征多項式的系數

poly2str(poly(A),'x')這個可以顯示多項式

orth(A)化為正交矩陣

 

然后沒什么了。。。背吧背吧。。。╮(︶﹏︶")╭

 

微積分

首先介紹一下matlab里的符號計算

符號變量可以看成是數學中含參數 的表達式中的參數

也就是說matlab也是能進行像(a+b)(a-b)=a^2-b^2這樣的計算的

要進行符號計算首先要定義符號變量

定義符號對象的命令是sym和syms

f=sym(s)表示把數字、字符串或者表達式s轉化成符號變量f

然后syms可以將多個字符轉化為符號變量

比如syms x y z;

這就是將x y z轉化為符號變量

下面寫個簡單的例子(〃'▽'〃)~

syms a b
fab = (a + b)*(a - b)

DHLLF49GB`CESL45EG_AYAL

 

下面介紹一些符號計算常用的命令~~~

collect 合並同類項
expand 展開表達式
factor 因式分解
numden 得到表達式的分子和分母
simplify 化簡符號表達式
subs 將符號表達式的便令用其他符號或者數字代替

舉一些例子:

%}VR8CGG~ON@UST8{J5QCEK

2)T6`Y6H({9V2AQMAH6TR1L

具體的用法可以使用help命令查看~~~

 

下面開始微積分

 

第一部分:求極限

使用命令limit

 

這個的用法help寫的簡單明了

)}8`O5NQ)ZSMPV@T@1PFF`S

 

 

 

還可以求左右極限

寫一道極限那一章的一個經典例題,還記得夾逼准則嗎?K95L`@[PW_YO3YOEF8I}8KE


]F)9%L(50(8CLA{~FA22~HY

 

第二部分:求積分

使用命令int

可以求定積分或不定積分

int(f,x)就是求不定積分

要求定積分在后面加一個區間就行了

比如int(f,x,0 ,1)

f也可以是含參變量的函數

int的第二個參數就是來指定被積的變量的

如果f只有一個符號變量那么第二個參數可以省略。 例如:01%)_4XG7Y$EE6KX9O47M1F

這是一個二重積分計算的例子:

K$TG)Z@16Y1)1%%~J6~23F3更高次的積分就依此類推啦~

 

第三部分:求微分

就是求導數啦~(*^__^*)

使用命令diff

diff(f,x,n)
對f關於x求n次導數

n=1的時候可以省略不寫

 

第四部分:級數求和

使用命令symsum

s=symsum(an,n,a,b)
求Σan,n=a……b

 

 

 

 

無窮寫作inf

一個小例子:3{R3F_WU3PJX[0`D_G1DD%B

 

另外一方面就是泰勒級數展開了,使用命令taylor

r=taylor(f,n,x,a)


求f在x=a處的n-1階泰勒展開式,注意是n-1階哦~
(^_−)☆

a不寫的話默認為0 n不寫的話默認為7

HNX0H{DOY(ZN(9[C[)CE@)2

 

此外matlab還提供了泰勒技術逼近分析工具
輸入taylortool即可打開這個工具進行使用,
具體的還請自行研究,我不學了。。。✧(^_-✿

 

最后是解方程

這里就不僅限於線性方程

首先我們看看多項式求根~

在matlab里面一個行向量還可以表示一個多項式~~~
例如x^4-3*x^3+2*x-1

可以用向量表示為p=[1 -3 0 2 -1]

也就是將系數按照降冪排列寫在向量里面

注意上面沒有二次項要在對應的位置寫上0不然會出錯喔~

之后就可以用命令roots來求這個多項式的根

x^3-1也能求出虛數根的~
}G}]09}@7HKNG6E54S))UWN

 

下面是代數方程(組)求解

用到的命令是solve

g = solve(eq) 對eq的默認變量進行求解
solve(eq,var) 對指定變量var求解
sovle(eq1,eq2,...,eqn) 對方程組eq1,2,...n,進行求解

下面舉個例子:生成的結果是一個結構體s

()YX72J%GPL56]Q_UW{J(GK    或者:PB)5YFWA@_C7FHTO)D62WF1

 

 

 

還有最后一個命令fzero

fzero(fun,x)    可以求fun在x附近的零點。。。

 

那么微積分這一部分就講完啦!!!

 

概率論與數理統計還沒學完,統計功能我先不寫了。。。其實簡單的,也就是一些命令,要用查就行了嘛~

線性規划什么的,運籌學我也沒學過,那先不學了。。。(((┏(; ̄▽ ̄)┛(逃

 

今天用MATLAB導入數據做分析來着,但好累啊不想寫了。。。

 

目前我也沒有時間更深入學習MATLAB了,要准備比賽和准備考試,感覺下個月要爆炸

..(。•ˇ‸ˇ•。)~o(>_<)o ~(ಥ﹏ಥ)。。寶寶要做個堅強的孩子!

 

 

入門就這樣了。。完了完了。。。

看藍貓學藍貓,我有姿勢我驕傲~~再見~~/(ㄒoㄒ)/~~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM