如果你初次接触matlab,想要快速上手基本的数学运算,可以参考这篇文章。本人参考
b站:https://www.bilibili.com/video/BV18y411z7Ar/?spm_id_from=333.337.search-card.all.click
做出相应笔记,matlab是R2023a版本。
目录
1.问题解决
当不了解matlab的某一个函数或者相关知识时,只需要在搜索栏输入内容回车即可,或者使用命令help+内容。
第一种方式:
第二种方式:
2.当做计算器使用
加减乘除次方分别是+ - * / ^,和正常运算顺序一样。注意开根号可以是sqrt()运用函数,也可以^(1/2)或者^(0.5),绝对值函数是abs()。
示例练习:
第一个运算如下,需要注意从里层往外层打,而不是从左向右打。
第二个有In运算,在matlab官方文档中解释Y = log(X)
返回数组 X
中每个元素的自然对数 ln(x)。其余的像log2,log10,甚至是loglog,只需要在log后跟上底数,括号里加上对数就可以了。π直接打成pi即可。
补充
当进行短运算时一个式子下来就行,但是长运算就要借助embedding fuction。仍然以上面第一个式子为例,可以写成这样的格式就更舒服。
3.变量类型
matlab和C语言等不同,不需要提前声明变量的类型,它默认是double。为了进一步证明是double类型的,我们输入who指令,可以返回所有变量,输入whos可以查看所有变量详细信息。
matlab变量类型如下
4.变量命名规则
首先保留的关键字不能作为变量名,查看关键字在matlab里很方便,输入指令 iskeyword 回车就可以显示。
其次一些有特殊含义的变量名不要作为自定义变量名,虽然可以使用,但是会把你弄懵。一般就是这几个名字,下面会展示一下。
其中ans作为默认变量名,i,j是复数符号,Inf代表无穷,eps代表很小的数,NaN代表非数字,pi就是π。
接下来就是特殊的用法,演示一下cos,我们赋值cos变量为liu xu zhao字符,然后再使用cos(8)返回的是第八个字符z,清除掉格式之后才能恢复到原来。
5.注释
单行注释%,多行注释是%{ %}。添加注释快捷键是ctrl+r,取消注释快捷键是ctrl+t.
特殊注释:MATLAB还支持一些特殊的注释,如 %#ok
用于忽略特定的警告信息。例如:
matlab复制 %#ok<*UNRCH> % 忽略未达到的代码警告
6.数据类型
示例一下,默认是short,可以指定long和其他类型,加上E表示科学计数法,bank只保留后两位,rat表示有理数
7.常用指令和快捷键
输入clc指令可以清屏使用,类似于windows终端里的cls指令。
clear指令可以清除所有变量,慎重使用。
我们输入who指令,可以返回所有变量,输入whos可以查看所有变量详细信息。
在matlab中使用 ↑ 可以再次使用上一条指令。
在命令框中,如果我们输入一些公式不希望立马返回结果可以在后面加上分号。
tic--toc指令中间可以计时,提前指明变量的大小可以使程序运行更快,不需要频繁地调整变量大小。正如下图所示B更加快。
clear all可以清除所有变量,close all指令可以关掉所有的图形界面。
ctrl+c可以从宕机中强制退出,适合用于程序写死了想要退出或者matlab显示busy。
matlab非常好用的一点是可以智能缩进,也可以使用快捷键 ctrl+i 实现。
matlab添加注释快捷键是ctrl+r,取消注释快捷键是ctrl+t
8.矩阵的输入
首先是行向量row vector,列向量Column vector,以及矩阵向量matrix的输入。如下图,a是行向量,b是列向量,c是一个矩阵。行向量之间空格隔开,行与行之间用分号隔开。
9.矩阵索引问题
矩阵索引使用小括号,小括号里面是索引号。
第一类索引是带有逗号隔开的,逗号之前是行号,逗号之后是列号,所表示的是一个子矩阵。如果只有一个元素,是一个1*1的矩阵,如下图可以认为是第一二三行和第一二列构成。
第二类索引问题不带有逗号,排序是竖着排顺序的。里面可以是一个数字或者一个数组。
如何不使用函数让矩阵转置呢?只需要按顺序写下来就可以了,下面以3*3矩阵演示一下。
10.索引处数值更新
矩阵是从上往下,从左向右排序的。
最基础的是直接指定c(1)=100,如果想要同时使5 6 8 9位置的数字变成0也可以。
在创建向量时可能不好创建,比如创建 a[1 2 3 4 ... 100],或者a(1 3 5 7 .... 99)这些。这个时候可以利用冒号来进行操作,第一个数字表示起始位置,第二个数字表示步长,第三个位置表示末位置。如果只有两个数就是始末位置,步长默认为1。
平常使用的时候,比如我们想要选中第一行的所有元素,可以是a(1,:)想要选中第一二行所有元素可以是a( [1,2],:),同理想要选中所有元素可以是a或者是a(:,:)。如果想要删除一个元素只需要令它为[]即可。
11.增广矩阵
12.矩阵的运算
(1)矩阵运算的符号
(2)矩阵除法的概念
(3)矩阵与矩阵
矩阵和矩阵之间可以进行加减乘除,点乘,点除操作
(4)矩阵与实数
矩阵和数字之间可以进行加减乘除,次方操作:
(5)矩阵自身
13.特殊的矩阵
第一个矩阵是线性间隔矩阵,第一个数是起始位置,第二个是结束位置,第三个是总共有多少列。
第二个矩阵是生成单位矩阵,里面的数字表示几阶
第三个是生成0矩阵,第四个是1矩阵
第五个是对角阵,只需要写出来对角线上的数字就行
第六个是随机数矩阵
14.矩阵常用函数
max(A)是求出来每一列最大的数,并放到一起。max(max(A))是求这个矩阵最大值,min(A)是求这个矩阵每一列最小值,sum(A)是求的每一列的和,mean是每一列的平均数。sort函数是让每一列按照从小到大排序,sortrows(A)函数是按照第一列的数字排序,排序一整行。size表示矩阵的大小,length表示一列的长度或者说是一个向量的长度,find去寻找位置。
15.matlab语言基础
首先判断语句 if---elseif---end结构,或者说是switch---case---otherwise---end结构,还有一种是try---catch---end结构,在end的下一行加上lasterr可以显示出错原因。
循环结构第一种是for---end循环然后是while---end语句,很好衔接。
比较符号除了不等于之外和c语言都一样,~=表示不等关系。
未完待续。。。