Matlab基础知识汇总

本文总结了Matlab中较基础且较常用的代码

%% 基础知识
%(1)在每一行的语句后面加上分号表示不显示运行结果
a=3;
a=5
%(2)clear可以清除工作区的所有变量
clear
%(3)clc可以清除命令行窗口
clc
%因此很多代码开头都会加
clear;clc

%% 输出输入函数
%disp函数
a=[1,2,3];
a=[1 2 3];
disp(a)
%disp比较特殊,可加也可不加分号
disp(a);
%两个字符串合并方法
%(1)strcat
strcat('Hello','World')
%(2)[str1,str2,`````,strn]
['Hello','World']
%字符串函数:num2str 将数字转换为字符串
c=100;
num2str(c);
disp(['c的取值为',num2str(c)]);
disp(strcat('c的取值为',num2str(c)));

%input函数
A=input('请输入A:');
B=input('请输入B:')
%input函数加了分号不会显示输入结果,不加会显示

%%sum函数
%(1)如果是向量(行向量、列向量)都是直接求和
E=[1,2,3];
sum(E)
E=[1;2;3];
sum(E)
%(2)如果是矩阵,则需要根据行和列的方向作区分
clc
E=[1 2;3 4;5 6];
%a=sum(x) 按列求和,得到一个行向量
a=sum(E)
a=sum(E,1)
%a=sum(E,2) 按行求和,得到一个列向量
a=sum(E,2)
%a=sum(x(:));%对整个矩阵求和
a=sum(sum(E))
a=sum(E(:))


%% 基础:matlab中如何提取矩阵中指定元素的位置
%(1)取指定行和列的一个元素(输出的是一个值)
clc;
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(2,1)
A(3,2)
%(2)取指定的某一行的全部元素(输出的是一个行向量)
clc;
A(2,:)
A(5,:)
%(3)取指定的某一列的全部元素(输出的是一个行向量)
clc;
A(:,1)
A(:,3)
%(4)取指定的某些行的全部元素(输出的是一个矩阵)
clc;
A([2,5],:)%只取第二行和第五行(2行)
A(2:5,:)%取第二行到第五行(4行)
A(2:2:5,:)%取第二行和第四行(从2开始,每次递增2个单位,到5结束)
1:3:10
10:-1:1
A(2:end,:)%取第二行到最后一行
A(2:end-1,:)%取第二行到倒数第二行
%(5)取全部元素(按列拼接的,最终输出的是一个列向量)
clc
A(:)


%% size函数
clc
A=[1,2,3;4,5,6]
B=[1,2,3,4,5,6]
size(A)
size(B)
%size(A)函数是用来求矩阵A的大小的,它返回一个行向量,第一个元素是矩阵的行数,第二个元素时矩阵的列数
[r,c]=size(A)
r=size(A,1) %返回行数
c=size(A,2) %返回列数

%% repmat函数
%B=repmat(A,m,n):将矩阵A复制m×n块,即把A作为B的元素,B由m*n个A平铺而成
A=[1,2,3;4,5,6]
B=repmat(A,2,1)
C=repmat(A,3,2)

%% Matlab中矩阵的运算
%*和/代表矩阵之间的乘除(A/B=A*inv(B))
A=[1 2;3 4]
B=[1 0;1 1]
A*B
inv(B)%B的逆矩阵
B*inv(B)
A*inv(B)
A/B

%两个形状相同的矩阵对应元素之间的乘除法需要使用“.*”和“./”
A=[1 2;3 4]
B=[1 0;1 1]
A.*B
A./B

%每个元素同时和常数相乘或相除操作都可以用
A=[1 2;3 4]
A*2
A.*2
A/2
A./2

%每个元素同时乘方时只能用.^
A=[1 2;3 4]
A.^2
A^2%等价于A*A

%% Matlab中求特征值和特征向量
%用eig函数
A=[1 2 3;2 2 1;2 0 3]
%(1)E=eig(A):求矩阵A的全部特征值,构成向量E
E=eig(A)
%(2)[V,D]=eig(A):求矩阵A的全部特征值,构成对角阵D,并求A的特征向量构成V的列向量。(V的每一列都是D中与之相同列的特征值的特征向量)
[V,D]=eig(A)

%% find函数的基本用途
%find函数可以用来返回向量或者矩阵中不为0的元素的位置索引
clc;X=[1 0 4 -3 0 0 0 8 6]
ind=find(X)
%返回前2个不为0元素的位置
ind=find(X,2)
%X为矩阵时:
X=[1 -3 0;0 0 8;4 0 6]
ind=find(X)
%[r,c]=find(X)可以存储非零元素的行和列
[r,c]=find(X)

%% 矩阵与常数大小判断运算
%共三种:>,<,==
clc;
X=[1 -3 0;0 0 8;4 0 6]
X>0
X==4

%% 判断语句
a=input('请输入考试分数:')
if a>=90
    disp('A');
elseif a>=80
    disp('B');
elseif a>=70
    disp('C');
else
    disp('D');
end
  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值