天天看點

matlab 找到數組中第一個不連續點_學習筆記|MATLAB5 數組計算、調用函數、擷取幫助...

5.1 數組計算

5.2 調用函數

5.3 擷取幫助

數組計算

MATLAB的設計讓您能夠自然地處理數組。例如,您可以将一個标量值與數組中的所有元素相加。

y = x + 2

将 1 與 v1 的每個元素相加,然後将結果存儲在名為 r 的變量中。

r=v1+1

您可以将任意兩個大小相同的數組相加。

z = x + y

建立一個向量 vs,它是向量 v1 和 v2 的和。

vs=v1+v2

您可以将數組中的所有元素與某個标量相乘或相除。

z = 2*x

y = x/3

建立一個變量 va,其值為 vs/2(平均體積)。

va=vs/2

MATLAB 中的基本統計函數可應用于某個向量以生成單個輸出。可以使用 max 函數來确定向量的最大值。

xMax = max(x)

建立一個變量 vm,其值為 va 向量的最大值。

vm=max(va)

MATLAB的函數可在單個指令中對整個向量或值數組執行數學運算。

xSqrt = sqrt(x)

使用 round 函數建立一個名為 vr 的變量,其中包含四舍五入為整數的平均體積 va。

vr=round(va)

round(x)傳回x的四舍五入整數值。

敲重點!!!

* 運算符執行矩陣乘法。是以,如果您使用 * 将兩個大小相同的向量相乘,則由于内部次元不一緻,您将會收到一條錯誤消息。

z = [3 4] * [10 20]

錯誤使用  *

用于矩陣乘法的次元不正确。

而 .* 運算符執行按元素乘法,允許您将兩個大小相同的數組的對應元素相乘。

z = [3 4] .* [10 20]

z =

    30   80

建立一個名為 mass 的變量,其中包含 density 和 va 的按元素乘積。

mass=density.*va

您已對如下元素執行了數組運算:

1.兩個相同大小的數組

2.一個标量和一個數組

您還可以對其他具有相容大小的數組執行運算。例如,嘗試執行以下語句:

x = [12;3 4;5 6; 7 8].*[1;2;3;4]

x 的大小是多少?

matlab 找到數組中第一個不連續點_學習筆記|MATLAB5 數組計算、調用函數、擷取幫助...
matlab 找到數組中第一個不連續點_學習筆記|MATLAB5 數組計算、調用函數、擷取幫助...
matlab 找到數組中第一個不連續點_學習筆記|MATLAB5 數組計算、調用函數、擷取幫助...

調用函數

size 函數可以應用于數組,以生成包含數組大小的單個輸出變量。

s = size(x)

建立一個名為 dsize 的變量,其值為 data 變量的大小。

dsize=size(data)

size 函數可以應用于矩陣,以生成單個輸出變量或兩個輸出變量。使用方括号 ([ ]) 獲得多個輸出。

[xrow,xcol] = size(x)

建立變量 dr 和 dc,其中分别包含變量 data 的行數和列數。

[dr,dc]=size(data)

matlab 找到數組中第一個不連續點_學習筆記|MATLAB5 數組計算、調用函數、擷取幫助...

可以使用 max 函數确定向量的最大值及其對應的索引值。max 函數的第一個輸出為輸入向量的最大值。執行帶兩個輸出的調用時,第二個輸出為索引值。

[xMax,idx] = max(x)

建立變量 vMax 和 ivMax,其中分别包含 v2 向量的最大值和對應的索引值。

[vMax,ivMax]=max(v2)

matlab 找到數組中第一個不連續點_學習筆記|MATLAB5 數組計算、調用函數、擷取幫助...
matlab 找到數組中第一個不連續點_學習筆記|MATLAB5 數組計算、調用函數、擷取幫助...

如果隻需函數的第二個輸出,可以使用波浪号字元 (~) 忽略特定輸出。

例如,您可能隻需要包含向量中最大值的索引:

density = data(:,2)     //density是data的第二列

[~,ivMax] = max(v2)     //ivMax是v2的最大值的索引值

densityMax = density(ivMax)    //densityMax是v2的最大值

試着擷取 v2 中最小值的索引值。使用此索引從 density 中提取值。

density=data(:,2)

[~,ivMin]=min(v2)       //v2在前面提取過,是data的第四列

densityMin=density(ivMin)

matlab 找到數組中第一個不連續點_學習筆記|MATLAB5 數組計算、調用函數、擷取幫助...

擷取幫助

如果你閱讀的代碼中出現了以前從未用過的函數,若您要了解有關MATLAB函數或功能的詳細資訊,您可以使用MATLAB文檔,點選幫助按鈕,通路該文檔。

matlab 找到數組中第一個不連續點_學習筆記|MATLAB5 數組計算、調用函數、擷取幫助...

在幫助浏覽器中,您可以浏覽或搜尋内容。每一個MATLAB函數都有一個支援文檔頁,包含調用文法、相應文法說明以及示例。

matlab 找到數組中第一個不連續點_學習筆記|MATLAB5 數組計算、調用函數、擷取幫助...

參考 randi 的文檔以完成以下任務。

建立一個名為 x 的矩陣,

其中包含 1 到 20 範圍的随機整數

行數為 5

列數為 7

x=randi(20,5,7)

matlab 找到數組中第一個不連續點_學習筆記|MATLAB5 數組計算、調用函數、擷取幫助...
matlab 找到數組中第一個不連續點_學習筆記|MATLAB5 數組計算、調用函數、擷取幫助...

您也可以使用 doc 函數打開文檔。嘗試使用如下代碼打開 randi 的文檔:

doc randi

搜尋文檔,用正态分布的整數(而非均勻分布的整數)重新建立相同的矩陣。

p=randn(5,7)

y=randi(20,5,7,'like',p)

【此題沒有答案,不知道這樣正确與否】

matlab 找到數組中第一個不連續點_學習筆記|MATLAB5 數組計算、調用函數、擷取幫助...
matlab 找到數組中第一個不連續點_學習筆記|MATLAB5 數組計算、調用函數、擷取幫助...
matlab 找到數組中第一個不連續點_學習筆記|MATLAB5 數組計算、調用函數、擷取幫助...

最後一題,希望大佬看到能夠指正。我咨詢一下其他人,如有變動再留言更正。

matlab 找到數組中第一個不連續點_學習筆記|MATLAB5 數組計算、調用函數、擷取幫助...

繼續閱讀