clc 清除命令行窗口
clear all 清除工作区
注意变量规则:区分大小写
MATLAB的变量名最长63个
驼峰命名方式
clear value a b mynum在工作区清除变量
whos 查看变量类型
pi 指ans = 3.1416
format long 显示浮点数显示最长的形式
pi_single = single(pi)
默认浮点数都是double形式
不同整数的形式:
integer_14_int8 = int8(14)
intmax(‘int8’)
intmin(‘int8’)
intmax(‘int16’)
intmin(‘intf16’)
intmin(‘uint8’) 不带符号的,输出0,用来存储绝对值
int8 int16 int32 int64 uint8…
单精度:single
字符:char
APP_string = “hfdkja”
字符串:string
logical数据类型:true和false
logical_true = true
大部分循环都有固定点,例如:iteration sqrt(iter + 1)收敛在正的1.618.。。
iter = 2 * iter*(1-iter)收敛在它本身
iter = 3iter(1-iter) 收敛在两个值
format compact 消除命令行输出前的空行
加减乘除(正除号与反除号)、科学计数
format loose 打开空格
… 表示换行
运算优先级:
()幂…
帮助找函数
tab键补全
abs(-5)
function 定义函数的关键词
otherwise 也是关键词
出现上面错误的原因是:设置了与函数同名的变量
pi 是一个常量(constant)
虚数单位i也是一个常量
j也会认为是一个虚数单位
当i和j已经用过后,需要使用虚数单位,就可以使用:2+3*1i
1i绝对安全,不会被占用,不能数字开头定义变量 1.2E12i
双精度类型可以赋值正无穷
随机数
rand()在0-1之间,重置随机数rng(1),种子为1
matlab产生的随机数是计算出来的,伪随机数,由算法产生
第一个随机数,称为随机数种子
设置会不断变化的随机因子: rng(‘shuffle’),rng()中只能是非负整数
避免每次试验的随机因子一样
产生1-2之间的随机数
整数的随机数:randi(12)
实数的随机数:randn()
变量的开头必须是字母
format short 小数点后4位
整数随机数 randi([1,12]
字符在matlab中是一个代码
char(1:128)代码定义的字符
33 判断,返回1
=是赋值
不等:
3 < 5 && 4 > 2
3 < 5 || 4 > 2
~(3<6)
xor(3 < 5 , 4 > 2)
a < 3 无法被执行
11 || a < 3短路运算,执行前面为真就不执行了
连续比较大小,正确写法:
intmax(‘uint8’)
不会用==来比较两个浮点数的大小,两个浮点数运算经常会涉及一些误差,和得到的结果不太一样。会用差值来比较
双精度数的位数:
几个函数:
floor =地板 向负无穷取整
ceil =天花板 向正无穷取整
fix =取整 fix(xxxxx.xxxxx) = xxxxx去掉小数部分
四舍五入:round(1.2)
sign()正数返回1,负数返回-1,求根nthroot(2,3),sqrt(4)
角度与弧度的互换deg2rad(180) 和 rad2deg(pi)
求余数rem(12,5)
对数函数:log
指数函数如上图
向量和矩阵:
创建数组:
创建间隔小数:
默认不超过右边:
等差数列: linspace(3,9,7),3-9之间,7个数组成的等差数列
从10的3次方开始,到10的9次方结束,由7个元素组成的等比数列:logspace(3,9,7)
format long, matlab以科学计数法来输出,等比数列
数列的拼合:[v u]
访问的对应关系从1开头:规定
访问指定元素:
返回最后一个元素
修改元素:v(2) = 15
添加元素(一般不用)
返回数据:
列向量用;隔开
’ 表示转置,用在负数时会出问题,用在正数上
.’ 用在负数上不会出问题,也是转置
列向量的返回:
列向量和行向量:
![在这里插入图片描述](https://img-blog.csdnimg.cn/a6a7a1a7e40f4eb2ac4cb0a76a521be6.pn
矩阵:注意元素的个数必须是相同的
产生随机数矩阵的方式:
函数产生矩阵
次对角线和对角线上都有值:
放回某一行
访问:
改变矩阵的值,只需要确保元素的个数相同就可以了
当给一个二维的矩阵做修改时,要确保等号两边的元素个数是一样的,有特例
特例,均改为相同元素时不受限制
找到矩阵的大小:
length(M)%会返回行数和列数中,较大的那一个值
size函数
numel函数,当全是数字时,可以M*0
上图表示极限是1的数列乘以极限是0的数列,它的极限是不存在的
数学极限:
reshape函数进行矩阵转换:需要要求元素个数是相同的
fliplr与flipud
矩阵以列向量来进行翻转:
矩阵的重复:
创建0行0列的矩阵
每次执行的结果可以添加到数组E中
矩阵之间后面的元素减去前面的元素:相邻元素作差,每次维度少1
矩阵之间的运算:
矩阵与矩阵之间的运算:
对应位置操作:
绝对值:
求和:cumsum逐渐扩大求和的范围
求最大值:cummax
矩阵中取最大值和最小值:
max(M)取每一列的最大值
矩阵的逻辑运算:
向量用一个&,标量用2个&,即&&
向量的逻辑组合高于标量的逻辑组合
矩阵的乘法:
向量和向量相乘:向量内积
叉集:
常用的矩阵: