matlab編程教程 matlab 教程?
matlab 教程?Matlab只是一個軟件,是用來完成力學(xué)計算的。如何安排這些計算,需要用戶掌握最基本的數(shù)學(xué)概念。本文將介紹工程數(shù)學(xué)中常用的數(shù)學(xué)概念,看似與matlab無關(guān),實則是matlab的基

matlab 教程?
Matlab只是一個軟件,是用來完成力學(xué)計算的。如何安排這些計算,需要用戶掌握最基本的數(shù)學(xué)概念。本文將介紹工程數(shù)學(xué)中常用的數(shù)學(xué)概念,看似與matlab無關(guān),實則是matlab的基礎(chǔ)。
1.價值觀和符號
如果把工程數(shù)學(xué)問題分類,最大的兩個肯定是數(shù)值問題和符號問題,對應(yīng)matlab的數(shù)值運算和符號運算。簡而言之,數(shù)值運算就是知道所有變量的值,并求解出一些特定的值。符號運算正好相反,不要求所有變量都是已知的,求解的結(jié)果也不是變量的具體值,而是變量之間的關(guān)系。一個簡單的例子是
數(shù)值問題:解一元二次方程,ax2 bx c=0,其中a=b=c=1,結(jié)果一定是x=什么時間,什么時間,什么時間,I,它是一個復(fù)數(shù),是一個具體的數(shù)值。
符號問題:解一元二次方程,ax2 bx c=0,結(jié)果一定是x=根公式,是abc的函數(shù),是一個關(guān)系式。
可見,一個問題是數(shù)值問題還是符號問題,很大程度上取決于結(jié)果需要用一個數(shù)值還是一個關(guān)系來解決。當(dāng)然,兩個問題也可以相互轉(zhuǎn)化,比如一個數(shù)值問題的一元二次方程。一般我們會先將其轉(zhuǎn)化為一個符號問題,將abc代入根公式,求出變量x的具體值,但在實際操作中,一般不建議這樣做,因為matlab的數(shù)值和符號是完全不同的系統(tǒng),相互轉(zhuǎn)換不僅需要冗余的數(shù)值符號轉(zhuǎn)換語言,還可能給錯誤檢查帶來不便。
2.典型的數(shù)值問題
以下是常見的數(shù)值問題,文中提到的解法可以在《數(shù)值計算》、《科學(xué)計算》、《數(shù)值算法》等書籍中找到。
2.1代數(shù)方程
代數(shù)方程可分為線性方程和非線性方程。一般可將線性方程轉(zhuǎn)化為矩陣形式AX=b,求A的逆。通常,求解反問題的數(shù)值方法包括高斯-賽德爾迭代、超松弛迭代等。一般將非線性方程轉(zhuǎn)化為f(x)=0,其中x是向量,右邊的0表示f是多輸出函數(shù)。數(shù)值解一般都是迭代的,比如牛頓迭代,最速梯度,點斜率。
2.2常微分方程
常微分方程一般轉(zhuǎn)化為Dy=f(y,t),y(0)=y0為初始條件,其中y和Dy為向量,f也是多輸出函數(shù)。數(shù)值解法有歐拉法和龍格-庫塔法。
2.3偏微分方程
偏微分方程比較復(fù)雜,matlab處理偏微分方程不專業(yè)。我?guī)缀醪挥胢atlab來處理這類問題。但在工程數(shù)學(xué)中,偏微分方程有兩種解法,差分法和有限元法。差分方法需要采用中心差分、迎風(fēng)差分等。有限元法需要計算剛度矩陣。
2.4插值和擬合
插值和擬合是兩個完全不同的數(shù)學(xué)概念,雖然很多人會混淆。對兩者的描述可以總結(jié)為:知點(x1,y1),(x2,y2).(xn,yn)在函數(shù)上,求一個已知的x和對應(yīng)的y的值,多項式插值和三次樣條插值是常用的。擬合的本質(zhì)是一個優(yōu)化問題,其中最常用的擬合是線性擬合,求解方法是最小二乘法。
2.5離散周期傅立葉變換
嚴格來說,這不是一個數(shù)學(xué)問題,而是一種運算方式,就像加減乘除一樣。特殊性在于,這個變換是對一個向量進行的,運算后的結(jié)果還是一個向量。這里提出來強調(diào)這種傅里葉變換的局限性,需要離散周期,這是唯一可以用數(shù)值方法處理的傅里葉變換。
2.6優(yōu)化問題
優(yōu)化問題比較寬泛,一般可以歸結(jié)為求目標函數(shù)f(x)的最大值或最小值,其中f是單個輸出函數(shù),x是一個向量。其中x需要滿足線性約束、非線性約束以及上和l
以下是常見的符號問題,需要特別指出的是無解。在數(shù)值問題中也有一些無法解決的問題,但在大多數(shù)項目中是無法觸及的。相反,我們遇到的大多數(shù)符號問題都無解,或者準確地說,沒有解析解。比如求解一元五次方程,我們知道x和這些系數(shù)有關(guān)系,但是我們寫不出顯式,也就是沒有解析解。
3.1遞歸轉(zhuǎn)移項
這個問題可以總結(jié)為:已知xn ^ 1=f(xn),求xn在數(shù)列推導(dǎo)中是常見的。
3.2代數(shù)方程
與數(shù)值問題中的代數(shù)方程不同,這里的代數(shù)方程問題可以描述為:f(x,c)=0,x=x(c)。這里需要解決的其實是x和c的關(guān)系。
3.3常微分方程
不同于數(shù)值問題中的常微分分式方程,這里的代數(shù)方程問題可以描述為:Dy=f(y,t,c),求y=x(t,c),一般不需要初值條件。
3.4符號整合
與數(shù)值問題中的數(shù)值積分不同,這里的符號積分可以描述為:知道函數(shù)關(guān)系y=f(x),求y的不定積分,同樣的問題是符號求導(dǎo)。
matlab最基礎(chǔ)的課程(1):軟件的基本概念
如果是第一次使用matlab,建議閱讀本教程。基于2017a版本,適用于2014a及以后版本,之前版本未測試。結(jié)合近兩個月在壇子里回答的問題,整理成一個水平有限的教程。歡迎指正。
的接口
在主頁選項卡下,找到要設(shè)置/重置的布局,您可以設(shè)置每個部分的顯示和隱藏。有幾個部分,請一定要出示。
當(dāng)前文件夾:中文一般翻譯成工作路徑,一般設(shè)置為有讀寫權(quán)限的自建文件夾,比如在我的文檔下建立一個matlab文件夾。
命令窗口:字面意思是命令窗口,用來運行代碼。所有的密碼都在這里輸入。
Workspace:字面意思是工作區(qū),但實際上是暫時存放所有運行結(jié)果的地方。“臨時”的具體含義是關(guān)閉matlab后會丟失。
2.軟件中的基本概念
2.1功能
matlab之所以強大,是因為它提供了大量的函數(shù),你也可以通過:Home-gtNew-gtfunction來構(gòu)建自定義函數(shù)。自定義函數(shù)通常保存在工作路徑中。函數(shù)文件的特點是:擴展名m,第一行內(nèi)容以函數(shù)開頭,后面的內(nèi)容是“輸出變量=函數(shù)名(輸入變量)”。并且函數(shù)名和文件名相同。
每個函數(shù)都在命令窗口中運行,以完成特定的計算任務(wù)。運行方式是輸入“輸出變量=函數(shù)名(輸入變量)”然后回車。比如系統(tǒng)自帶的一個函數(shù),求絕對值。函數(shù)名是abs,所以在命令窗口輸入“a=abs(-1)”,結(jié)果會是“a=1”。并且操作的結(jié)果將在Workspace中顯示變量A。雙擊后,可以看到A的值為1。
2.2腳本
可以理解為特殊功能。這個函數(shù)內(nèi)容的開頭沒有函數(shù)行,所以沒有輸入輸出變量,也沒有函數(shù)名。文件擴展名和函數(shù)一樣是M,也需要在命令窗口運行。腳本都是用戶自己創(chuàng)建的。方法是:Home-gtNew腳本。一般保存在工作路徑中。腳本的作用是完成用戶需要的復(fù)雜計算任務(wù)。通常,腳本中會調(diào)用許多函數(shù)。
2.3圖形用戶界面
一般翻譯為interface,意思是人機交互界面。寫腳本處理問題有點麻煩,讓人看起來更像碼農(nóng),所以現(xiàn)在很多問題在界面上點點鼠標就能解決。這時候就需要打開界面了。打開方法是:你可以在APPS標簽頁找到所有已安裝的GUI工具,點擊即可。注意右邊有一個可以打開的小三角形。和功能一樣,用戶也可以建立自己的自定義GUI,對于初學(xué)者來說比較復(fù)雜,有點遙遠。
2.4工具箱
一般翻譯成工具箱,matlab把一組功能相似的函數(shù)和GUI或者自帶的應(yīng)用打包成一個工具箱。購買正版matlab時,幾乎每個工具箱都是單獨收費的,所以工具箱也可以理解為matlab產(chǎn)品的一個模塊,一個工具箱就是一個p
一般用matlab解決問題的流程是:用戶定義腳本,在命令窗口運行腳本。腳本的運行邏輯是順序執(zhí)行,就像一般的編程一樣。Simulink提供了另一種思路,圖形化編程,有點像labview。這種方法非常適合物理模型的仿真,所以有時會被“matlab編程”和“simulink仿真”所強調(diào)。要使用它,請單擊主頁選項卡下的simulink。
尋求幫助
有四種常見的獲得幫助的方式。
在主頁選項卡中,有一個幫助標志。點擊后,可以獲得每個工具箱/產(chǎn)品的完整幫助文檔。在新版本中,默認使用online,使用本地幫助的方式是在home選項卡中選擇installed locally,在Preferences下選擇matlab/Help。
在官網(wǎng)找支持,然后就可以得到教程了。通過這種方法獲得的幫助文檔與通過第一種方法獲得的幫助文檔相同。
在命令窗口中輸入doc函數(shù)名以獲得幫助。例如,輸入#34doc fft#34可以獲得幫助和離散傅里葉變換函數(shù)fft的例子。通過這種方法獲得的文檔是前兩種方法的文檔的一部分。當(dāng)然,前提是你得知道函數(shù)的名字,才能找到幫助。這種方法適用于獲取系統(tǒng)自身功能的指令。
使用GUI時,通常在界面的角落會有幫助。單擊它以獲取幫助。通過這種方法獲得的文檔是第一和第二種方法的文檔的一部分。該方法適用于獲取系統(tǒng)自帶GUI的用戶指令。
在幾種方法中,最常用的是第三種。只要知道需要的函數(shù)名,就可以通過這種方式得到說明和例子。在實際使用中,常用的系統(tǒng)都有自己的功能,功能不多,大概幾十個。真正記住怎么用的方法只有幾種。通常,你知道這個函數(shù)的名字,當(dāng)你想使用它的時候,就把它存放起來。