數學建模 MATLAB 暑期培訓

2021-03-24 17:16:48 字數 5954 閱讀 2351

數學建模暑期培訓-matlab軟體

莊思發1 熟悉軟體操作介面

1.1 命令視窗

matlab執行命令的主視窗,命令於提示符 「>>」之後輸入,回車確認執行;

1.2 命令歷史視窗

顯示使用者過去所使用過全部命令,可雙擊後重新執行,避免重新輸入命令,或使用上、下方向鍵調出修改後再重新執行;

1.3 工作空間視窗

顯示當前matlab在計算機記憶體中存在的變數、資料等詳細資訊,以便使用者檢視,可刪除其中若干個或全部刪除;

1.4 當前工作目錄視窗

顯示使用者當前工作時所處在的目錄位置,該目錄是使用者存放及開啟檔案時matlab指向的預設目錄,可通過其目錄選擇器重新指向新使用者目錄;在該視窗中可以觀察到當前目錄中所有檔案的詳細情況,可以直接選定某人檔案,通過單擊右鍵執行或開啟該檔案進行編輯。

2 基本運算

2.1 四則運算

2.2 乘方、開方 「^」 sqrt( )

例::>>2^3>>2^(1/3) ↙

2.3 指數函式 exp(x),:exp(1);;:exp(2);

2.4 標點符號逗號(,)輸出結果;分號(;)不輸出結果

2.5 常量與變數

常量圓周率:pi;無窮大:inf;等

變數定義變數不必事先宣告,matlab會通過變數所獲得的值自動識別,變數名必須以字母開頭,後可接字母、數字或下劃線,不可使用空格與標點符號;

注意:變數名區分大、小寫;

2.6 常用函式:

三角函式

sin(x)、cos(x)、asin(x)、acos(x)、tan(x)、atan(x)、cot(x) acot(x).

指數、對數函式

exp(x) log(x) log10(x) log2(x).

四捨五入

round(x)

求餘mod(x,y):餘數符號與y相同;

rem(x,y):餘數符號與x相同.

捨入函式

fix(x):與零最接近的整數;

floor(x):不大於x的整數;

ceil(x):不小於x的整數.

求模(絕對值)

abs(x)

3 數值運算

3.1 向量運算

向量(陣列)表示

元素用中括號括起,元素間用逗號或空格或分號隔開;

例:>>a=[2 4 6 7 8] ↙ >>b=[1;4;7;9] ↙

等差向量

冒號生成法初值:步長:終值;

例:>>c=1:10;↙ >>d=1:0.5:10↙

linspace(初值,終值,分段數)

例:>>e=linspace(1,10,10)↙ >>linspace(0,10,6)↙

向量(陣列)運算

向量(陣列)與常數的加、減

例:>>a=[2 3 5] ↙ >>a+3,a-2↙

向量(陣列)與常數的乘、除

例:>>a*2,a/3↙

向量與向量的加、減法:元素個數必須相同

例:>>a=[1 3 5],b=[2,4,6],c=1:4,a+b,a-b,a+c↙

向量點積:dot(a,b);向量維數不超過3

例:>>dot(a,b)↙

向量叉積:cross(a,b);向量維數不超過3

例:>>cross(a,b)↙

陣列的乘、除:.*;./;

例:>>a.*b, a./b↙

陣列的乘方:.^

例:>>a.^2↙

向量(陣列)元素的選取

單下標a([ ])

例:>>a=1:10;a(7)↙%選取向量a的第七個元素

例:>>a([1 3 7])↙%選取向量a的第1、3、7個元素

向量(陣列)排序

sort(a):從小到大;

例:>>a=rand(1,10),sort(a)↙%產生10個元素的行向量,並進行公升序排列

向量(陣列)長度或大小的檢測

length(a);

例:>>length(a)↙%顯示向量元素個數

size(a)

例:>>size(a) ↙ %將以向量形式顯示矩陣a的行數與列數

向量(陣列)求和

sum(a)

例:>>sum(a)↙%求向量a的元素總和

向量與多項式

表示::(降冪排列)

例:,,則該多項式在matlab中可如下表示

