matlab 常用命令 02

2021-08-14 19:49:29 字數 4418 閱讀 6299

1.

用法:linspace(x1,x2,n)

功能:linspace是matlab中的均分計算指令,用於產生x1,x2之間的n點行線性的向量。其中x1、x2、n分別為起始值、終止值、元素個數。若預設n,預設點數為100。

2.

[x,y] = meshgrid(x,y)

生成取樣點的網格,舉個例子就明白了x=1:3;y=10:14;[x,y] = meshgrid(x,y)

x = 1 2 3

1 2 3

1 2 3

1 2 3

1 2 3

y = 10 10 10

11 11 11

12 12 12

13 13 13

14 14 14

meshgrid的函式應該是這樣編出來的:x=x1:d1:x2;y=[y1:d2:y2]';x=ones(size(y))*x;y=y*ones(size(x))

3.

zeros(m,n) or zeros([m,n])is an m-by-n matrix of zeros.

4.

b = reshape(a,m,n)

返回乙個m*n的矩陣b, b中元素是按從a中得到的。如果a中元素個數沒有m*n個, 則會引發錯誤。

5.

a(i:i+m,k:k+m)表示取a矩陣第i~i+m行內,並在第k~k+m列中的所有元素。

此外,還可利用一般向量和end運算子來表示矩陣下標,從而獲得子矩陣。end表示某一維的末尾元素下標。

6.

a=   [1   2

3 4]

a(:)=[132

4]

7.

a=j:d:k 生成行向量a=[j,j+d,…,j+m*d],m=fix((k-j)/d)

8.size(x,1),返回矩陣x的行數;

size(x,2),返回矩陣x的列數

[r,c,m]=size(a)

輸出:r=3c=

4m=1

也就說它把二維矩陣當作第三維為1的三維矩陣,這也如同我們把n維列向量當作n×1的矩陣一樣

9. 

blkdiag函式:生成指定對角線元素的矩陣

a = blkdiag(a,b,c,d,...) 函式產生以a,b,c,d,...為對角線元素的矩陣a

10.

find函式用於返回所需要元素的所在位置

11.

b為一維矩陣的話,min是尋找b中的最小值,並返回其座標和最小值。
>> [x,m]=min(b)

x =0.2311%%x為最小值

m =2%%m為列號,即b(2)為b中的最小值

b為二維矩陣的話,min是按列尋找最小值,並返回其各列的最小值和列號。
>> [x,m]=min(b)

x =0.6154 0.1763 0.4103%%x為各列的最小值

m =1 2 3%%m為每個最小值對應的列號

12.

c = setdiff(a, b) 返回在a中有,而b中沒有的值,結果向量將以公升序排序返回。在集合論中,c = a - b。a和b也可以是字串細胞陣列。

13.

b = repmat(a,m,n)

將矩陣 a 複製 m×n 塊,即把 a 作為 b 的元素,b 由 m×n 個 a 平鋪而成。b 的維數是 [size(a,1)*m,

size(a,2)*n] 。

>> a = [1,2;3,4]

a =1 2

3 4>> b = repmat(a,2,3)

b =1 2 1 2 1 2

3 4 3 4 3 4

1 2 1 2 1 2

3 4 3 4 3 4

14.

函式sparse()的更常用的用法是用來產生稀疏矩陣,具體語法如下:

s=vsparse(r,c,s,m,n)

其中r和c是我們希望產生的稀疏矩陣的矩陣中非零元素的行和列索引向量。引數s是乙個向量,它包含索引對(r,c)對應的數值,m和n是結果矩陣的行維數和列維數。例如:

>> s=sparse( [3 2 3 4 1 ],[ 1 2 2 3 4 ],[1 2 3 4 5],4,4) 

s =(3,1)        1

(2,2)        2

(3,2)        3

(4,3)        4

(1,4)        5

如果要獲得完成的矩陣,可以使用full()函式,函式語法:

a=full(s)

例如:>> a=full(s)

a =0     0     0     5

0     2     0     0

1     3     0     0

0     0     4     0

15.

a(b): a b都是矩陣

e.g. a=[1 2 3;4 5 6;7 8 9;]

b=[1 2;3 4]

>> a(b)

ans =

1     4

7     2

b=[x,y,z]

a(b,b)=[xx xy xz

yx yy yz

zx zy zz]

16.

a=sum(x);%列求和

a=sum(x,2);%行求和

a=sum(x(:));%矩陣求和

17.

矩陣轉置:

a' 共軛轉置

a.' 轉置

>> a=[1,2;3,4];

>> a'

ans =

1 32 4

>> a.'

ans =

1 32 4

>> b=[1+2i,3-4i;5+6i,7];

>> b'

ans =

1.0000 - 2.0000i 5.0000 - 6.0000i

3.0000 + 4.0000i 7.0000

>> b.'

ans =

1.0000 + 2.0000i 5.0000 + 6.0000i

3.0000 - 4.0000i 7.0000

18

fix(x),floor(x)和ceil(x)函式都是對x取整,只不過取整方向不同而已。

這裡的方向是以x軸作為橫座標來看的,向右就是朝著正軸方向,向左就是朝著負軸方向。

fix(x):向0取整(也可以理解為向中間取整)

floor(x):向左取整

ceil(x):向右取整

舉例:4個數:a=3.3、b=3.7、c=-3.3、d=-3.7

fix(a)=3

floor(a)=3

ceil(a)=4

------------------------

fix(b)=3

floor(b)=3

ceil(b)=4

----------------------

fix(c)=-3

floor(c)=-4

ceil(c)=-3

------------------------

fix(d)=-3

floor(d)=-4

ceil(d)=-3

19

ind2sub和sub2ind這對函式,是互逆的一對函式。ind2sub把陣列或者矩陣的線性索引轉化為相應的下標;sub2ind則正好相反,將下標轉化為線性索引。

例如: 乙個4*5的矩陣a,第2行第2個元素的index的6(matlab中matrix是按列順序排列),可以用ind2sub函式來計算這個元素的下標 [i,j] = ind2sub(size(a),6)

matlab常用命令

matlab生成exe命令 mcc m xx.m 1.ceil函式 朝正無窮大方向取整 2.mod a,b 取模 3.imcrop i,a b c d 利用裁剪函式裁剪影象 4.ispc用來判斷當前的電腦系統是否是windows系統,是返回1,不是返回0 5.round 1.4 ans 1 四捨五入...

Linux常用命令02

顯示當前目錄 pwd print working directory 顯示當前目錄 建立目錄 mkdir make directory 建立目錄 注意不是建立檔案,檔案的建立是另乙個命令 如 我們建立乙個text目錄 有時我們需要直接建立乙個多級目錄,就是建立的資料夾下面還有資料夾,這個時候,我們不...

Matlab常用命令(一)

clear 清除原有變數 clc 清除命令視窗中的內容 quit 退出matlab demo 檢視幫助 help 檢視幫助,後面要加引數,與不同 figure 建立圖形視窗 clf 清除圖形,一般在畫圖之前用 size x 返回矩陣x的行數與列數 get 得到圖形的屬性,如位置等 set 設定圖形的...