天天看點

matlab 向量_純小白Matlab學習手冊重磅公布,入門必備!

matlab 向量_純小白Matlab學習手冊重磅公布,入門必備!

點選藍字關注我們

Matlab 簡介

1. 指令行的編輯

啟動Matlab 後,就可以利用Matlab 工作。由于Matlab 是一種互動式語言,随時輸入指令,即時給出運算結果是它的工作方式。

2*sin(0.3*pi)/(1+sqrt(5)) ↵

ans=0.5000 

(ans 是一個保留的 Matlab 字元串,它表示上面一個式子的傳回結果,用于結果的預設變量名)

2. 入門示範

intro↵ demo↵ 

3. 幫助

① help↵ %幫助總攬 help elfun↵ %關于基本函數的幫助資訊 help exp↵ %指數函數 exp 的詳細資訊

② lookfor 指令

當要查找具有某種功能但又不知道準确名字的指令時,help 的能力就不夠了,lookfor可以根據使用者提供的完整或不完整的關鍵詞,去搜尋出一組與之相關的指令。 

lookfor integral↵ %查找有關積分的指令

lookfor fourier↵ %查找能進行傅利葉變換的指令 

③ 超文本格式的幫助檔案

在Matlab 中,關于一個函數的幫助資訊可以用 doc 指令以超文本的方式給出,

如:

doc↵

doc doc↵

doc eig↵ %eig 求矩陣的特征值和特征向量 ④ pdf 幫助檔案

4. 簡單的矩陣輸入

① 要直接輸入矩陣時,矩陣元素用空格或逗号分隔;矩陣行用分号“;”隔離,整個矩陣放在方括号“[ ]”裡。

A=[1,2,3;4,5,6;7,8,9]↵

說明:指令執行後,矩陣A 被儲存在 Matlab 的工作間(workspace)中,以備後用。如果使用者不用 clear 指令清除它,或對它進行重新指派,那末該矩陣會一直儲存在工作間中,直到本 Matlab 指令窗關閉為止。 

② 矩陣的分行輸入

A=[1,2,3 

    4,5,6

    7,8,9]

5. 語句與變量

 ① Matlab 語句有兩種最常見的形式

i) 表達式 

ii)變量=表達式

[例1] 表達式的計算結果 1996/18↵

ans=110.8889

[例2] 計算結果的指派

s=1-1/2+1/3-1/4+1/5-1/6+... 1/7-1/8;↵

說明

✔三個小黑點是“連行号”,

✔分号“;”作用是:指令執行結果将不顯示在螢幕上,但變量 s 将駐留在記憶體中。

✔若使用者想看 s 的值,可鍵入以下指令:

s↵ 

(s=

0.6345)

② 特殊變量

ans 用于結果的預設變量名

pi 圓周率

eps 計算機的最小數

flops 浮點運算次數 

inf 無窮大 如 1/0

NaN 不定量 如 0/0

i(j) 

matlab 向量_純小白Matlab學習手冊重磅公布,入門必備!

nargin 所用函數的輸入變量數目

nargout 所用函數的輸出變量數目

realmin 最小可用正實數 realmax 最大可用正實數

6. 資料結構:向量、矩陣、結構數組和細胞數組

①向量的轉置

z=[1+j,2+pi*i,-sqrt(-1)]’

z =

1.0000 - 1.0000i 

2.0000 - 3.1416i 

             0 + 1.0000i

當對複數向量進行轉置操作時,可以得到其共轭轉置向量。

z.' (非共轭轉置向量)

②産生一個行向量

t=[0:0.1:10]  %産生從 0 到 10 的行向量,元素之間間隔為 0.1

t=linspace(n1,n2,n)

%産生 n1 和 n2 之間線性均勻分布的 n 個數 (預設 n 時,産生 100 個數)

t=logspace(n1,n2,n) (預設 n 時,産生 50 個點)

③ who,whos,size 和 length 是對提供工作空間變量資訊很有用處的四個指令。

who 執行該指令可列出儲存空間的所有變量

whos 顯示所有的變量,變量所占的位元組數及該變量是否是實數

size(a) 執行該指令可以得到矩陣 a 的行數與列數

