matlab学习关于数组的详细知识1.10

建立数组举例:

clear all;
A=[]               %空数组
B=[5 6 5 4 1]      %行向量   一行五列矩阵
C=[5,5,5,4,4]      %行向量   一行五列矩阵
D=[3;3;3;3;5]      %列向量   五行一列矩阵
E=C'               %对行向量转置得到列向量
clear all;
A=[3 9 6 8 7]
b1=A(3)            %数组的第3个元素                     b1 =  6
b2=A(2:4)          %数组的第2:4个元素                   b2 = 9     6     8
b3=A(2:end)        %数组的第2个到最后一个元素            b3 = 9     6     8     7
b4=A(4:-1:1)       %数组的第4个、第3个和第2个,第1个元素  b4 =8     6     9     3
b5=A(end:-1:1)     %数组元素反序输出                    b5 =7     8     6     9     3
b6=A([2 4])        %数组的第2和第4个元素                b6 =9     8
%%  通过冒号建立一维数组
clear all;
A=4:8            A =4     5     6     7     8
B=1.2:3:15.6     B =1.2000    4.2000    7.2000   10.2000   13.2000
C=6:-2:3         C =6     4
%%    数组的合并
clear all;
A=[10 20 30;20 30 40;50,60,70]   %3*3矩阵
B=[3:5;6:8;9:1:11]               %同上
C=[A B]                   %行数不变   变为3*6矩阵
D=[A;B]                   %列数不变   变为6*3矩阵
%%   数组的算术运算  针对每一个元素运算    数组维数必须相等才行
clear all;
A=[55 45 33 21 6]        %1*5矩阵    
B=[5 4 3 2 1]            %1*5矩阵
C=A-B            %对应元素相减,若想进行A-B运算,则数组维数必须相等
D=A+B            
E=A+100            %矩阵内每一个元素都加100

A =                                        

    10    20    30
    20    30    40
    50    60    70
B =

     3     4     5
     6     7     8
     9    10    11
C =

    10    20    30     3     4     5
    20    30    40     6     7     8
    50    60    70     9    10    11
D =

    10    20    30
    20    30    40
    50    60    70
     3     4     5
     6     7     8
     9    10    11

%%  数组的乘法   维数要相同  对应元素相乘
clear all;
A=[1 2 3 4 5]    %1*5
B=[0 0 0 0 2]    %1*5
C=A.*B           %这个点乘是对应元素相乘
D=A*3

C =

     0     0     0     0    10


D =

     3     6     9    12    15

%%  数组的除法    维数要相同  对应元素相除   左边除法和右边除法不一样
clear all;
A=[1 1 1 1 1]
B=[0 1 3 5 2]
C=A./B
D=A./4
E=A.\B    %相当于B除以A


C =

       Inf    1.0000    0.3333    0.2000    0.5000  (inf是无穷大)


D =

    0.2500    0.2500    0.2500    0.2500    0.2500


E =

     0     1     3     5     2 

%%  数组元素的比较
clear all;
A=[16 10 15 4 4]
B=[4 5 5 5 5]
C=A<=10     %≤10赋一  下面同理
D=A>10
E=A>B
F=A==B
%%  数组元素满足条件的重新赋值
clear all;
A=[11 10 13 4 5]
B=[3 15 21 6 5]
A(A>10)=10     %A中大于10的元素赋10
B(B==5)=100

D =

  1×5 logical 数组  内储存bool值

   1   0   1   0   0


E =

  1×5 logical 数组

   1   1   1   0   0


F =

  1×5 logical 数组

   0   0   0   0   0

A =

    10    10    10     4     5


B =

     3    15    21     6   100

%%  数组的逻辑运算
clear all;
A=[33 0 0 33 33]
B=[2 13 0 0.6 4]
C=A&B     %与   或    非  非0的数都当作1
D=A|B
E=~A 
clear all;
A=[13 0 0 2 4]
B=[1 11 0 0.2 1]
C=A&1            %C =1×5 logical 数组      1   0   0   1   1
D=A|0            %D =1×5 logical 数组      1   0   0   1   1
A(A&1)=10        %A =10     0     0    10    10





C =

  1×5 logical 数组

   1   0   0   1   1


D =

  1×5 logical 数组

   1   1   0   1   1


E =

  1×5 logical 数组

   0   1   1   0   0    

%%   如何获取数组的大小   两个函数
clear all;
A=[12 0 0 2 2]
d=size(A)
[m,n]=size(A)     
length(A)              %获取数组的长度(行或者列,哪个大返回哪个)

d =1     5
m =1
n =5
ans =5

clear all;
A=[33 0 0 7 5]
B=A>5
f1=isnumeric(A)         %判断是否是数值型 f1=1
f2=islogical(B)         %判断是否是逻辑型 f2=1
%%  数组查找和修改
clear all;
A=[4 4 6 4 5]
find(A>5)               %给出元素所在序号ans = 3
find(A==5)              %                ans = 5 这里是位号
A(find(A>5))=A(find(A>5))+100    %即A(3)=A(3)+100 结果为 A =4     4   106     4     5
A(A==5)=200
%%  数组排序
clear all;
A=[5 4 3 2 1]
B=sort(A)               %升序
[C,I]=sort(A,'ascend') %有些复杂,用到再看           %ascend:上升
D=sort(A,'descend')     %降序     %decend:下降


B =

     1     2     3     4     5


C =

     1     2     3     4     5


I =

     5     4     3     2     1


D =

     5     4     3     2     1

[C,I]=sort(A,'ascend') %有些复杂,届时用到再看 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值