Matlab 基础语法

目录

命令行窗口

编辑器

清空环境变量及命令

注释

matlab 符号

分号

作用

应用

注意

matlab 变量

命名规则

数据类型

数字

字符与字符串

定义

ASCII 码 转换

字符串长度

矩阵

定义

repmat

ones

zeros

rand

randn

randi

四则运算

矩阵的下标

元胞数组

定义

eye

magic

结构体

创建

直接赋值

使用函数 struct() 创建

程序结构

顺序结构

循环结构

for 循环结构

基本格式

while 循环结构

基本格式

分支结构

if ... end

结构格式

if ... else ... end

结构格式

switch ... case ... end

结构格式

matlab 基本绘图操作

二维平面绘图

美化

三维立体绘图

双峰函数

图形的保存与导出

图形窗口的分割


命令行窗口

可作为一个计算器使用

清空命令行窗口的内容:clc—回车

编辑器

调用:新建—脚本

键入内容,文件名右上角加 *,说明此文件为保存,因此需要保存文件

保存文件:Ctrl+s

清空环境变量及命令

clc 清除 Command Window 中的所有命令

clear all 清除 Workspace 中的所有变量

使用 clear all 进行清除

注释

注释整行:%%+空格

行内注释:%

matlab 符号

分号

作用

控制 matlab 命令的输出,将 matlab 命令的结果屏蔽掉,让结果不要在屏幕上输出

应用

  • 在命令行窗口中使用分号,屏蔽输出
  • 在脚本文件中使用分号,屏蔽输出

注意

  • 分号只对输出有影响,对变量存储没有影响
  • 分号用于语句末尾,表示禁止输出。如果一条命令的末尾无分号,matlab 会默认将语句的第一个返回值输出到命令行窗口。注意,某些命令没有返回值,可以不加分号
  • 若不使用分号,可能出现程序卡死的情况,matlab 一直输出结果,直到输出结束

matlab 变量

a 和 b 就是两个变量

命名规则

  • 变量名区分大小写

  • 变量名长度不超过 63 位(matlab 2012 做此要求,现在未知)
  • 变量名以字母开头,可以由字母、数字和下划线组成,但不能使用标点

  • 变量名应简洁明了,通过变量名可以直观看出变量所表示的物理意义

数据类型

  • 数字
  • 字符与字符串
  • 矩阵
  • 元胞数组
  • 结构体

数字

2+4

4-2

2*4

4/2

字符与字符串

定义

s='s'

str='He yuya'

ASCII 码 转换

abs(s) 将字符转换为对应的 ASCII 码

char(n) 将 ASCII 码转换为对应的字符

num2str(n) 输出结果是数字 n

字符串长度

length(str) 输出字符串的长度,计空格

矩阵

定义

A=[a1 a2 a3...; b1 b2 b3...; c1 c2 c3...]

B=A' B 是 A 的转置

C=A(:) 把 A 矩阵拉长,竖着拉,先输出第一列,然后输出第二列,以此类推

D=inv(A) 求逆

A*D 单位矩阵

Q=min:add:max 生成一个行矩阵 Q,第一个元素是 min,最后一个元素是 max,中间的元素依次加 add,最后一个元素也可能不是 max,此时 min+n*add ≠ max

repmat

G=repmat(Q,n,m) 生成一个矩阵 G,横行重复 n 次 Q 矩阵,纵行重复 m 次 Q 矩阵

ones

R=ones(n,m) 生成一个 n 行 m 列的矩阵,元素均为 1

zeros

生成全是 0 的矩阵:E=zeros(n,m,q)

第 3 个参数:q,代表生成一个 q 维矩阵

第 1 个参数:n,行数

第 2 个参数:m,列数

rand

作用:生成均匀分布的伪随机数,分布在 0~1 之间

主要语法:

  • rand(m,n) 生成 m 行 n 列的均匀分布的伪随机数
  • rand(m,n,'double') 生成指定精度的均匀分布的伪随机数,参数还可以是 single
  • rand(RandStream,m,n) 利用指定的 RandStream 生成伪随机数

randn

作用:生成标准正态分布的伪随机数,均值为 0,方差为 1

主要语法:同 rand

randi

作用:生成均匀分布的伪随机整数

主要语法:

  • randi(iMax) 在闭区间 [0,iMax] 生成均匀分布的伪随机整数
  • randi(iMax,m,n) 在闭区间 [0,iMax] 生成 m × n 型随机矩阵
  • r=randi([iMin,iMax],m,n) 在闭区间 [iMin,iMax] 生成 m × n 型随机矩阵

