欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

MATLAB基础

程序员文章站 2022-07-03 20:00:23
一、matlab系统环境1、下图是命令行窗口,很简单。注意的是…表示续行符,以在下一行接着上一行输入命令。2、你的操作都在当前文件夹窗口里面文件夹。当前文件夹窗口为下图圆圈所圈窗口。注意的是cd的地址格式:cd e:\work(假设e盘下的work文件夹)3、注意工作区窗口和命令行窗口的关系。注意的是:在工作区窗口可以对变量进行保存、编辑、删除操作。4、matlab的搜索路径也就是说:(1)如果变量sin与内部函数(如sin())同名,那么代表的是变量。尽量不要二者同名。(2)如果...

MATLAB基础
注:2 ~ 6节为数值型数据;第7节为字符型数据。

一、matlab系统环境

1、下图是命令行窗口,很简单。
注意的是…表示续行符,以在下一行接着上一行输入命令。
MATLAB基础
2、你的操作都在当前文件夹窗口里面文件夹。当前文件夹窗口为下图圆圈所圈窗口。
注意的是cd的地址格式:cd e:\work(假设e盘下的work文件夹)
MATLAB基础
3、注意工作区窗口和命令行窗口的关系。
注意的是:在工作区窗口可以对变量进行保存、编辑、删除操作。
MATLAB基础
4、matlab的搜索路径
也就是说:
(1)如果变量sin与内部函数(如sin())同名,那么代表的是变量。尽量不要二者同名。
(2)如果你想要执行M文件,如果当前文件夹下和文件搜索路径文件夹下都有名为M的文件,则先搜索当前文件夹。
MATLAB基础
设置文件搜索路径的方法:
MATLAB基础

二、MATLAB数值数据

1、MATLAB的数值数据类型,是根据内存单元进行范围划分的,分为:
整型、浮点型、复数型
2、整型
按字节数划分
MATLAB基础
整型中的、有无符号之间的、转换:
MATLAB基础
MATLAB基础
3、浮点型
matlab默认数值数据为浮点型
MATLAB基础
class()查看数据类型
matlab默认数值数据为浮点型
MATLAB基础
4、复型
MATLAB基础
MATLAB基础
5、数值数据输出格式
注意format仅影响的是输出数据的格式
注:第二个50/3是默认格式,结果为short型,因此小数位为4位。MATLAB基础
6、常用的数学函数
MATLAB基础
例子如下图:
MATLAB基础
接着看常用函数的应用
MATLAB基础
MATLAB基础
MATLAB基础
MATLAB基础
MATLAB基础
MATLAB基础
注:x=1:100表示1到100的数。find()把为1的k的序号保存到向量k1。p把x(k1)中序号为k1的序号给输出。
MATLAB基础

二、变量与赋值

变量名只能以字母开头。
matlab区分变量名的大小写。
标准函数名和命令名一般用小写字母。
MATLAB基础
举例:
MATLAB基础
预定义变量,我们在使用时尽量不要对预定义变量进行赋值(比如你在以前写程序时常把i作为循环变量是吧)。
注意:ans是你只输入一个表达式,那么结果就默认给了ans。
NaN非数,比如,x坐标是0-20,你只想要0-10,那么把11-20设为NaN就可以了。
MATLAB基础
内存变量文件的作用是,把如果你想让一些变量永久的保存下来方便以后使用,那你可以把变量写入.mat文件。
MATLAB基础
对下图的解释:
save mydata a x意思是把变量a和x存到mydata.mat文件。
下次打开matlab时,如果用到a和x变量,你可以执行load mydata
MATLAB基础

四、MATLAB矩阵的表示

1、矩阵建立
方法一
MATLAB基础
方法二MATLAB基础
方法三
MATLAB基础
2、行向量建立
方法一
MATLAB基础
方法二
MATLAB基础
3、结构矩阵和单元矩阵
先看结构矩阵,结构矩阵的每个元素是同一种类型的,但是每一个元素再往下一级却是不同类型的数据。
你可以想想有三个学生构成一个矩阵,每个学生分别有自己的学号、姓名、成绩。如下图举例(注意a(1)、a(2)、a(3)为同一类型)。
我们需要为结构矩阵的每个成员赋值
MATLAB基础
再来看单元矩阵
其和结构矩阵不同之处在于,其元素直接是由不同类型的数据组成的。
对于单元矩阵并注意:把所有元素用大括号括起来。
MATLAB基础

