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