Matlab 2023b学习笔记2——变量与数据类型

目录

一、注释写法

二、变量命名规则

1.变量名区分大小写

2.变量名长度不超过63位

3.变量名以字母开头,可以由字母、数字和下划线组成,但不能使用标点

​编辑

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

[三、 数据类型](#三、 数据类型)

1.数字

​编辑

2.字符与字符串

1.abs()

2.char()

3.num2str()

4.length()

5.doc

3.矩阵


一、注释写法

在Matlab中,注释有两种写法:一种是单百分号加空格,另一种是双百分号加空格,两种的区别在于双百分号的字体会更粗,而且会自动生成一条线用来分隔代码:

二、变量命名规则

1.变量名区分大小写

2.变量名长度不超过63位

如果超出63为会被自动截断为63位,可能会造成一些不必要的麻烦。

3.变量名以字母开头,可以由字母、数字和下划线组成,但不能使用标点

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

没啥好说的。

三、 数据类型

Matlab中数据类型分为数字、字符与字符串、矩阵、元胞数组以及结构体。

1.数字

加减乘除的写法也在图片里。

2.字符与字符串

在Matlab中, 字符串或单个字符都用单引号括住。

同时,Matlab也提供了许多对字符与字符串进行操作的函数:

1.abs()

此函数的用处是将字符与字符串内的内容转换为ASCII输出:

2.char()

此函数的作用是将传入的 数字对应的字符输出,如果有多个值,可以用逗号隔开:

3.num2str()

此函数的作用是将传入的数字转换成无法计算的字符串:

4.length()

此函数的作用是计算字符串的长度,空格也会数进去:

5.doc

doc后面跟你想要了解的函数,按下回车就会弹出帮助窗口,自动定位到doc后面的内容:

3.矩阵

定义矩阵时,用方括号括住,每一行元素之间用空格或逗号隔开,换行时使用分号:

在定义好一个矩阵后,我们在矩阵后加一个单引号,即可将该矩阵转置,行变列,列变行:

我们也可以把矩阵中的所有元素以列打开放在同一列上,只需要在矩阵后加(:):

使用inv()即可求矩阵的逆矩阵:

矩阵乘法也是使用*号,将刚才所得两个矩阵相乘:

使用zeros()来生成零矩阵,可以传入三个参数,第一个参数为行,第二个参数为列,第三个参数为维度:

我们也可以生成随机的矩阵,具体函数如下:

1.rand生成均匀分布的伪随机数,分布在(0~1)之间

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

2.randn生成标准正态分布的伪随机数(均值为0,方差为1)

  • 主要语法与上面的一样

3.randi生成均匀分布的伪随机整数

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

我们可以用上述内容单独对有着三维的矩阵赋值一维:

可以看到,E矩阵前两维还是0矩阵,第三维变成了随机矩阵。

相关推荐
一个人旅程~21 小时前
关于imac27inch因改短用户名导致混合硬盘和系统崩溃的问题分析与故障解决
经验分享·笔记·macos·新浪微博
心祭丫丫21 小时前
【每天一个 Python 小案例17】Python 实现通讯录
开发语言·人工智能·笔记·python·学习
派大猩猩_1 天前
Obsidian 笔记怎么同步多端:Nutstore Sync 大笔记库同步测评
笔记·obsidian·obsidian插件·obsidian同步
Nerd(BUG版)1 天前
Flutter学习day5--事件手势与命中测试
学习·flutter
Nerd(BUG版)1 天前
KMP学习day4--Kotlin空安全与泛型
学习·安全·kotlin
東隅已逝,桑榆非晚1 天前
算法6. 双指针法-查找总价格为目标的两个商品
c++·学习·算法
Evand J1 天前
【PMSM例程】(14)永磁同步电机无迹卡尔曼滤波(UKF)定子电阻在线辨识与补偿。电阻变化跟踪及预测误差对比仿真。附完整代码的下载链接
matlab·电机·滤波·卡尔曼滤波·永磁同步电机·无迹卡尔曼滤波·pmsm
wdyan2971 天前
带着小白学习-微服务-5 实战:配置中心-数据库连接
数据库·学习·微服务
爱喝雪碧的可乐1 天前
MATLAB
开发语言·算法·matlab
叼烟扛炮1 天前
Linux 学习笔记(五十):网络层——IP 协议、子网划分与 NAT 魔法
linux·笔记·学习