博主快速入门matlab,系统地整理一遍,如何你和我一样是一个新手,那么此文很适合你;
本人能力有限,文中难免有错误和纰漏之处,请大佬们不吝赐教
创作不易,如果本文帮到了您;
请帮忙点个赞 👍👍👍;
请帮忙点个赞 👍👍👍;
请帮忙点个赞 👍👍👍;
1 常用命令
matlab支持在命令行窗口直接输入命令进行相应的操作,这里介绍一下常用的命令和符号,是最基本需要了解的知识;
1.1 功能符号
符号 | 功能 |
---|---|
: | 用于定义数组或向量中会用到,功能较多 |
% | 作为注释的时候会使用 |
%% | 批量注释的时候使用 |
() | 运算中括号内的运算优先级更高 |
[] | 定义矩阵的时候会用到 |
{} | 构成单元数组 |
. | 小数点(浮点数中使用);或者用作域访问符号 |
... | 续行符号,一行写不下可以通过续行符换到第二行 |
= | 赋值符号 |
‘ | 单引号,用于字符串 |
1.2 常用指令
指令 | 功能 |
---|---|
ls /dir | 列出当前路径下的文件结构; |
cd | 进入某个路径,用法:cd dir |
clc | 清楚命令行窗口显示的内容 |
path | 显示matlab path,matlab运行脚本时会搜索这些路径 |
quit | 退出matlab |
type | 显示文本内容 |
help | 显示帮助内容 |
save | 保存工作区的内存变量到指定文件 |
1.3 指令的使用
这里简单的使用了其中几个操作,具体如下;
冒号的使用:定义了一个数组或者称之为向量;
ls
的使用
2 数据类型
2.1 变量
变量是任何程序设计语言的基本元素;
MATLAB中变量的特点:
- 不强制要求事先对所使用的变量进行声明;
- 不需要指定为变量指定类型,MATLAB 语言会根据所赋予变量的值或对变量所进行的操作来识变量的类型;
- 在赋值过程中,如果赋值变量己存在,则MATLAB 将使用新值旧值,并以新值类型代替旧值类型;
变量的命名规则::
- 变量名必须以字母开头,之后可以是任意的字母、数字或下划线;
- 变量名区分字母的大小写;
- 变量名不超过 31 字符,第 31 字符以后的字符将被忽略;
局部变量和全局变量:
- 局部变量:仅在当前M文件内有效;
- 全局变量:需要通过global进行修饰;
2.1.1 变量的类型
- 字符串:用单引号进行修饰,例如:
'hello world'
; - 向量/一维数组
- 行向量:
a=[1 2 3]
或者a=1:1:3
; - 列向量:
a=[1;2;3]
- 行向量:
- 矩阵/二维数组;
a = [1 2 ; 3 4 ]
表示 a = [ 1 2 3 4 ] a = \left[\begin{matrix} 1 & 2 \\ 3 & 4 \\ \end{matrix}\right] a=[1324] - 单元型数据;
- 结构型数据;
2.1.2 数据类型
- 数据类型:数据类型和
C
/C++
的类似,具体如下;-
定点数:
1.char
:字符型;
2.unsigned char
:无符号字符型;
3.short
:短整形数据;
4.unsigned short
:无符号短整形数据;
5.int
:整形数据;
6.unsigned int
:无符号整形数据;
7.long
:长整形数据;
8.unsigned long
:长整形数据; -
浮点数:有两种表示方法,十进制表示,指数表示这里称科学计数法好;
1.float
:单精度浮点,只能保留7位有效数字;
2.double
:双精度浮点,可以保留16位有效数字;
3. 科学计数法:5.1E5等于 5.1 ∗ 1 0 5 5.1*10^5 5.1∗105,5.1E-2等于 5.1 ∗ 1 0 − 2 5.1*10^{-2} 5.1∗10−2; -
复数: a + b i a+bi a+bi称为之为复数, a , b a,b a,b均为实数;
-
2.1.3 数据转换
2.2 常量
-
pi:圆周率
-
eps:浮点相对精度
-
inf
:无穷大
-
NaN
:不定值 -
i(j)
:复数的虚部 -
realmin
:最小实数
-
realmax
:最大实数
-
ans
:默认变量
2.3 运算符
2.4 运算符
运算符基本和C
/C++
相同;
运算符 | 定义 |
---|---|
+ | 加 |
- | 减 |
* | 乘 |
.* | 点乘 |
^ | 乘方 |
.^ | 点乘方 |
/ | 右除(右边是除数:5/2=2.5) |
./ | 点右除 |
\ | 左除 |
.\ | 点左除 |
' | 转置 |
.' | 点转置 |
乘与点乘的区别:
假如AB是两个矩阵,A*B是进行矩阵相乘,A.*B是A矩阵的每一个元素乘以B矩阵对应位置的元素形成的一个新矩阵;
矩阵 A = [ 1 2 3 4 ] A = \left[\begin{matrix} 1 & 2 \\ 3 & 4 \\ \end{matrix}\right] A=[1324], B = [ 5 6 7 8 ] B = \left[\begin{matrix} 5 & 6 \\ 7 & 8 \\ \end{matrix}\right] B=[5768],则A乘B为 A ∗ B = [ 19 22 43 50 ] A*B=\left[\begin{matrix} 19 & 22 \\ 43 & 50 \\ \end{matrix}\right] A∗B=[19432250],则A点乘B为 A . ∗ B = [ 5 12 21 32 ] A.*B=\left[\begin{matrix} 5 & 12 \\ 21 & 32 \\ \end{matrix}\right] A.∗B=[5211232]
右除和点右除,左除和点左除都是同样的道理,这里不再赘述。
2.5 关系运算符
运算符 | 作用 |
---|---|
== | 等于 |
~= | 不等于 |
>= | 大于等于 |
> | 大于 |
<= | 小于等于 |
< | 小于 |
2.6 逻辑运算符
运算符 | 作用 |
---|---|
&& | 逻辑与 |
|| | 逻辑或 |
~ | 逻辑非 |
xor | 逻辑异或 |
any | 非零元素为真 |
all | 所有元素非零为真 |
3 函数运算
上面时最基本的四则运算,通常在实际的项目中,还需要对复数,三角函数,指数等进行计算,那么可以直接调用matlab提供的函数。
3.1 复数运算
下面通过复数1+1i
进行各个复数运算函数的测试;
abs
:1+1i
的模应该为 2 \sqrt2 2;
angle
:1+1i
的相角应该为45°,即 π 4 \cfrac{\pi}{4} 4π
complex
:complex(1,1)
conj
:共轭复数,两个实部相等,虚部互为相反数的复数互为共轭复数,所以conj(1+1i) = 1-1i
;
imag
:求复数的虚部;real
:求复数的实部;unwrap
:调整矩阵元素;isreal
:是否实数
3.2 三角函数
sine
:正弦函数;cosine
:余弦函数;tangent
:正切函数;secant
:正割函数;cosecant
:余割函数;
4 程序设计
在matlab脚本文件中可以进行函数设计,因为后缀名为.m
因此叫M文件;这篇文章《【matlab 基础篇 01】快速开始第一个程序》已经做了比较详细的介绍。此处不再赘述,下面将对如何进行程序的封装,还有程序的顺序结构做一个介绍。
4.1 函数
关键字function
需要用来修饰matlab的函数;写一个简单的函数,具体如下图所示;
关键点:
- 函数名需要与M文件名相同,如上图①所示;
- 传入三个参数
arg1,arg2,arg3
,返回三个参数为retavl1,retavl2,retavl3
,如上图②所示; - 命令行中可以直接调用该函数进行测试,结果符合预期,如上图③所示;
4.2 条件结构
4.2.1 if-esle-end
形式一:
if 表达式
%TODO
end
形式二:
if 表达式
%TODO
else
%TODO
end
形式三:
if 表达式
%TODO
elseif
%TODO
else
%TODO
end
4.2.2 switch-case-end
switch arg1
case 1,disp('OK')
case 2,disp('NO')
otherwise,disp('BYE')
end
4.3 循环结构
4.3.1 for-end
for i=1:100
%TODO
end
4.3.2 while-end
while 表达式
%TODO
end
4.4 流程控制
break
:和C语言类似,它一般用来终止 for 或 while 循环, 通常与 if 条件语句结合在一起使用 ,如果条件满足则利用 break 命令将循环终止。在多层循环嵌套中, break 只终止最内层的循环continue
:该命令通常用在 for 或 while 循环结构中, 并与 if 一起使用 ,其作用是结束本次循环,即跳过其后的循环语句而直接进行下一次是否执行循环的判断 ;pause
:使程序暂停;return
:函数返回;
5 总结
将这段时间matlab的学习,简单总结了一下,当然这只是冰山一角,不过已经足够去编写一些程序了。
本人能力有限,文中难免有错误和纰漏之处,请大佬们不吝赐教
创作不易,如果本文帮到了您;
请帮忙点个赞 👍👍👍;
请帮忙点个赞 👍👍👍;
请帮忙点个赞 👍👍👍;