matlab累加求和for循環,matlab累加求和函數怎麼輸入

這一節,常用矩陣及向量操作命令將被介紹,更多高級命令請使用命令help查尋,內容如下:

cat連接數組

>> %cat 連接數組
A = [1 2; 3 4]
B = [4 5; 6 7]
​
%cat(2, A, B)相當於[A, B];按行連接
cat(2,A,B)
%cat(1, A, B)相當於[A; B].按列連接
cat(1,A,B)
​
A =
​
 1 2
 3 4
​
​
B =
​
 4 5
 6 7
​
​
ans =
​
 1 2 4 5
 3 4 6 7
​
​
ans =
​
 1 2
 3 4
 4 5
 6 7

find查找非零元素的索引或滿足某條件值

>> A = [0 1 0 2 3] %向量情況
find(A)
​
A =
​
 0 1 0 2 3
​
​
ans =
​
 2 4 5
 
>> find(A,2) % 返回前2個非0結果
​
ans =
​
 2 4
 
>> A = [1,0;0 3] % 矩陣情況,結果為逐列將A的元素進行排序[1 0 0 3],所以結果為 1 4
​
A =
​
 1 0
 0 3
​
>> find(A)
​
ans =
​
 1
 4
 
 
>> A = [0 1 2 3 4 5]
find(A>2) % 查找滿足某一條件情況
​
A =
​
 0 1 2 3 4 5
​
​
ans =
​
 4 5 6

length計算元素數量

>> % length 計算元素數量
A = [1 2 3]
length(A)
B = [1 2 3;3 4 5]
length(B) %length(a)表示矩陣a的最大的長度,即max(size(a)) 等於3,因為2和3中最大是3;
​
A =
​
 1 2 3
​
​
ans =
​
 3
​
​
B =
​
 1 2 3
 3 4 5
​
​
ans =
​
 3

linspace創建規則間隔的向量

>> %linspace 創建向量 用法:linspace(a,b,N) 等同於 [a:(b-a)/N:b]
linspace(1,10,5)
[1:2.25:10]
​
ans =
​
 1.0000 3.2500 5.5000 7.7500 10.0000
​
​
ans =
​
 1.0000 3.2500 5.5000 7.7500 10.0000
​

logspace創建對數間隔向量

%logspace 創建向量 
%用法1.logspace(X1,X2),即在10^X1-10^X2範圍內等距產生50個行向量; 
%2.logspace(X1,X2,N),即在10^X1-10^X2範圍內等距產生N個行向量。
>> logspace(1,10)
logspace(1,10,10)
​
ans =
​
 1.0e+10 *
​
 Columns 1 through 5
​
 0.0000 0.0000 0.0000 0.0000 0.0000
​
 Columns 6 through 10
​
 0.0000 0.0000 0.0000 0.0000 0.0000
​
 Columns 11 through 15
​
 0.0000 0.0000 0.0000 0.0000 0.0000
​
 Columns 16 through 20
​
 0.0000 0.0000 0.0000 0.0000 0.0000
​
 Columns 21 through 25
​
 0.0000 0.0000 0.0000 0.0000 0.0000
​
 Columns 26 through 30
​
 0.0000 0.0001 0.0001 0.0001 0.0002
​
 Columns 31 through 35
​
 0.0003 0.0005 0.0008 0.0012 0.0018
​
 Columns 36 through 40
​
 0.0027 0.0041 0.0063 0.0095 0.0146
​
 Columns 41 through 45
​
 0.0222 0.0339 0.0518 0.0791 0.1207
​
 Columns 46 through 50
​
 0.1842 0.2812 0.4292 0.6551 1.0000
​
​
ans =
​
 1.0e+10 *
​
 Columns 1 through 5
​
 0.0000 0.0000 0.0000 0.0000 0.0000
​
 Columns 6 through 10
​
 0.0001 0.0010 0.0100 0.1000 1.0000
​

max返回最大的元素

>> %C = max(A) 返回一個數組各不同維中的最大元素。
%[Y,U]=max(A):返回行向量Y和U,Y向量記錄A的每列的最大值,U向量記錄每列最大值的行號。
%如果A是一個向量,max(A)返回A中的最大元素。
%如果A是一個矩陣,max(A)將A的每一列作為一個向量,返回一個行向量,向量的第i個元素是矩陣A的第i列上的最大值。
​
A = [1 3 5; 3 9 0; 9 2 1]
max(A)
[Y,I] = max(A)
​
A =
​
 1 3 5
 3 9 0
 9 2 1
​
​
ans =
​
 9 9 5
​
​
Y =
​
 9 9 5
​
​
I =
​
 3 2 1

min返回最小的元素(與max操作一樣)

prod返回列向量的乘積

>> %B = prod(A);將A矩陣不同維的元素的乘積返回到矩陣B。
%若A為向量,返回的是其所有元素的積;
%若A為矩陣,返回的是按列向量的所有元素的積,然後組成一行向量。
A = [1 2 3]
prod(A)
A = [1 2 3; 4 5 6]
prod(A)
​
A =
​
 1 2 3
​
​
ans =
​
 6
​
​
A =
​
 1 2 3
 4 5 6
​
​
ans =
​
 4 10 18

reshape改變大小

%reshape 元素相同情況下,對A逐列掃描,對B逐列填充
>> A = [1 2 3; 2 3 4; 3 4 5; 6 7 8; 1 2 3 ]
​
A =
​
 1 2 3
 2 3 4
 3 4 5
 6 7 8
 1 2 3
​
>> size(A)
​
ans =
​
 5 3
​
>> reshape(A,3,5)
​
ans =
​
 1 6 3 2 5
 2 1 4 3 8
 3 2 7 4 3

size計算數組大小

>> %size 獲取矩陣的行數和列數 註:length()=max(size()).
A = [1 2 3]
size(A)
A = [1 2 3 ; 2 3 4]
size(A)
​
A =
​
 1 2 3
​
​
ans =
​
 1 3
​
​
A =
​
 1 2 3
 2 3 4
​
​
ans =
​
 2 3

sort對每列進行排序

%sort 默認情況下,對向量或矩陣(案列)進行升序排序
>> A = [1 2 3]
sort(A)
A = [1 2 3 ; 3 4 1]
sort(A)
​
A =
​
 1 2 3
​
​
ans =
​
 1 2 3
​
​
A =
​
 1 2 3
 3 4 1
​
​
ans =
​
 1 2 1
 3 4 3
 
>> sort(A,2))% 對行向量排序
​
ans =
​
 1 2 3
 1 3 4

sum對每列進行求和

>> % sum 默認情況下,計算行向量的累加結果
A = [1 2 3]
sum(A) % 默認按行向量
​
A =
​
 1 2 3
​
​
ans =
​
 6
>> sum(A,2) % 按行向量
​
ans =
​
 6
>> sum(A,1) % 按列向量
​
ans =
​
 1 2 3

eye創建一個單位矩陣

>> %Y = eye(n):返回n*n單位矩陣;
%Y = eye(m,n):返回m*n單位矩陣;
eye(3)
​
ans =
​
 1 0 0
 0 1 0
 0 0 1
>> eye(3,4)
​
ans =
​
 1 0 0 0
 0 1 0 0
 0 0 1 0

ones創建一個數組

>> %ones的作用是產生全1矩陣,ones(N)是產生一個N*N的全1矩陣
 ones(3)
 
​
ans =
​
 1 1 1
 1 1 1
 1 1 1
​
>> ones(3,2)
​
ans =
​
 1 1
 1 1
 1 1

zeros創建一個零的數組

>> %zeros的作用是產生全0矩陣,zeors(N)是產生一個N*N的全0矩陣
 zeros(3)
​
ans =
​
 0 0 0
 0 0 0
 0 0 0
>> zeros(2,4)
​
ans =
​
 0 0 0 0
 0 0 0 0

real計算複數的實數部分

>> %real 計算複數實數部分
 A = 1 - 2i
 real(A)
​
A =
​
 1.0000 - 2.0000i
​
​
ans =
​
 1

imag計算複數虛數部分

>> %imag 計算複數虛數部分
 A = 1 - 2i
 imag(A)
​
A =
​
 1.0000 - 2.0000i
​
​
ans =
​
 -2

abs計算絕對值或者對複數求模(複數實部與虛部的平方和的算術平方根:abs(X) =sqrt(real(X).^2 + imag(X).^2))

>> %abs 計算絕對值或者對複數求模
 A = -3
 abs(A)
​
A =
​
 -3
​
​
ans =
​
 3
 
>> A = [1 -2]
 abs(A)
​
A =
​
 1 -2
​
​
ans =
​
 1 2
 
>> A = 1 - 2i
 abs(A)
​
A =
​
 1.0000 - 2.0000i
​
​
ans =
​
 2.2361

rand生成均勻分佈隨機數

​
>> % rand 生成均勻分佈隨機數
 % rand(n):生成0到1之間的n階隨機數方陣
 % rand(m,n):生成0到1之間的m×n的隨機數矩陣
rand(3)
​
ans =
​
 0.8147 0.9134 0.2785
 0.9058 0.6324 0.5469
 0.1270 0.0975 0.9575
>> rand(3,4)
​
ans =
​
 0.9649 0.9572 0.1419 0.7922
 0.1576 0.4854 0.4218 0.9595
 0.9706 0.8003 0.9157 0.6557
​

randn生成標準正態分佈隨機數,用法與rand一致

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/229580.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
投稿專員的頭像投稿專員
上一篇 2024-12-10 12:30
下一篇 2024-12-10 12:30

相關推薦

發表回復

登錄後才能評論