matlab入门之旅,MATLAB 入门之旅学习笔记
MATLAB 入門之旅學習筆記
https://matlabacademy.mathworks.com/R2019a/cn/portal.html?course=gettingstarted
1.概述
2.1
輸入命令
1. 您可以通過在命令行窗口中
MATLAB 提示符 (>>) 后輸入命令,然后按
Enter 鍵來執行命令。
2. 除非另有指定,否則 MATLAB 會將計算結果存儲在一個名為 ans 的變量中。
7+3
ans =
10
3.
MATLAB 中的等號 (=) 為賦值運算符,表示等號右側的表達式賦給左側的變量。因此,當您輸入 x = 3+4 時,MATLAB 首先會計算 3+4,然后再將結果 (7) 賦給變量
x。
4. 請注意,工作區窗口(右側)顯示了當前位于工作區中的所有變量。
5. 在命令的末尾添加分號將抑制輸出,但仍會執行該命令,正如您在工作區中所看到的。當您輸入命令而沒有以分號結尾時,MATLAB 將會在命令行窗口中顯示結果。
x = 5+1
x =
6
x = 5+1;
6. 您可以按鍵盤上的向上箭頭鍵重新調用以前的命令。請注意,要執行此操作,命令行窗口必須為活動窗口。
7. 當您在命令提示符下僅輸入變量名稱時,MATLAB 將會返回該變量的當前值。
2.2 在變量中存儲數據
1. 您可以將 MATLAB 變量命名為符合以下規則的任何名稱:以字母開頭,并且僅包含字母、數字和下劃線 (_)。
如果您使用無效的變量名稱,MATLAB 會顯示建議的更正內容。您可以使用建議的命令、對其進行修改或按 Esc 鍵刪除建議。
2. 試著輸入以下命令,清除所有變量: clear。
3. clear 用于刪除工作區變量,clc 用于清除命令行窗口。
2.3 使用內置的函數和常量
1. MATLAB 包含內置的常量,例如
pi 表示 π。
a = pi
a =
3.1416
此外,雖然只對 π 顯示了四位小數,但它在內部是用更高的精度表示的。
2. MATLAB 包含許多內置的函數,例如 abs(計算絕對值)和 eig(計算特征值)。
a = sin(-5)
a =
0.9589
請注意,MATLAB 使用圓括號來傳遞函數輸入,與標準的數學表示法類似。
3. 現在,試著使用 sqrt 函數計算 -9 的平方根。將結果賦給一個名為 z 的變量。
3.1 手動輸入數組
1. 所有 MATLAB 變量都是數組,這意味著每個變量均可以包含多個元素。單個稱為標量的數值實際上是一個 1×1 數組,也即它包含 1 行 1 列。
2. 您可以使用方括號創建包含多個元素的數組。
x = [3 5]
x =
3??? 5
3. 當您用空格(或逗號)分隔數值時,MATLAB 會將這些數值組合為一個行向量,行向量是一個包含一行多列的數組 (1×n)。當您用分號分隔數值時,MATLAB
會創建一個列向量 (n×1)
x = [1;3]。
4. 現在,試著創建一個名為 x 的 1×3 行向量,其中依次包含值 3、10 和 5。
5. 現在,試著創建一個名為 x 的 3×1 列向量,其中依次包含值 8、2 和 -4。
6. 您可以組合使用空格和分號來創建矩陣,即包含多行多列的數組。輸入矩陣時,您必須逐行輸入它們。
x = [3 4 5;6 7 8]
x =
3??? 4??? 5
6??? 7??? 8
7. 在 MATLAB 中,您可以在方括號內執行計算。
x = [abs(-4) 4^2]
x =
4??? 16
3.2 創建等間距向量
1. 我們經常需要創建一些包含等間距數值的向量,例如:
y = [5 6 7 8]
y =
5??? 6??? 7
8
對于長向量,輸入單個數值是不實際的。可用來創建等間距向量的替代便捷方法是使用 : 運算符并僅指定起始值和最終值:first:last。
y = 5:8
y =
5??? 6??? 7
8
3. :
運算符使用默認的間距 1,但是您可以指定您自己的間距,如下所示。
x = 20:2:26
x =
20??? 22??? 24
26
4. 試著創建一個名為 x 的行向量,該向量以 3 開頭,以 13 結尾,并且每個元素的間隔為 2。
5. 如果您知道向量中所需的元素數目(而不是每個元素之間的間距),則可以改用 linspace 函數:linspace(first,last,number_of_elements)。注意,請使用逗號 (,) 分隔 linspace 函數的輸入。
x = linspace(0,1,5)
x =
0??? 0.250??? 0.500
0.750??? 1.000
6.
linspace 和 : 運算符都可創建行向量。但是,您可以使用轉置運算符 (’) 將行向量轉換為列向量。
x = 1:3;
x = x’
x =
1
2
3
7. 您可以通過在一條命令中創建行向量并將其全部轉置來創建列向量。注意此處使用圓括號來指定運算的順序。
x = (1:2:5)’
x =
1
3
5
3.3 數組創建函數
1. MATLAB 包含許多函數,可幫助您創建常用的矩陣,例如隨機數矩陣。
x = rand(2)
x =
0.8147
0.1270
0.9058
0.9134
請注意,rand(2) 命令中的 2 指定輸出將為一個 2×2 的隨機數矩陣。
2. 許多矩陣創建函數允許您輸入一個數值來創建方陣 (n×n),或者輸入兩個數值來創建非方陣。
x = rand(2)
x =
0.8147
0.1270
0.9058
0.9134??? >> x = rand(2,3)
x =
0.6324
0.2785??? 0.9575
0.0975
0.5469??? 0.9649
3. 現在,試著使用 zeros 函數創建一個包含
6 行 3 列 (6×3) 的全零矩陣。將結果賦給名為 x 的變量。
4.1 保存和加載變量
1. 您可以使用 save 命令將工作區中的變量保存到稱為 MAT 文件的 MATLAB 特定格式文件中。
save foo x
以上命令將名為 x 的變量保存到名為
foo.mat 的 MAT 文件中。
2. 現在,使用 clear 將工作區清空。
3. 您可以使用 load 命令從 MAT 文件加載變量。
load foo
5.1 對數組進行索引
1. 您可以使用行、列索引從數組中提取值。
x = A(5,7);
此語法將會提取 A 的第 5 行第 7 列的值,然后將結果賦給變量 x。
2. 您可以使用 MATLAB 關鍵字 end,作為行或列索引來引用最后一個元素。
x = A(end,2);
3. 請注意,您可以將算術運算與關鍵字 end 結合使用。例如:
x = A(end-1,end-2)
5.2 提取多個元素
1. 用作索引時,冒號運算符 (? 可指代該維度中的所有元素。以下語法
x = A(2,:)
會創建一個包含 A 中第 2 行上所有元素的行向量。
2. 冒號運算符可以引用某個值范圍。以下語法會創建一個包含矩陣 A 的第 1 行、第 2 行和第 3 行所有元素的矩陣。
x = A(1:3,:)
3. 單個索引值可用于引用向量元素。例如,以下語句
x = v(3)
會返回向量 v 的第 3 個元素(當 v 為行向量或列向量時)。
4. 單個索引值范圍可用于引用向量元素的子集。例如
x = v(3:end)
返回向量 v 的一個子集,其中包含從第三個到最后一個元素范圍內的所有元素。
5.3 更改數組中的值
1. 記住您可以使用 : 字符來提取整列數據。
2. 可以通過組合使用索引與賦值來修改變量的元素。
A(2,5) = 11
3. 現在,試著將 data 的第一行最后一列的值更改為 0.5。
6.1 執行數組運算
1.
MATLAB 的設計讓您能夠自然地處理數組。例如,您可以將一個標量值與數組中的所有元素相加。
y = x + 2
2. 您可以將任意兩個大小相同的數組相加。
z = x + y
3. 您可以將數組中的所有元素與某個標量相乘或相除。
z = 2*x
y = x/3
4.
MATLAB 中的基本統計函數可應用于某個向量以生成單個輸出。可以使用 max 函數來確定向量的最大值。
xMax = max(x)
5. MATLAB 的函數可在單個命令中對整個向量或值數組執行數學運算。
xSqrt = sqrt(x)
6. *
運算符執行矩陣乘法。因此,如果您使用 * 將兩個大小相同的向量相乘,則由于內部維度不一致,您將會收到一條錯誤消息。
z = [3 4] * [10 20]
用于矩陣乘法的維度不正確。請檢查并確保第一個矩陣中的列數與第二個矩陣中的行數匹配。要執行按元素相乘,請使用 ‘.*’。
而 .* 運算符執行按元素乘法,允許您將兩個大小相同的數組的對應元素相乘。
z = [3 4] .* [10 20]
7.1 從函數調用獲取多個輸出
1. size 函數可以應用于數組,以生成包含數組大小的單個輸出變量。
s = size(x)
2.
size 函數可以應用于矩陣,以生成單個輸出變量或兩個輸出變量。使用方括號 ([ ]) 獲取多個輸出。
[xrow,xcol] = size(x)
3. 可以使用 max 函數確定向量的最大值及其對應的索引值。max 函數的第一個輸出為輸入向量的最大值。執行帶兩個輸出的調用時,第二個輸出為索引值。
[xMax,idx] = max(x)
8.1 獲取幫助:? (2/2) 練習
1. 您可以輸入
doc fcnName
以獲取任何 MATLAB 函數的相關信息。
2.
MATLAB 文檔包含許多有用的示例和信息,可幫助您自行處理問題。
9.1 繪制向量圖
1. 可以使用 plot 函數在一張圖上繪制兩個相同長度的向量。
plot(x,y)
2.
plot 函數接受一個附加參數,該參數讓您能夠在單引號中使用各種符號來指定顏色、線型和標記樣式。
plot(x,y,‘r–o’)
以上命令將會繪制一條紅色 ? 虛線 (–),并使用圓圈 (o) 作為標記。您可以在線條設定的文檔中了解有關可用符號的詳細信息。
3. 您會注意到,最開始創建的繪圖消失了。要在一張圖上先后繪制兩條線,請使用 hold on 命令保留之前的繪圖,然后添加另一條線。您也可以使用 hold off 命令返回到默認行為。
4. 任務
現在繪制 mass1(y 軸)對 sample(x 軸)的圖,并帶有黑色
(k) 方形 (s) 標記,不帶線條。(線條設定選項)
5. 任務
試著輸入 close all 命令以關閉所有打開的圖窗窗口。
6. 當您單獨繪制一個向量時,MATLAB 會使用向量值作為 y 軸數據,并將 x 軸數據的范圍設置為從 1 到 n(向量中的元素數目)。
任務
使用以下命令繪制向量 v1。
plot(v1)
7. plot 函數接受可選的附加輸入,這些輸入由一個屬性名稱和一個關聯的值組成。
plot(y,‘LineWidth’,5)
以上命令將繪制一條粗線。您可以在 Line 屬性文檔中了解更多可用屬性的詳細信息。
8. 使用 plot 函數時,您可在繪圖參數和線條設定符之后添加屬性名稱-屬性值對組。
plot(x,y,‘ro-’,‘LineWidth’,5)
9.2 編寫繪圖注釋
1. 可以使用繪圖注釋函數(例如 title)在繪圖中添加標簽。這些函數的輸入是一個字符串。MATLAB 中的字符串是用單引號 (’) 引起來的。
title(‘Plot Title’)
//在圖頂上
2. 任務
使用 ylabel 函數添加標簽
‘Density (g/cm^3)’。//在y軸上
9.3 “繪圖”選項卡
1.選擇要繪制的變量
2.選擇plots和繪制的類型
3.選擇兩個變量繪圖
10.1 項目 - 用電量
1.使用 legend 函數指定圖例。
legend(‘a’,‘b’,‘c’)
任務
在現有繪圖上添加圖例值 ‘res’、‘comm’
和 ‘ind’。
12.3 邏輯索引
2. 試著創建一個名為 s 的變量,其中包含
sample 中與 v1 中小于 4 的元素所在位置對應的元素。
s = sample(v1 < 4)
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的matlab入门之旅,MATLAB 入门之旅学习笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 哈理工OJ 1184 早起一水(水题)
- 下一篇: matlab查表svpwm,SVPWM的