四则运算

A=[a11 a12 a13...;b11 b12 b13...]

B=[a21 a22 a23...;b21 b22 b23...]

C=A+B对应项相加

D=A-B 对应项相减

E=A*B' A 的行数 = B 的列数

F=A.*B 对应项相乘

G=A/B G*B=A G*B*pinv(B)=A*pinv(B) G=A*pinv(B),相当于 A 乘 B'

H=A./B 对应项相除

矩阵的下标

A=magic(n) //生成 n×n 的幻方矩阵

B=A(n,m) //取出第 n 行,第 m 列的元素

C=A(n,:) //取出第 n 行元素

D=A(:,n) //取出第 n 列元素

[m,n]=find(A>n) //找出大于 n 的序号值 / 矩阵

元胞数组

介绍:是 matlab 特有的一种数据类型,是数组的一种,其内部元素可以属于不同的数据类型

特点:其特有的存取数据方法决定了特点,给人一种查询信息的感觉,可以逐渐追踪一直到所有的变量全部翻译成基本的数据信息

定义

A=cell(m,n) m 行,n 列

eye

A{a1}=eye(n1) n1×n1 的单位矩阵,matlab 索引从 1 开始

magic

A{a2}=magic(n2) n2 阶幻方【3 阶幻方是 1~9 九个数字,组成 3*3 的矩阵,使得该矩阵无论横、竖还是斜三个方向上的数的和总是相同的】

n 阶幻方:把 1~n2 排成一个 n × n 的矩阵,使得矩阵的每行、每列,以及主、副对角线上面的 n 个数之和都相等,和为 n*(n2+1)/ 2

结构体

创建
直接赋值

结构体变量名.字段名=字段值

使用函数 struct() 创建

结构体变量名=struct('字段名1',{字段值1},'字段名2',{字段值2},...)

程序结构

顺序结构

循环结构

for 循环结构

从 for 开始,用 end 结束,称为 for...end 结构

基本格式

for 循环变量 = 初值 : 步长 : 终值

执行语句 1

...

执行语句 n

end

步长:默认值 1,可省略

初值、步长、终值 可以是正数,也可以是负数,可以是整数,也可以是小数,符合数学逻辑即可

while 循环结构

根据给定的条件决定是否以不确定的循环次数执行循环语句体

基本格式

while 条件表达式

执行语句 1

...

执行语句 n

end

分支结构

if ... end

结构格式

if 条件表达式

...

语句体

...

end

if ... else ... end

结构格式

if 表达式

语句体 1

else

语句体 2

end

switch ... case ... end

通过与某个表达式的值进行比较,根据比较的结果做不同的选择,以实现程序的分支功能

结构格式

switch 表达式(数值或字符串) //switch 必须与 end 配对使用

case 数值或字符串 1

语句体 1

case 数值或字符串 2

语句体 2

...

otherwise //可省略,若省略,所有 case 都不满足时跳出分支结构

语句体 n

end

matlab 基本绘图操作

无论画什么东西,都必须有初始值

二维平面绘图

x = a : b : c ; // 从 a 开始,每次递增 b ,直到 c 结束

figure ; // 建立一个幕布

plot(x,y) //绘制当前二维平面图

title('y=f(x)') // 标题

xlabel('x') // x 轴的名称

ylabel('f(x)') // y 轴的名称

xlim([a c]) // 限制 x 的取值范围,最直观的效果就是,使得图像的尾部靠近作图区域右边最边缘

美化

三维立体绘图

t = a : b : c ;

plot3 ( f(t) , g(t) , t )

xlabel ( 'string1' )

ylabel ( 'string2' )

zlabel ( 'string3' )

hold on //在同一个幕布中绘制多条线

hold off //不保存当前的东西

grid on //在图片中加一定的网格线

axis square //使得图像呈正方形

双峰函数

[x,y,z] = peaks (a) ; // 产生双峰函数,采用双峰函数绘图

mesh ( x , y , z )

grid

图形的保存与导出

导图图像:面板的 编辑 —>复制图窗,然后粘贴即可

保存图像:面板的 文件 —>另存为 ,可以更改图片类型

调节图像大小:面板的 文件 —> 导出设置 —> 改变图像的大小 —> 应用于图窗 —> 导出图像

图形窗口的分割

在窗口中找到目标位置画图即可

subplot(c,l,n) // 将窗口分成 c 行 l 列,选取第 n 个位置

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

何hyy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值