文章目录
1. MATLAB界面与基本操作
初始界面:
刚开始的界面只要一个命令行窗口,为了使编辑界面出现我们需要新建一个文件,注意存放文件的文件夹一定要是英文命名,新建文件后打开就会出现编辑器。新建完文件后,点击左上角的新建脚本就会弹出编辑器了。
1.1 MATLAB的基本操作
- 在命令行中输入指令
- 输入完成指令后,敲回车就执行。
- 在脚本文件中编写程序后运行
- 脚本文件,就是存放代码的文件,尾缀.m
当你在脚本文件中写完代码后,如果你要运行就要先保存一次文件。运行后结果会显示在下方的命令行窗口,同时右侧的工具区也会显示变量的值,有点类似vs2022调试后的监视窗口
- 实时脚本文件,可插入图片,运行时会把结果显示在代码旁边,很适用。
点击左上角的新建里面就会有一个实时脚本文件,运行时会把结果显示在代码旁边,不会再下命令行中显示。
- 在函数文件中编写程序,然后在脚本文件中调用
- 函数文件相当于做好一个工具,以后到了需要的时候直接调用就可以了,尾缀也是.m
- 有固定的格式,例如:function[sigma,theta,x,y,final_res] = simple(f,a,b,index)
- 符号
- 注释:%后面写的内容都是注释,类似于C/C++的//或者python的#
- 分号:写完一行代码,该行末尾加个分号,会被执行计算,但不会在命令行窗口显示输出
- 命令行输入:clc(清空命令行),clear(清空工作区),按上方向键调用历史命令,有点类似Linux操作。
在实时脚本文件中,通过运行节可以实现代码的分段运行。
2. MATLAB字符串和文本
2.1 string变量
- 双引号(英文的)
当我们要定义一个字符串变量时,可以写
t = "hello world"
和C语言的语法也没啥区别。
如果字符串中本质需要右双引号,这就和C语言的处理方法不同了,我们需要加上双重双引号
t = "hello ""haha"" world"
这样的话,t就会等于hello "haha" world
2. 字符串和数组的区别
tmp = 1+1,运行结果是2
tmp = “1+1”,运行结果是1+1
3. 字符串添加数据
a = t+"haha"
矩阵存储多个元素
b = ["a","bb","ccc","dddd"]
演示:
2.2 char变量
- 单引号
字符串表示的数据并不对于到文本,例如:
tmp = 'hellomatlab'
运行出来的结果是1X11,如果是字符串这里会是1X1。也就相当于这是一个字符数组。
如果字符串本身右单引号,则在单引号位置使用双重单引号
如果需要选择第4个字符:
s = tmp(4)
%s就会等于l
MATLAB的数组下标是从1开始的,同时也不能越界访问。
- 添加内容
使用方括号把多个字符数组串联起来
tmp2 = [tmp,'haha']
注意:双引号得到是是1个string变量,单引号得到是是多个char变量
3. MATLAB的矩阵运算
- 创建一个1行6列的矩阵:
a = [1 3 5 7 9 11]
- 对矩阵中的每个元素都加上3
b = a+3
正常在线性代数的课程都会讲,矩阵的相加只能是同类型的矩阵,所有这里MATLAB会将3变一个充满的3的和a同类型的矩阵相加。
演示:
- plot函数绘图,以索引为横坐标,索引就是该数组在矩阵里的第几个类似于数组下标
plot(b)
grid on %在图片中添加网格线
- 多维矩阵的创建,以空格或逗号分割同一行元素,分号分割各行.
常见运算:转置、取逆、求特征值会特征向量
a = [3 2 1;2 4 1;3 9 2]
b = a' %求转置
[d,v] = eig(a) %求特征值和特征向量
e = inv(a) %求逆矩阵
f = a*e %求证,逆矩阵乘矩阵会得到1
演示:
- 矩阵乘法,和矩阵点乘
c = a*b %矩阵乘法
e = a.*b %矩阵点乘,对应元素相乘
演示:
未完