零基礎Matlab Note3

不吃辣了 2022-01-07 07:27:11 阅读数:202

零基 matlab note3 note

目錄

1、向量分為行向量和列向量

2、向量的數量乘法 

3、轉置向量

4、兩向量加减創建第三個向量

 5、向量合並創建新向量

 6、創建等差元素向量

1) x = [ a : q : b ]

 2)組值運算

 3) linspace()函數

 4) logspace()函數



1、向量分為行向量和列向量

1)列向量可以在方括號 [] 內用分號 ; 隔開。比如創建一個有三個元素的列向量。

>> A = [ 5 ; 8 ; 9 ]
A =
     5
     8
     9

2) 行向量同樣是 [] 括起來 , 分隔符是空格(space)或者逗號( , ) ,比如

>> a = [ 1 2 3 4 5 6 ]
a =
     1     2     3     4     5     6
>> b = [ 1 , 2 , 3 , 4 , 5 , 6 ] 
b =
     1     2     3     4     5     6

2、向量的數量乘法 

比如我要得到一個向量是A向量的三倍,則可以建立一個數量 b = 3 ,新的向量 c = A * b

>> b = 3 ;
>> c = A * b
c =
    15
    24
    27

3、轉置向量

行向量和列向量之間可以相互轉置,用單引號( ' )實現轉置操作。比如

>> b = [ 1 , 2 , 3 , 4 , 5 , 6 ] 
b =
     1     2     3     4     5     6
>> c = b'
c =
     1
     2
     3
     4
     5
     6

上述列向量再轉為行向量

>> d = c'
d =
     1     2     3     4     5     6

4、兩向量加减創建第三個向量

但兩向量要滿足:類型相同,長度相同。

比如

  1. >> a = [ 1 2 3 ];

  2. >> b = [ 2 5 8 ];

  3. >> c = a + b

  4. c =

  5.      3     7    11

  1. >> a = [ 1 2 3 ];

  2. b = [ 2 5 8 ];

  3. c = a - b

  4. c =

  5.    -1 -3 -5

>> a = [ 1 2 3 4 ];
b = [ 2 5 8 ];
c = a + b
報錯:矩陣維度必須一致。 

>> a = [ 1;2;3;4 ];
b = [ 2 5 8 ];
>> c = a + b
c =
     3     6     9
     4     7    10
     5     8    11
     6     9    12 

%列向量與行向量之間可以相加减

 5、向量合並創建新向量

設行向量x有 m 個元素 ,行向量y向量有 n 個元素,

則x和y可以合並成新向量z = [ x,y ],若x和y都是列向量,則z = [ x ; y ] 。

>> x = [ 1,2,3 ];
y = [ 4,5,6 ];
z = [ x,y ]
z =
     1     2     3     4     5     6
 

維度不同不能合並

>> x = [ 1;2;3 ];
y = [ 4,5,6 ];
z = [ x,y ]
錯誤使用 horzcat
串聯的矩陣的維度不一致。 

 6、創建等差元素向量

1) x = [ a : q : b ]

若要創建一個首元素為a,末元素為b,等差為 q (q可正可負)的向量,q 也叫步長。

輸入 x = [ a : q : b ] ,間隔符號為冒號  ( : )。比如

>> x = [ 0 : 2 : 10 ]
x =
     0     2     4     6     8    10

注意首末元素之間不能構成完整等差的,不會顯示末元素。

>> x = [ 0 : 3 : 10 ]

x =
     0     3     6     9
 x =
    ↑
錯誤: 錶達式或語句不完整或不正確。不顯示元素 10 。
 

 2)組值運算

首先創建一個組值

>> x = [ 1 : 0.2 : 2 ]
x =
    1.0000    1.2000    1.4000    1.6000    1.8000    2.0000

 創建某函數在某點的一系列值,比如 y = x^2

>> y = x .^2
y =
    1.0000    1.4400    1.9600    2.5600    3.2400    4.0000

%MATLAB 中向量的乘方必須在幂運算符(^)前加上句號(.)

 比如 y = e^{x}

>> x = [ 1 : 0.2 : 2 ]
x =
    1.0000    1.2000    1.4000    1.6000    1.8000    2.0000
>> y = exp (x)
y =
    2.7183    3.3201    4.0552    4.9530    6.0496    7.3891

比如 ln(x)

 >> x = [ 1 : 0.2 : 2 ]
x =
    1.0000    1.2000    1.4000    1.6000    1.8000    2.0000
>> log (x)
ans =
         0    0.1823    0.3365    0.4700    0.5878    0.6931

%數學中自然對數 ln ,在MATLAB中用 log() 錶示。

 3) linspace()函數

linspace(x1,x2,N),其中x1、x2、N分別為起始值、中止值、元素個數。若缺N,默認個數為100

分隔符用逗號( , ) 。比如

>> x = linspace(1,100,10)
x =
     1    12    23    34    45    56    67    78    89   100

>> x = linspace(0,100,11)
x =
     0    10    20    30    40    50    60    70    80    90   100

%公差為(100 - 0)/(11 - 1)= 10

不輸入N時,默認100個數 

x = linspace(1,100)
x =
  1 至 19 列
     1     2     3     4     5     6     7     8     9    10    11    12    13    14    15    16    17    18    19
  20 至 38 列
    20    21    22    23    24    25    26    27    28    29    30    31    32    33    34    35    36    37    38
  39 至 57 列
    39    40    41    42    43    44    45    46    47    48    49    50    51    52    53    54    55    56    57
  58 至 76 列
    58    59    60    61    62    63    64    65    66    67    68    69    70    71    72    73    74    75    76
  77 至 95 列
    77    78    79    80    81    82    83    84    85    86    87    88    89    90    91    92    93    94    95
  96 至 100 列
    96    97    98    99   100

 4) logspace()函數

logspace( a , b , n ) %輸出n個數,首元素為10^a,末元素為10^b,公比10^{\frac{b-a}{n-1 }}

若不輸入n,默認輸出50個元素。

比如 logspace( 1 , 3 , 10 )

>> logspace( 1 , 3 , 10 )
ans =
   1.0e+03 *  %錶示1×10^{3}
    0.0100    0.0167    0.0278    0.0464    0.0774    0.1292    0.2154    0.3594    0.5995    1.0000

公比為10^{\frac{b-a}{n-1}}

版权声明:本文为[不吃辣了]所创,转载请带上原文链接,感谢。 https://gsmany.com/2022/01/202201070727107236.html