不懂先生

matlab使用方法
1.1.1MATLAB系统环境切换工作目录【注意:要先创建文件夹再切换】cd D:\代码\matlabMATLAB...
扫描右侧二维码阅读全文
08
2021/09

matlab使用方法

1.1.1MATLAB系统环境

切换工作目录【注意:要先创建文件夹再切换】

cd D:\代码\matlab

MATLAB搜索路径

04793-wyb56v7kklj.png

遇到同名的变量名和内部函数名时,会优先选择变量名

03765-2x30kooic02.png

设置文件搜索路径的方法

15366-ud9d8fbhhoo.png

clear 清除工作区的全部变量
clc 清除界面的代码

1.2.1MATLAB数值数据

输出格式

03953-fj5nfercmw.png
【注意】format函数只影响数据输出格式,而不影响数据的计算和存储

常用的数学函数

43659-gt1z8e6esf.png
72665-cogsvtsx6m.png
14056-4fw7i0glx8v.png
16697-c7xlzfijzc6.png

取整的函数

75877-ul7et6rq8s.png
23071-q6lauh82ww.png
46623-1vpxk8llu5l.png

求1-100之间的素数

C = rem(A,B):rem是余数的函数,意思是A取余B
80561-44nm3xte7wq.png
20614-1z0xrhx1zbn.png

1.3.1变量及其操作

向量的产生

x = 1:10;是指x包含从1到10,[1,2,3,4,5,6,7,8,9,10]
97798-j2apa7i2dk.png
15757-o91w1nosi4.png
11170-3gpdob23gi.png

预定义变量

预定义变量是由系统本身定义的变量。

  • ans时默认赋值变量
  • i和j代表虚数单位
  • pi代表圆周率
  • NaN代表非数,在绘图时如果想裁掉其中一部分,可以把要裁掉的坐标数据设为NaN就可以了

变量的管理

  1. 内存变量的删除和修改
    who:显示变量名称,whos显示变量详细信息
  2. 内存变量文件
    用于保存MATLAB工作区变量的二五年间叫做内存变量文件,其扩展名为.mat,也叫MAT文件。
mat文件生成

save命令:创建内存变量文件
save mydata a x :就可以把变量a和x保存在mydata.mat文件中
load命令:装入内存变量文件,
load mydata :把mydata.mat文件内容装入matlab工作空间,可以在新建的工作区使用

1.4.1矩阵的表示

矩阵的建立

1.利用直接输入法建立矩阵:
将矩阵的元素用中括号括起来,按矩阵行的顺序输入个元素,同一行各元素之间用逗号或者空格隔开,不同行的元素之间用分号分割
77616-iywsn5cgvbk.png
2.利用已建好的矩阵建立更大的矩阵:
一个大矩阵可以由已经建立好的小矩阵拼接而成
86830-9w46qf92or6.png
30984-7euq9tcvlbf.png
3.可以用实部矩阵和虚部矩阵构成复数矩阵:
23018-srnsjmz1xm.png
这里B和C中的元素是一一对应的

冒号表达式

产生行向量

93323-3x0a12hh1g9.png
07654-u76wh9mjl6e.png
注意:省略步长e2,则步长为1,例如:t=0:5与t=0:1:5等价
步长相当于等差数列的d

linspace:产生行向量

79942-l633ue8v5u.png

结构矩阵和单元矩阵

(1)结构矩阵的创建

88216-wuo7qzzl65.png

(2)单元矩阵

建立单元矩阵和一般矩阵相似,直接输入就可以了,只是单元矩阵元素用大括号括起来。
45584-4uyyul50q34.png

1.5.1矩阵元素的引用

(1)通过下标来引用矩阵的元素
下标必须为整数,并且要用小括号括起来 A(行,列)
62463-y7etvh63id.png
如果括号内输入的数大于矩阵的行数和列数,则会自动扩展原来的矩阵,并在没有输入的矩阵元素赋值为0,输入的位置赋输入的指定值
44898-dt5hppitgwd.png
(2)通过序号来引用

  • 在matlab中矩阵元素按列存储,级首先存储矩阵的第一列元素,然后存储第二列元素,···,一直到矩阵的最后一列。
  • 矩阵元素的序号就是矩阵元素在内存中的排列顺序。
    56926-w0ia2mz7utf.png

