常用命令
clc:清空命令行
clear all:清除变量
基础知识
%% 解释的是黄色区域,但只有第一行是注释 2 + 4 2 - 4 %单行注释 %% 数据结构 %数字(没什么好讲) a=1; b=2; c=a+b; %字符和字符串(用''来表示) name='wpp' adress='china henang zhengzho' %矩阵 %% 矩阵 %矩阵的表示:用方括号表示,用空格或者逗号分开数字,用分号表示换行 a=[1 -4 -3; 1 -5 -3; -1 6 4] %求矩阵的转置 b=a' %矩阵变成按竖行的顺序变成一行竖的 c=a(:) %矩阵求逆 d=inv(a) %矩阵乘法 e=a*d %生成零矩阵(行,列,三维) f=zeros(10,5,3) %生成任意数字矩阵 f(:,:,1)=rand(10,5) %同上,最大值小于6 f(:,:,2)=randi(6,10,5) %同上,最小1,最大6 f(:,:,2)=randi([1,6],10,5) %生成随机数,符合标准正态分布 f(:,:,3)=randn(10,5) %% 元胞数组(类似于java中list,可以存放不同类型的数据,但用法和数组类似) %定义元胞数组,3行5列 a=cell(3,5) a{1,1}='i love study' b=a{1,1} %生成单位矩阵 a{2,2}=eye(3) c=a{2,2} %生成5x5的幻方,每行每列斜线的和都相等 a{3,3}=magic(5) d=a{3,3} %% 结构体 a=struct('name',{{'feiyangyang','tiango'}},'age',[1,2]) b=a.name %小括号是细胞 c=a.name(1) %大括号的是字符串 d=a.name{1} %% 矩阵操作 A=[1 2 3;4 5 6; 7 8 9] %生成一行,min,步长,max B=1:2:9 %重复B两行两列 C=repmat(B,2,2) %生成全为1的矩阵 D=ones(4,4) %% 矩阵运算 A=[1 2 3;4 5 6; 7 8 9] B=[1 2 3;4 5 6; 7 8 9] C=B' %矩阵相乘 D=A*C %对应项相乘 E=A.*B %相当于A乘以B的逆 F=A/B J=A*inv(B) %对应项相除 G=A./B %% 矩阵下标 A=[1 2 3;4 5 6; 7 8 9] B=A(2,:) C=A(:,3) [m,n]=find(A>20) %% 程序结构 %for循环 sum=0 for i=1:5 sum=sum+i end %while 循环 sum=0 n=5 while n>0 sum=sum+n n=n-1 end %if选择结构 a=2 b=3 max=0 if a>b max=a else max=b end %swich选择结构 c=0 ans=' ' switch c case 0 ans='A' case 1 ans='B' otherwise ans='C' end
矩阵的基础知识
AT矩阵的转置:行变列,列变行
对称矩阵:A=AT
单位矩阵I:只有正对角为1,其余为零
逆矩阵:A*B=I,B称为A的逆矩阵
逆矩阵求法:伴随矩阵法