目录
常识
disp and input
字符串合并
sum
提取矩阵指定位置的元素
指定行列
指定行or指定列(返回行/列向量)
指定某些行
指定全部元素,按列拼接
size
repmat
矩阵的运算
基本运算
形状相同的矩阵运算
每个元素同时和常数相乘或相除操作
每个元素乘方
eig
find
一维
二维
矩阵与常数的大小判断
判断语句
常识
每一行语句后面加`;`
注释`Ctrl+R`与取消注释`Ctrl+T`
clear-->清除工作区的所有变量,避免错误调用
clc-->清除命令行窗口中的所有文本
disp and input
disp是输出函数,类似print
input是输入
disp("i am hole_up");a=[1 2 3]
a=[1,2,3] %两种定义方式相同a=[1 2 3;
4 5 6;
7 8 9]disp(a);A=input('请输入A:');
字符串合并
%1
strcat('1','2')%2
['1','2']% 将数字转化为字符串
c=100;
num2str(c);
disp(['c:',num2str(c)]);
sum
% 向量 直接求和
e=[1 2 3]
sum(e)% 矩阵 需对行和列方向作区分
e=[1,2;3,4;5,6]
% 按列-返回一个行向量
a=sum(e) % 默认是按列
a=sum(e,1) % 两种结果一样
% 按行-得到一个列向量
a=sum(e,2)
% 对整个
a=sum(sum(e))
a=sum(e(:))
提取矩阵指定位置的元素
指定行列
A=[1 1 4 1/3 3;1 1 4 1/3 3;1/4 1/4 1 1/3 1/2;3 3 3 1 3;1/3 1/3 2 1/3 1];
A
A(2,1)
A(3,2)
指定行列,输出一个值
指定行or指定列(返回行/列向量)
% (2)取指定的某一行的全部元素(输出的是一个行向量)
A
A(2,:)
A(5,:)% (3)取指定的某一列的全部元素(输出的是一个列向量)
A
A(:,1)
A(:,3)
指定某些行
A% 取第二行和第五行
A([2,5],:)% 取第二行到第五行
A(2:5,:)% 取第二行和第四行
A(2:2:5,:) %第二到五,中间的2是步长% 取第二行到末行
A(2:end,:)% 去第二行到倒数第二行
A(2:end-1,:)
指定全部元素,按列拼接
A(:)
size
A = [1,2,3;4,5,6]
B = [1,2,3,4,5,6]% r表示行数,c表示列数
[r,c]=size(A)r=size(A,1)c=size(A,2)
repmat
A = [1,2,3;4,5,6]
B = repmat(A,2,1)% 把矩阵A当成矩阵B的一个元素,生成一个2*1的分块矩阵
矩阵的运算
基本运算
A = [1,2;3,4]
B = [1,0;1,1]% 运算原理与线性代数的原理一致A*Binv(B) % B的逆矩阵B*inv(B)A/B % -->A*inv(B)
形状相同的矩阵运算
A = [1,2;3,4]
B = [1,0;1,1]% `.`是一个逐位运算的意思
A .* B % 对应元素之间乘法
A ./ B
每个元素同时和常数相乘或相除操作
A*2
A.*2B/2
B./2
每个元素乘方
A.^2A^2A*A
eig
用于求特征值和特征向量
A = [1 2 3 ;2 2 1;2 0 3]% 计算全部特征值,构成向量E
E=eig(A)% 与计算特征值和特征向量用于
% V-->A的特征列向量拼成
% D-->A的特征值组成了一个对角阵
[V,D]=eig(A)
find
一维
X = [1 0 4 -3 0 0 0 8 6]% 返回矩阵中值不为0值的索引
ind = find(X)% 返回前2个不为0的元素的位置:
ind = find(X,2)
二维
X = [1 -3 0;0 0 8;4 0 6]% Matlab在存储矩阵时,是一列一列存储的
X(4) %c0% 将矩阵拍成一列,其中不为零值的行数是多少
ind = find(X)% 每列是一个单位,按顺序返回不为0值的索引
[r,c] = find(X)
[r,c] = find(X,1) %只找第一个非0元素
矩阵与常数的大小判断
X = [1 -3 0;0 0 8;4 0 6]% 如果满足条件就是1,不满足就是0,结果是一个布尔矩阵X > 0X == 4
判断语句
进行一个简单的成绩等级判断就知道了
a=input('请输入分数:')if a>=85disp("优秀")
elseif a>=60disp("良好")
elsedisp("滚")
end