先存列,也就是存入数据的顺序为1,4,2,5,3,6,则输出A(1)=1,A(2)=4,A(3)=2,A(4)=5
序号与下标是一一对应的,以m×n矩阵A为例,矩阵元素A(i,j)的序号为(j-1)*m+i
矩阵元素的序号与下标可以利用sun2indind2sub函数实现相互转换。
sub2ind函数:将矩阵中指定行列下标转换成存储的序号,调用格式为:
53090-azuzndcjkwe.png
sub2ind函数举例
80300-dvszlwwt6th.png
注释:

  1. size(A)得到一个包含两个元素的向量,第一个元素是行 第二个元素是列,从而得到矩阵的行数和列数[4,5]
  2. [1,2;2,2]和[1,1;3,2]是指(1,1),(2,1),(2,3),(2,2)是一一对应的
    ind2sub函数:将把矩阵元素的序号转换成对应的下标,其调用格式为:

81641-x5c7xpct5dq.png
ind2sub函数举例:
08375-anmskq7vrke.png
注释:表示的是第一个元素的下标为(1,1),第三个元素的下标为(3,1),第五个元素的下标为(2,2)

利用冒号表达式获得子矩阵

子矩阵是指由矩阵中的一部分元素构成的矩阵

10582-n4kscdfmocr.png
举例:
58195-3zze67otqf6.png
end运算符:表示某一维的末尾元素下标
举例:
64554-bpif0z32ck6.png

利用空矩阵删除矩阵的元素

空矩阵是指没有任何元素的矩阵
93803-nrousfzpdc.png
举例:
88023-r35qny1hpy.png

改变矩阵的形状

reshape(A,m,n):在矩阵总元素保持布标的前提下,将矩阵A重新排成m×n的二维矩阵
注意:reshape函数只是改变原矩阵的行数和列数,但并不改变原矩阵元素个数及其存储顺序,也就是按照之前存储的循序先排行后排列,若改变后的元素超过之前的会报错
47249-9ts0nrw8bbj.png

1.6.1MATLAB基本运算

matlab算数运算是针对矩阵的

算数运算

(1)基本算数运算

基本算数运算符:+,-,*,/,^。

  • matlab的算数运算实在矩阵意义下进行的。
  • 单个数据的算数运算只是矩阵运算的一种特例。
加减运算

-若两矩阵同型,则运算时两矩阵相应元素相加减。
-若两矩阵不同型,则matlab将给出错误信息
-一个标量也可以和矩阵进行加减运算,这是把标量各矩阵的每一个元素进行加减运算

乘法运算
  • 矩阵A和B进行乘法运算,要求A的列数B的行数相等,此时则称A、B矩阵式可乘的,或称A和B两矩阵位数和大小相容。、
  • 如果两者的位数或大小不相容,则将给出错误信息,提示用户两个矩阵是不可乘的。
除法运算
  • 在MATLAB中,有两种矩阵除法运算:右除/和左除。
  • 如果A矩阵式非奇异方阵,则B/A等效于Binv(A),AB等效于inv(A)B
    对于矩阵来说,右除和左除表示两种不同的除数矩阵被除数矩阵关系。

示例:
25392-pyjh5bw0d9.png

乘方运算

一个矩阵的乘方运算可以表示成 A^x,要求A为方阵,x为一个标量
74171-j21ilspm1jl.png
其实就是线代里面的A*A

点运算

32620-3l35ljnbsv4.png

  • 点运算符:.* 、./ 、.和.^。
  • 两矩阵进行点运算是指他们的对应元素进行相关运算,要求两矩阵同型。是A矩阵各元素与B矩阵相同位置的元素进行的运算
    示例:

57408-bqyjj89452i.png
注意:点运算是MATLAB很有特色的一个运算符,在实际应用中起着很重要的作用,也是很多初学者容易弄混的一个问题

关系运算

  • 关系运算符:<(小于)、<=(小于等于)、>(大于)、>=(大于等于)、==(等于)、~=(不等于)。
    -当两个比较量是标量时,直接比较两数的大小,若关系成立,关系表达式结果为1,否则为0.

75332-d0s2q5whcp5.png
13722-8lpwfzegjl3.png

逻辑运算

逻辑运算符:&(与)、|(或)、~(非)

82175-wlspha2yku.png
81317-977q80b9brg.png
44657-zosnay7m78.png

示例:

34945-6f9a1fsd618.png
其中第五行的意思是:在向量m中,找到所有满足这个等式的序号,赋值给k。

Last modification:January 18th, 2022 at 04:26 pm

Leave a Comment