%% 学习目标:学习关于数组的详细知识
%%
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个元素
b2=A(2:4) %数组的第2:4个元素
b3=A(2:end) %数组的第2个到最后一个元素
b4=A(4:-1:1) %数组的第4个、第3个和第2个,第1个元素
b5=A(end:-1:1) %数组元素反序输出
b6=A([2 4]) %数组的第2和第4个元素
%% 通过冒号建立一维数组
clear all;
A=4:8
B=1.2:3:15.6
C=6:-2:3
%% 数组的合并
clear all;
A=[10 20 30;20 30 40;50,60,70]
B=[3:5;6:8;9:1:11]
C=[A B] %行数不变
D=[A;B] %列数不变
%% 数组的算术运算 针对每一个元素运算 数组维数必须相等才行
clear all;
A=[55 45 33 21 6]
B=[5 4 3 2 1]
C=A-B
D=A+B
E=A+100
%% 数组的乘法 维数要相同 对应元素相乘
clear all;
A=[1 2 3 4 5]
B=[0 0 0 0 2]
C=A.*B
D=A*3
%% 数组的除法 维数要相同 对应元素相除 左边除法和右边除法不一样
clear all;
A=[1 1 1 1 1]
B=[0 1 3 5 2]
C=A./B
D=A./4
E=A.\B
%%
%% 数组元素的比较
clear all;
A=[16 10 15 4 4]
B=[4 5 5 5 5]
C=A<=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
B(B==5)=100
%% 数组的逻辑运算
clear all;
A=[33 0 0 33 33]
B=[2 13 0 0.6 4]
C=A&B
D=A|B
E=~A
%%
clear all;
A=[13 0 0 2 4]
B=[1 11 0 0.2 1]
C=A&1
D=A|0
A(A&1)=10
%% 数组信息的获取
clear all;
A=[23 0 0 3 4]
f1=isempty(A) %是不是空数组
f2=isscalar(A) %是否为单个元素的标量
f3=isvector(A) %是否是行向量或者列向量
f4=issparse(A) %是否为稀疏矩阵
%% 如何获取数组的大小 两个函数
clear all;
A=[12 0 0 2 2]
d=size(A)
[m,n]=size(A)
length(A) %获取数组的长度(行或者列,哪个大返回哪个)
%%
%%
clear all;
A=[33 0 0 7 5]
B=A>5
f1=isnumeric(A) %判断是否是数值型
f2=islogical(B) %判断是否是逻辑型
%% 数组查找和修改
clear all;
A=[4 4 6 4 5]
find(A>5) %下标
find(A==5)
A(find(A>5))=A(find(A>5))+100
A(A==5)=200
%% 数组排序
clear all;
A=[5 4 3 2 1]
B=sort(A) %升序
[C,I]=sort(A,'ascend')
D=sort(A,'descend') %降序
%%
%% 大仙QQ:1960009019
%% 在线教育微信公众号:大仙一品堂
%% 大鱼号:在线教育大仙一品堂
%% 一点资讯号:大仙一品堂
%% 2018/3/18 录制,欢迎指正