>>p1=[1 3 0 2 3],p2=[0 1 2 0 1]↙

多項式相加、減:向量的相加、減(注意補零)

例:>>p1+p2,p1-p2↙

多項式的積:conv(p1,p2);

例:>>conv(p1,p2)↙

多項式的除:deconv(p1,p2);[q,r]=deconv(p1,p2)

例:>>deconv(p1,p2)↙%只輸出商式

>>[q,r]=deconv(p1,p2)↙%輸出商式與余式

3.2 矩陣(多元陣列)運算

矩陣(多元陣列)表示

元素用中括號括起,元素間用逗號或空格分列,用分號分行;

例:矩陣,在matlab中可如下輸入:

>>a=[1 6 5;3 9 4;8 6 2]↙

特殊矩陣

全1矩陣與全零矩陣:ones(m,n);zeros(m,n);作用:預分配空間

例:>>ones(3)↙%產生3階全1方陣

>>ones(3,4)↙%產生3行4列的全1矩陣

隨機矩陣:rand(m,n):產生元素介於0,1之間的矩陣

例:>>rand(3),rand(3,4)↙%分別產生3階與3行4列隨機矩陣

矩陣(多元陣列)的運算

矩陣(多元陣列)與常數的加、減

例:>>a+3↙ >>a-3,5-a↙

矩陣(多元陣列)與常數的乘、除

例:>>a*3↙ >>a/2↙

矩陣與矩陣的加、減法:形狀大小必須相同

例:>>a+b↙ %a,b行、列數相同

矩陣與矩陣的乘、除法:*;與/ 或 \:遵循矩陣乘除運算法則

例:>>a*b,a/b↙ %矩陣b的行列式不為0

矩陣的乘方:^:要求為方陣

例:>>a^2↙

多元陣列的乘、除法

例:>>c.*3↙ >>c./2↙ %矩陣c的每個元素與常數相乘除;

多元陣列的乘方:.^

例:>>c.^3↙ %計算c的第個元素的立方。

矩陣(多元陣列)元素的選取

單下標a(m)或雙下標a(i,j) a([1 3],[2 4])

矩陣(多元陣列)的排序

sort(a,1):按列方向排序;sort(a,2):按行方向排序

矩陣(多元陣列)大小的檢測

size(a):顯示行數與列數

矩陣(多元陣列)的求和

sum(a,1):按列方向求和;sum(a,2):按行方向求和;

矩陣與線性代數

矩陣的行列式:det(a)

矩陣的逆:inv(a),其中a的行列式不為0

矩陣的轉置:a』

矩陣的特徵值與特徵向量:[v,d]=eig(a):

線性方程組的解:a\b:a:係數矩陣;b:常數列向量

3.3 簡單數理統計

算術平均值

mean(a)或mean(a,1)或mean(a,2):a是向量或矩陣

方差var(a):a是向量或矩陣

標準差std(a) :a是向量或矩陣

4 符號運算

4.1 符號變數、表示式的定義

符號變數的定義

>>sym(『a』) ↙ >>sym(『a*x+b』) ↙ %用sym直接定義符號表示式;

>>syms x y z t …↙ %用syms函式定義多個符號變數

符號表示式輸入

>>syms x↙

>>y=f(x)↙或》sym(『f(x)』)

4.2 符號表示式的操作

四則運算

使用通常運算子

化簡>>simplify(s)

合併同類項

>>collect(s,v)

因式分解

factor(s):s為符號表示式則進行因式分解,s為常數則進行因子分解

替換求值

>>subs(s,』v』,a) %用數值a的值替換表示式中指定變數v;

>>subs(s,』v』,』t』)%用新變數t替換表示式中指定變數v。

4.3 微積分運算

極限limit(s,』v』,a,』right』或』left』)

微分diff(s,』v』,n)

積分int(s,』v』,lb,ub)

4.4 方程求解運算

一般方程(組)

solve(『eq』,』v』)

[v1,v2,…,vn]=solve(『eq1』,』eq2』,…,』eqn』,』v1,v2,…,vn』)

線性方程組

