Matlab的使用(学习笔记)

出处:bilibili清风数学建模 原视频

一.快捷键:

1 :Ctrl+R 注释
2 :Ctrl+T 取消注释
3 :clc+clear 清空工作区,初始化,防止对新的脚本产生干扰

二.常用函数

1输出
disp(‘输出单引号里面的内容’)
输出a这个变量 :disp(‘a’)

3向量的表示
a[1,2,3]b[1 2 3] (a与b都是行向量)
a[1;2;3] (a是一个列项向量,封号 ; 用来分隔每一行的元素)

4合并字符串
strcat(‘str1’,‘str2’,‘str3’)

5将数字转换成字符串
c=100;
num2str( c ) 转化后是字符串100

6常用的输出方式
c = 100 ;
disp ( strcat(‘c的取值为’ , num2str( c ) ) ) 输出结果为:c的取值为100

7输入
input('请输入A: ')

8求和函数
sum(A) 如果A是行向量或者列向量,sum函数会把向量中的这几个数字加和。
B是一个矩阵,则有下面的操作:
sum(B,1) 按行求和得到列向量
sum(B,2) 按列求和得到行向量
sum( sum( B ) ) 对B这个矩阵整体求和,把所有数加在一起。

9提取矩阵中的元素
A(3,2) 提取第3行第2列的元素。
A(5,:) 提取第5行的所有元素(输出是一个行向量 )。
A(:,6) 提取第6列的全部元素(输出是一个列向量 )。
A([2,5] , : ) 只提取第2行和第5行,输出是一个俩行的矩阵。
A(2:5,:) 提取第2行至第5行的元素,输出是一个4行的矩阵。
A(2:end,:) 提取第2行到最后一行的元素
A(2:end-1,:) 提取第2行到倒数第二行的元素
A( : ) 取A的全部元素,按列拼接,得到一个列向量

10得到矩阵的函数和列数
[r , c]=size(A)返回时,r为行数,c为列数
r=size(A,1)返回A的行数
c=size(A,2)返回A的列数

11分块复制
B=repmat(A,3,2):将A复制成3✖2块(A本身也是一个矩阵
B=

AA
AA
AA

12矩阵的运算
①矩阵乘法
A*B 表示AB俩个矩阵相乘,结果同线性代数里面的矩阵相乘。
A.*B表示A、B中对应元素相乘,要求AB俩个矩阵的形状相同。
A.*2表示给A中的每一个元素乘以2,等同于A*2
②矩阵的逆
inv(B) 表示求解B的逆矩阵
③矩阵除法
A/B 表示A乘以B的逆
A./B表示A、B中对应元素相除,要求AB俩个矩阵的形状相同。
A./2表示给A中的每一个元素除以以2,等同于A/2
④矩阵的加减
A+B表示A矩阵加B矩阵,对应位置的每个元素相加
A-B表示A矩阵减B矩阵,对应位置的每个元素相减
④矩阵的乘方
A^ 3表示2个A作乘法运算,同理A^n表示n个A依次作乘法运算。
A.^3表示A中的每个元素自身作立方运算。
⑤求特征值和特征向量
E=eig(A) 求矩阵A的所有特征值,并构成向量E。
[V,D]=eig(A) V矩阵的每一列表示全部A的一个特征向量,D表示A的全部特征值所构成的对角阵,并且V与D是一 一对应的。
例:[V,D]=eig(A),运行结果如下:

A =
     1     2     3
     2     2     1
     2     0     3
V =
    0.8364   -0.6336   -0.2408
   -0.3875   -0.5470   -0.8427
   -0.3875   -0.5470    0.4815
D =
 -1.3166         0         0
         0    5.3166         0
         0         0    2.0000

13find函数的基本用法
①:返回不为0的位置
inx=find(X):返回了x中所有不为0的位置。
inx=find(X,2):返回了x中前2个不为0的位置。
[r , c]=find(X):返回了位置不为0的位置的行和列(r和c为俩个列向量)
[r , c]=find(X,1):返回了第一个位置不为0的位置的行和列
演示如下:

>> X=[1,0,6;4,9,0;7,5,6]

X =
     1     0     6
     4     9     0
     7     5     6
     
>> [r,c]=find(X)

r =
     1
     2
     3
     2
     3
     1
     3
     
c =
     1
     1
     1
     2
     2
     3
     3

14求矩阵中满足特定条件的元素的位置
先输入一个矩阵X,然后输入执行命令X>0(也可以是X>0或X==4一次类推等等),之后得到一个逻辑矩阵,矩阵中为1的位置就是原X矩阵中满足执行命令的元素所对应的位置。
演示如下:

>> X=[1,0,0;5,4,6;2,0,3]

X =
     1     0     0
     5     4     6
     2     0     3

>> X>0

ans =
  3×3 logical 数组
   1   0   0
   1   1   1
   1   0   1

15判断语句
matlab中判断语句的语法类似于C语言。

a=input('请输入一个数');
if a>=85
    disp('')
elseif a>=60
    disp('成绩合格')
else
    disp('成绩不合格')
end
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值