1 数组和矩阵
B=[1 1 2 2 1 1] %创建一个数组
b1=B(1) %访问B中第一个元素
b2=B(2:3) %访问B中第2 3个元素
b3=B(3:end) %访问B中第三到最后一个元素
a=3:6%a表示一个从3到6的数组
b=2.2:2.5:6%b表示初始值为2.2,每次增加2.5,直到6的数组
c=3.2:-2.5:-6%c表示初始值为3.2,每次增加-2.5,直到-6的数组
2常见数组运算
X+Y 数组加法
X-Y 数组减法
X.*Y 数组乘法
X./Y 数组右除
X.\Y数组左除
例子:
>> A=[1 5 9 8 7 6];
>> B=[7 7 6 2 9 0];
>> C=A./B;
>> D=A.\B;
>> E=A./3;
>> F=dot(A,B); %数组的点积运算 等同于下例
>> G=sum(A.*B)
G =
175
>> C=A./B
C =
0.1429 0.7143 1.5000 4.0000 0.7778 Inf
>> D=A.\B
D =
7.0000 1.4000 0.6667 0.2500 1.2857 0
>> E=A./3
E =
0.3333 1.6667 3.0000 2.6667 2.3333 2.0000
>> F=dot(A,B)
F =
175
3 寻访矩阵
A=[2 5 9 20;3 6 7 22;7 8 9 23;5 8 24 25]
A1=A(4,3) %使用双下标访问A矩阵的第4行第3列的元素
A2=sub2ind(size(A), 4,3) %双下标转换为单下标
A3= A(12)
Q1=Q(1,:) %访问第一行所有元素
Q2=Q(1:3,:) %访问1~3行所有元素
Q3=Q(:,2) %访问第二列所有元素
Q4=Q(:) %访问所有元素
4矩阵的拼接
C=cat(dim,A,B) %dim=1垂直拼接 dim=2水平拼接
B=repmat(A,m,n)或者B=repmat(A,[m n ]) %B是由矩阵A备份拼接而成,纵向m个,横向n个
T=blkdiag(A,B,C,D...) % T由ABCD对角拼接而成
5整数类型数据的运算函数
bitand %数据位“”与”运算
bitcmp %数据位求补码
bitor %数据位“”或”运算
bitmax %最大浮点整数数值
bitxor %数据位“异或”运算
bitset %指定数据位设置成1
bitget %获取指定数据位的值
bitshift %数据位位移操作
6字符串操作函数
length(a) %获取字符串长度
d=strcat(a,c) % 连接两个字符串,每个字符串最右边的空格被裁切
% strcmp 比较两个字符串是否完全相等,是,返回真,否则,返回假
% strncmp 比较两个字符串前n个字符是否相等,是,返回真,否则,返回假
% strcmpi 比较两个字符串是否完全相等,忽略字母大小写
% strncmpi 比较两个字符串前n个字符是否相等,忽略字母大小写
% isletter 检测字符串中每个字符时否属于英文字母
% isspace 检测字符串中每个字符是否属于格式字符(空格,回车,制表,换行符等)
% isstrprop 检测字符每一个字符是否属于指定的范围
a='d sdsdsd 15#';
b=isletter(a)
c=isspace(a)
% 字符串替换和查找
% strrep 进行字符串替换,区分大小写
% strrep(str1,str2,str3)
% 它把str1中所有的str2字串用str3来替换
% strfind(str,patten) 查找str中是否有pattern,返回出现位置,没有出现返回空数组
% findstr(str1,str2) 查找str1和str2中,较短字符串在较长字符串中出现的位置,没有出现返回空数组
% strmatch(patten,str) 检查patten是否和str最左侧部分一致
% strtok(str,char) 返回str中由char指定的字符串前的部分和之后的部分,
mm='youqwelcome';
[mm1,mm2]=strtok(mm,'q')
% blanks(n) 创建有n个空格组成的字符串
% deblank(str) 裁切字符串的尾部空格
% strtrim(str) 裁切字符串的开头和尾部的空格,制表,回车符
% lower(str) 将字符串中的字母转换成小写
% upper(str) 将字符串中的字母转换成大写
% sort(str) 按照字符的ASCII值对字符串排序
% num2str 将数字转换为数字字符串
% str2num 将数字字符串转换为数字
% mat2str 将数组转换成字符串
% int2str 把数值数组转换为整数数字组成的字符数组