目录
MATLAB变量名命名规则
MATLAB的常用清除指令和注释
清除指令
clear all是清除右边视图(有点像VS2019的监视视图)中的全部变量
clc是清除下方命令行窗口(Command Window)的全部变量
注释指令
一个%注释没有横线
两个%注释会有横线
MATLAB的数据类型
1.数字
可以为整数或者小数
2.字符和字符串
用 ' '包括的一串内容,可以按照用来的样子进行输出,如中文和英文句子。
abs:输出数字绝对值
char:输出字母
num2str:num to string 将数字转换成字符串输出
length:计算长度
3.矩阵
矩阵定义方法
变量名=[1 2 3; 4 5 6; 7 8 9]
这就定义了一个3*3的矩阵
转置矩阵
A=[1 2 3; 4 5 6; 7 8 9];
它的转置矩阵就是A'=[1 4 7; 2 5 8; 3 6 9];
拉长矩阵
A=[1 2 3; 4 5 6; 7 8 9];
它的拉长矩阵为 A(:)
A(:)为
是按照列进行排列
逆矩阵
逆矩阵的定义方法为 变量名=inv(A) 表示求A的逆矩阵
同时要注意,只有方阵才有逆矩阵,A必须为方阵
零矩阵
零矩阵的定义方法 变量名=zeros(行数,列数,维度)
第一个参数为矩阵行数
第二个参数为矩阵列数
第三个参数为矩阵维度,如二维和三维
生成随机数矩阵
定义方法
rand语句不仅仅可以生成随机数,还可以生成随机矩阵
4.元胞数组
元胞数组跟C语言中的结构体有点像,可以建立一个可以容纳多种类型数据的数据类型,定义方法如下:
A=cell(1,6) 表示建立一个一行六列的元胞数组
A{2} = eye(3) 表示在其中第2个位置建立一个3*3的单位矩阵
A{5} = magic(5) 表示在其中第五个位置建立一个5*5的幻方矩阵
幻方的概念
5.结构体
结构体变量名=struct()
其中books结构体中有两个元素,分别为name和price,name中有两个字符串,分别存储在name (1)和name (2) 中。
其中 book.name(1) 取出的是cell类型的 ‘Machine Learning’
但是用 book.name{1} 取出的是字符串类型的 Machine Learning
前者有‘ ’ ,后者没有单引号。
矩阵的定义和构造
A是定义了一个行矩阵
B= 1:2:9
表示建立一个最小值为1,最大值为9,且增长为2的一个数组
执行B后会生成 1 3 5 7 9
倘若最大值无法与增加后的数对应,则取去较小值
如 B=1 :3 : 9
执行生成为 1 4 7
C=repmat(B,3,1)
表示以B为基本元素,复制出一个3行1列的矩阵,这条语句的结果为:
矩阵的四则运算
+: 即矩阵相加,需要为同型矩阵。
-:即矩阵相减,需要为同型矩阵。
*:即矩阵乘法,需要满足前行等于后列。
.*:即矩阵点乘,需要为同型矩阵,相同位置的矩阵元素相乘。
/ :即矩阵相除,相当于乘以后者的逆矩阵。
./ :即矩阵点除,与矩阵相除关系不大,需要同型矩阵,相同位置的矩阵元素相除。
矩阵的下标
A={ },这是矩阵定义的基本格式,而A(行数,列数)可以反应矩阵的下标
其中 C= A(3 ,:)表示取出矩阵的第3行给B
相应的 D 得到 A 的第4列
[ m, n ] = find (A>20)
则表示在A矩阵中寻找打于20的矩阵元素,返回它的行标和列标
MATLAB的程序结构
总地来说,分为顺序结构,循环结构和选择结构
跟C语言的for while if if..else switch
相差不大,格式方面有一定的区别
必须以 end 结尾
for循环结构:
需要注意的是,步长默认为1
while循环结构:
选择结构
if....end
只有一种分支的选择结构
if....else....end
提供两种分支的选择结构
switch...case...end
提供多种分支的选择结构
MATLAB的二维绘图
我想通过例子讲解更加简单
x= 0 : 0.01 : 2 * pi ;
pi表示2*π,在MATLAB中π由pi表示。
x就等于一个最小值为0,最大值为2*pi,增长为0.01的一个数组
y= sin(x);
表示 y 的值为 sin (x)
figure表示建立一个幕布
plot(x,y);表示绘制一个关于 x 和 y 的一个二维的图
title (' y = sin (x) '); 表示将图的标题设置为 y = sin(x)
xlabel ('x') 和 ylabel(‘sin(x)’)表示给图的 x轴和 y轴设置标签
xlim([0 2*pi ])表示给图的x轴 设置范围为0到2*pi
最终结果为:
颜色选择
线形选择和数据标记点选项参数
应用举例
其中
中的第一句表示绘制一个含义两个因变量的图,H1为第一个函数图像,H2为第二个函数图像
set表示设置的意思
第二句表示得到第一条图像的Y轴标签,‘string’表示标签名类型,
‘Slow Decay’ 表示标签名内容
set(H1,linestyle,‘--’)
表示设置H1函数图像的线型为虚线
MATLAB的三维立体绘图
总的来说,与二维建立图形是差不多的
但是生成图时的函数为 plot3(x,y,z)表示建立三维图,其中参数有三个,分别为三维图的三个坐标。
然后分别给 x, y , z 建立标签
hold on 表示在上面的幕布中再加入一些函数图像
hold off 表示删除上面的幕布中的信息,重新绘制相应的函数图像
grid on 在幕布上打印一些格子,让图像更加具有立体感
axis square 使xyz的长度相同,让坐标系看起来是一个正方体
使用后的效果:
打印MATLAB软件图标
效果为
MATLAB图形窗口的分割