linsolve(a,b):a為係數矩陣,b為常數列向量

微分方程(組):dy;:d2y;:dny;

求通解dsolve(『deq』,』v』)或dsolve(『deq1,deq2,…,deqn』,』v1,v2,…,vn』)

求特解dsolve(『deq1,deq2,…,deqn』,』y(x0)=y0,dy(x0)=y1,d2y(x0)=y2,…』,』v1,v2,…,vn』,)

5 簡單作圖

5.1 二維曲線

plot(x,y)

5.2 三維曲線

plot3(x,y,z)

5.3 多個圖形

subplot(m,n,k), 1 <= k <= m*n

5.4 特殊圖形

餅形圖pie(y);pie(y,[ explode]), explode:為要突出顯示的資料向量

條形圖bar(y):預設橫座標為自然數;bar(x,y):x為自定義橫座標

曲線擬合

polyfit(x,y,n):多項式擬合,x,y為原始資料,n為擬合多項式的次數

6 程式設計

6.1 m檔案介紹

指令碼檔案命令集合檔案,批量執行

函式檔案第一行以字句:function 開頭(7.0以上版本取消)

6.2 控制結構

順序結構

選擇結構

單個選擇

if 條件表示式

執行語句

end兩個選擇

if條件表示式1

執行語句1

else條件表示式2

執行語句2

end多個選擇

if 條件表示式1

執行語句1

elseif條件表示式2

執行語句2

elseif 條件表示式2

執行語句3

…else 條件表示式n

執行語句n

end 迴圈結構

for迴圈適合迴圈次數確定的情況

for 迴圈變數=初值:步長:終值

迴圈體endwhile迴圈適合迴圈次數不確定的情況

while 條件表示式

迴圈體end注意:while迴圈容易出現死迴圈,使用時一定要注意.若出現死迴圈,則按鍵盤:ctrl+c強制結束程式.

提示:與各種程式語言一樣,各種結構之間可以互相巢狀使用.

7 資料擬合與插值

7.1 多項式最小二乘法擬合

polyfit(x,y,n):x,y為原始資料,n為擬合的階數(次數)

7.2 一維線性插值

y0=interp1(x,y,x0):用於計算插值x0處的函式值,若省略x,則預設為自然數1-length(y).

y0= interp1(x,y,x0,『methord』):使用『methord』引數指定插值方法,『methord』可選為:

'nearest' - 線性最近項插值

'linear' - 線性插值

'spline' - 3次樣條插值

'pchip' - 3次hermite插值

'cubic' - 立方插值

7.3 lagrange插值

y0=lagrange(x,y,x0),用法與interp1類似.

數學建模MATLAB暑期實踐報告

暑期實踐報告院系 班級實踐人 時間 8月4日 9月27日 我的暑假有建模陪伴 又是乙個酷熱難耐的暑假,驕傲的太陽俯瞰著大地,幾次零星的小雨絲毫撼不動炎熱的主題。蓊蓊鬱鬱的濟大校園裡有這樣一些行色匆匆的學子,他們忙碌著,早出晚歸 他們埋頭苦幹著,廢寢忘食 他們做著自己的事情,緊張有序 他們默默等待著一...

MATLAB數學建模3廣告效應

廣告費用和效應 某裝飾材料公司欲以每桶2元的價錢購進一批彩漆。一般來說,隨著彩漆售價的提高,預期銷售量將減少,並對此進行了估算,如表1所示。表1為了盡快收回資金並獲得較多的贏利,裝飾材料公司打算做廣告。投入一定的廣告費用後,銷售量將有乙個增長,可由銷售增長因子來表示。例如,投入4萬元的廣告費,銷售增...

數學建模培訓

摘要 我利用暑假時間參加了學校組織的數學建模競賽培訓,歷時乙個月,其間掌握了許多軟體的使用方法,並親自參與到數學建模的工作當中去,學會許多課堂中學不到的東西,我從中獲益匪淺。關鍵字 數學建模 matlab軟體 spss軟體世園會三維重建 正文 我利用暑假時間參加了學校組織的數學建模競賽培訓,歷時乙個...