a.Matlab(数组)
A.創建一維數組
行向量
1.使用方括號
2.使用冒號(步長精確)
x=第一個元素:步長:最大元素不能超過的數
步長可正可負,負時,第一個元素必須大于最大元素不能超過的數
步長為1時可以簡寫
3.函數linspace(個數精確)
4.函數logspace
5.
x=randi([1 10],5,3);%生成隨機整數矩陣,大小為5X3,范圍在1-10中
列向量
1.使用方括號,但是要用;分割
x=[1;2;3]
2.使用冒號
x=(1,3)'
'代表矩陣的轉置
數組變量
a=[0 1+6] % 有運算符 b=[a 6 7] % 數組內有其他變量,嵌套,維數一致就可以
B.創建二維數組
1.方括號
a2=[1 2 3;4 5 6;7 8 9]
行與行分號隔開,列與列空格或者逗號隔開
a=[1 2 3]; b=[2 3 4]; c1=[a;b] c2=[a b]
2.函數方法
ones() 全1矩陣 ones(2)2X2矩陣 ;ones(3,4)3X4矩陣
zeros() 全0矩陣 同上
reshape
a=-4:4 b=reshape(a,3,3)
排列順序,從上到下按列排列,先拍第一列,再排第二列,。。。
要求數組的元素總數不變
C.數組的尋訪
1.一維數組
2.二維數組
冒號代表所有的行,
【2 3】代表第2列和第三列
合起來就是第二列第三列所有的行
a_2()
a_2=[1 1 1 7;10 1 1 30] a_2(:,end) %倒數第一列 a_2(:,end-1) %倒數第二咧 a_2(:,end:-1:3) %倒數第一列到正數第三列 a_2(end,:) %最后一行 a_2(end,[2:4]) %最后一行的第二列到第四列 a_2([4 6])=6:7 % 豎著數第四個數和第六個數 a_2(end,[2:end-1]) %最后一行的第二列到倒數第三列
D.算數運算
1.除
左除AB A的逆矩陣XB
右除A/B AXB的逆矩陣
t=[0:199]./100 %采樣時間點 t=0:0.01:2 x=sin(2*pi*t)+sin(4*pi*t) %生成信號 plot(t,x)
練習
m(t)=cos(2pi fm t) s(t)=(A+m(t))cos(2pi fc t) fm=1 fc=10 A=2 Ts=0.001,時間是0到5s,畫出s(t)的圖像
fm=1; fc=10; A=2; t=0:0.001:5 %t=[0:4999]./1000 mt=cos(2*pi*fm*t) st=(A+mt).*cos(2*pi*fc*t) plot(t,st)
E.關系運算
1、當兩個標量進行比較時,直接比較兩數大小。若關系成立, 結果為1,否則為0。
2、當兩個維數相等的矩陣進行比較時,其相應位置的元素按 標量關系進行比較,并給出結果,形成一個維數與原來相同 的0、1矩陣。
3、當一個標量與一個矩陣比較時,該標量與矩陣的各元素進行比較,結果形成一個與矩陣維數相等的0、1矩陣。
一些函數:
(1)fix(x):截尾取整
fix([3.4,-3.4])
ans=
3,-3
(2) floor( x):不超過x的最大整數
>> floor([3.4 , -3.4])
ans =
3 -4
(3)ceil(x) : 大于x 的最小整數。如:
>> ceil([3.4 , -3.4])
ans =
4 -3
(4)round(x):四舍五入取整。如:
>> round([3.4 , 3.6 , -3.4 , -3.6])
ans =
3 4 -3 -4
(5)mod()取模,,,rem()取余
rem(a,b)與mod(a,b)
當a和b的正負號一樣的時候,兩個函數結果是相同的。
當a和吧異號是,rem的符號結果與a相同,mod與b相同
rem采用fix函數 朝0方向取整
mod采用floor函數 朝負無窮方向取整
公式是:值 = 被除數 - (商 * 除數),(商通過floor或fix函數得到)
練習:
建立5階方陣A,判斷其元素能否被3整除。
A = [24, 35, 13, 22, 63;23, 39, 47, 80, 80;... 90, 41, 80, 29, 10;45, 57, 85, 62, 21; 37, 19, 31, 88, 76]
A = [24, 35, 13, 22, 63;23, 39, 47, 80, 80; 90, 41, 80, 29, 10;45, 57, 85, 62, 21; 37, 19, 31, 88, 76] p=rem(A,3)==0
F.邏輯運算
1、在邏輯運算中,確認非零元素為真(1),零元素為假(0)。
2、當兩個維數相等的矩陣進行比較時,其相應位置的元素按 標量關系進行比較,并給出結果,形成一個維數與原來相同 的0、1矩陣;
3、當一個標量與一個矩陣比較時,該標量與矩陣的各元素進行 比較,結果形成一個與矩陣維數相等的0、1矩陣;
4、算術運算優先級最高,邏輯運算優先級最低。
練習:
1.
x=0:pi/100:3*pi; y=sin(x) y1=(y>=0).*y plot(x,y1)
2.去頂
x=0:pi/100:3*pi; y=sin(x) y1=((y<=0.8)&(y>=0)).*y %消頂,但是大于0.8的地方是0 y2=(y>0.8)*0.8 %大于0.8的部分邏輯運算后是1,再乘0.8 最后結果就是0.8 y3=y1+y2 %兩個加起來,因為在橫坐標上不重疊 plot(x,y3) axis([0 10 0 1]) %橫坐標顯示0到10,縱坐標顯示0到1
3.find函數
https://www.cnblogs.com/anzhiwu815/p/5907033.html
A=[4,15,-45,10,6;56,0,17,-45,0] find(A>=10&A<=20) A(ans)
4.
A = zeros(2,5); %這一句定義A是一個2*5的零矩陣 A(:) = -4:5%A的元素從-4到5共10個元素按照由上到下從左到右排列過去 L=abs(A)>3%標記矩陣A中元素的絕對值大于3的元素,其中大于是1 X = A(L)%取出A中絕對值大于3的元素組成一個新的矩陣
G.最大值和最小值
1.求向量的最大值和最小值
2、求矩陣的最大值和最小值
用兩次max求矩陣最大值
用兩次sum求矩陣和
練習
隨機生成一百個1-10的整數,找到大于五的元素,并求和
r=randi(10,100,1) w=find(r>5) a=r(w) r=randi([-5,4],1,10) mean(r)
總結
以上是生活随笔為你收集整理的a.Matlab(数组)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Webdynpro ALV compon
- 下一篇: 打印基于某category创建的所有pr