五、矩阵元素的引用

1、通过下标引用,如下图。
值得注意的是,比如下图A(4,5)超出了A矩阵的范围,那么Matlab会自动扩展矩阵范围,如下图。
MATLAB基础
2、通过序号引用。注:这里的序号不是(行号,列号),而是:
A(1)、A(2)、A(3)、A(4)、A(5)、A(6)分别表示1、4、2、5、3、6.
也就是说从第一列从上往下排序,以此类推。
MATLAB基础
上面两用引用只是表示形式不一样。而这二者是可以转换的:
注:下图中的S可以通过size()获得
MATLAB基础
转换举例如下:
注:size(A)表示矩阵A的向量,其包含两个元素,分别是行数2和列数3。
MATLAB基础
MATLAB基础
对此举例:
下图:序号1、3、5的坐标为(1,1)、(3,1)、(2,2)
[3、3]代表3行3列的矩阵
MATLAB基础
接下来看子矩阵:
MATLAB基础
举例:
MATLAB基础
MATLAB基础
接下来矩阵的删除方法:
MATLAB基础
接下来是改变矩阵的形状(行和列数):
MATLAB基础
下图:
注意,存储顺序是和序号排序的顺序一样的,从第列竖着往下数,依此类推。
MATLAB基础
接下来看向量堆叠(可认为是向量行该改变的特殊一种):
MATLAB基础

六、MATLAB基本运算

包括算术运算、关系运算和逻辑运算
1、算术运算
MATLAB基础
加法运算
(同型指的是行和列的维数分别相同)
MATLAB基础
乘法:
MATLAB基础
除法:
注:
(1)奇异矩阵是bai线性代数的概念du,就是该矩阵的秩不是满秩。首先,看这个zhi矩阵是不是dao方阵(即行数和列数相等的矩阵。若行数和列数不相等,那就谈不上奇异矩阵和非奇异矩阵)。
然后,再看此矩阵的行列式|A|是否等于0,若等于0,称矩阵A为奇异矩阵;若不等于0,称矩阵A为非奇异矩阵。 同时,由|A|≠0可知矩阵A可逆,这样可以得出另外一个重要结论:可逆矩阵就是非奇异矩阵,非奇异矩阵也是可逆矩阵。 如果A为奇异矩阵,则AX=0有无穷解,AX=b有无穷解或者无解。如果A为非奇异矩阵,则AX=0有且只有唯一零解,AX=b有唯一解。
(2)非奇异矩阵:
若n阶方阵A的行列式不为零,即 |A|≠0,则称A为非奇异矩阵或满秩矩阵,否则称A为奇异矩阵或降秩矩阵。
MATLAB基础
对于矩阵来说左除和右除不一样,而对于标量来说左除和右除具有相同的结果值。如下所示。
MATLAB基础
关于矩阵的乘方:
你要是不懂矩阵的n次方如何运算,请看李永乐老师讲的方法:
https://zhidao.baidu.com/question/942304123602317652.html
MATLAB基础
好,接下来将MATLAB特有的点运算:
MATLAB基础
下面举例,注意点运算和算术运算的区别
MATLAB基础
MATLAB基础
2、下面讲关系运算符:
MATLAB基础
MATLAB基础
举例:
下图中P矩阵为1的位置即A矩阵为偶数的元素位置
MATLAB基础
3、逻辑运算
(注意这里与C语言的区别:
C的逻辑运算符是! && ||
Matlab的逻辑运算符是~ & |
C的~ & |分别代表按位取反、按位与、按位或)。
MATLAB基础
MATLAB基础
MATLAB基础
看个例子:
MATLAB基础

七、字符串处理

注意:咱们前几节讲的都是数值型数据,接下来讲字符型数据
字符可以用一个向量表示:
MATLAB基础
MATLAB基础
MATLAB基础
下面看一个例子:
注:ch(end