length(a)執行該指令後,螢幕上顯示出向量 a 的長度。如果 a 是矩陣,則顯示的參數為行數列數中的最大數。 

④ 矩陣的标号

A(m,n)表示矩陣 A 的第 m 行,第 n 列的元素;

A(1:2,1:3)表示矩陣 A 的從第一行到第二行,從第一列到第三列的所有元素;

A(:) 可以得到一個長向量,該向量的元素是按列一一疊加在一起的。例如 a=[1 2;3 4];a(:)↵

ans=

1

3

2

4

矩陣的下标也可以是向量。例如

b=a(x,y)↵; 可以得到一個矩陣 b。a 的行标來自向量 x,而列标來自向量 y。

例如,矩陣 a 有 n 列,那麼

b=a(:,n:-1:1)

将使矩陣 a 按列的逆序排列。

⑤ 特殊矩陣

i)機關矩陣

eye(m),eye(size(a)) 可以得到與矩陣 a 同樣大小的機關矩陣,eye(m,n)可得到一個可允許的最大機關矩陣而其餘處補 0。

ii)所有元素為 1 的矩陣 

ones(n),ones(size(a)),ones(m,n)

iii)所有元素為 0 的矩陣 

zeros(n),zeros(m,n)

iv)空矩陣是一個特殊矩陣,這線上性代數中是不存在的。 

例如: q=[ ]

矩陣 q 在工作空間之中,但它的大小為零。通過空陣的辦法可以删去行與列。

例如

a=rand(5);a(:,1:3)=[]

第一條指令執行後得到一個5×5 的矩陣;第二條指令将矩陣 a 的前三列删除。

v) 對角矩陣

當 v 是向量時,diag(v)得到以 v 的元素為對角線上元素的對角矩陣;

當 v 是矩陣時,diag(v) 得到一個列向量,其元素為矩陣 v 對角線上的元素,diag(v,1)得到矩陣 v 對角線上移一行的元素組成的列向量,diag(v,-1)得到矩陣 v 對角線下移一行的元素組成的列向量。

⑥ 字元串要用單引号

例如:

disp('text string')       % disp 顯示指令

還 有 幾 個 字 符 串 命 令 可 以 作 為 文 字 說 明 和 繪 圖 标 題 說 明 等 , 如  num2str,int2str,fprintf 和 sprintf。同樣,可以借助于 help 指令了解它們的具體用法。

⑦ 結構數組

有時需要将不同的資料類型組合成一個整體,以便于引用。這些組合在一個整體中的資料是互相聯系的。例如,一個學生的學号、姓名、性别、年齡、成績、家庭位址等項都是和該學生有聯系的。

下面簡單介紹結構體的定義與引用。

i)結構數組的定義

定義結構數組可以采用兩種方法:用指派語句定義和用函數 struct 定義。

——

matlab 向量_純小白Matlab學習手冊重磅公布,入門必備!

指派語句 ——

用指派語句定義結構時,隻要給出結構的屬性指派,Matlab 就會自動把該屬性增加到結構中,指派時,結構名和屬性名用“.”分開。

例如,下面三條語句将定義一個1×1 的結構數組,結構名為 student,有三個屬性:name、num、test。該結構數組隻有一 個元素,在指令視窗中鍵入結構名student,将顯示該元素所有屬性的屬性值的特性。 

student.name='John Doe';

student.num=123456;

student.test=[79 75 73;80 78 79;90 85 80]; 

再鍵入以下三行可給該結構數組增加一個元素。student(2).name='Ann Lane'; student(2).num=123422;

student(2).test=[70 76 73;80 99 79;90 85 80;80 85 86];

現在結構數組 student 的維數為1× 2 。當結構數組的元素超過 1 個時,MATLAB 的 幫助資訊中,不再顯示不同屬性的值,而隻顯示數組名、屬性名和維數大小。

——

matlab 向量_純小白Matlab學習手冊重磅公布,入門必備!

函數 struct  ——

函數 struct 也可用來定義結構數組,其調用格式為: 

結構數組名=struct(‘屬性 1’,’屬性值 1’, ‘屬性 2’,’屬性值 2’,…)

ii)結構數組屬性值的修改、設定和擷取結構數組一旦形成,就可取出數組中的某個元素并修改該元素的某個屬性的值。以上面建立的 student 數組為例,指令 

str=student(2).name

可取出第二個元素的 name 屬性的值。 

指令

n=student(2).test(4,2)

取出第二個元素 test 的值中第四行第二列上的數。 同理,可用指令

student(2).test(4,2)=0

修改第二個元素 test 的值中第四行第二列上的數的值。

關于結構數組有如下函數:

matlab 向量_純小白Matlab學習手冊重磅公布,入門必備!
matlab 向量_純小白Matlab學習手冊重磅公布,入門必備!

⑧ 細胞數組

細胞數組也是 MATLAB 裡的一類特殊的數組。在 MATLAB 裡,由于有細胞數組這個資料類型,才能把不同類型、不同維數的數組組成為一個數組。

細胞數組的每一個元素可為類型不同、維數不同的矩陣、向量、标量或多元數組, 所有元素用大括号括起來。如矩陣 A=[1 2 3 4;2 3 4 5;3 4 5 6],則指令 c={A,sum(A),sum(sum(A))}得到一個1×3的細胞數組。

關于細胞數組有如下函數:

matlab 向量_純小白Matlab學習手冊重磅公布,入門必備!

i)細胞數組的生成

▪ 有兩種方法可以生成細胞數組:用指派語句直接生成;先用 cell 函數預配置設定數組,然後再對每個元素指派。

▪ 有兩種方法可對元素指派:一種方法采用數組元素的下标指派。下面四句指令将建 立一個2× 2 的細胞數組。

A(1,1)={[1:5;6:10]}; 

A(1,2)={'Anne cat'};

A(2,1)={3+7i};

A(2,2)={0:pi/10:pi};

在大括号中,逗号或者空格表示每行元素之間的分割,分号表示不同行之間的分割。 

另一種方法則把細胞數組的元素用大括号括起來,而所賦的值采用其它數組的形式。例如下面四句生成的細胞數組和上面所生成的完全一樣。

A{1,1}=[1:5;6:10];

A{1,2}='Anne cat';

A{2,1}=3+7i;

A{2,2}=0:pi/10:pi;

指令 B=cell(3,4)

建立一個3× 4的細胞矩陣。

ii)細胞數組内容的檢視

對于上面建立的數組 A,在 Matlab 指令視窗鍵入變量名 A,将顯示數組的簡要資訊。 

函數 celldisp 用來顯示細胞數組的每個元素的值。函數 cellplot 将畫出細胞數組的每個元素的結構圖。

當給已經定義的細胞數組下标範圍外的元素指派時,Matlab 自動擴維,對于沒有指派的元素,指派為空矩陣。

•  END  •

▌相關推薦——

模友的Matlab筆記重磅公開!模組化小白先從這裡開始!

Matlab R2020a軟體安裝破解教程

MATLAB R2020a Mac(蘋果版本)版安裝激活教程

matlab 向量_純小白Matlab學習手冊重磅公布,入門必備!
matlab 向量_純小白Matlab學習手冊重磅公布,入門必備!

掃碼關注我們

matlab 向量_純小白Matlab學習手冊重磅公布,入門必備!

2020夏令營QQ交流群

模友們可能已經發現:現在公衆号推送文章的順序,已經不會按時間排列了。這種變化,可能會讓各位模友錯過我們每天的推送。

是以,如果你還想像往常一樣,聚焦數模樂園,就需要将“數模樂園”标為星标公衆号,同時在閱讀完文章後,别忘了給一個“在看”哦。

星标步驟

(1)點選頁面最上方“數模樂園”,進入公衆号首頁

(2)點選右上角的小點點,在彈出頁面點選“設為星标”,就可以啦。

matlab 向量_純小白Matlab學習手冊重磅公布,入門必備!
matlab 向量_純小白Matlab學習手冊重磅公布,入門必備!

球分享

matlab 向量_純小白Matlab學習手冊重磅公布,入門必備!

球點贊

matlab 向量_純小白Matlab學習手冊重磅公布,入門必備!

球在看

繼續閱讀