MATLAB教程系列-台大(共14课)第二课笔记
一.不会的函数怎么办?
- google matlab + 搜索的函数
- 在MATLAB中输入help+ 搜索的函数
- 在matlab右上角搜索
二.计算中常用的指令和注意点
-
根号可以是sqrt(a)或a^0.5
-
数学中常用的圆周率 在MATLAB中就是pi
-
ans代表的是最近计算的计算结果,如果计算比较复杂可以用ans代替一步步的运算
-
MATLAB不用宣告变数的类型
-
A=10 √ 10=A × 2A=10 × A2=10 √
-
查看定义变量的类型在工作区双击对应变量即可
-
关键字不要作为变量定义否则原先关键字会被覆盖
但如果定义可以clear+变量名 消除变量
注:clear后如果不加变量名则会把所有变量全部消除 -
通常情况下啊MATLAB只会显示小数点后4位数字,如果要显示更精确的数字可以 format + 想要的形式
1short 代表小数点后4位
long 代表小数点后15位
shortE longE 代表用科学计数法表示
bank 代表用美元形式显示(小数点后两位)
hex 代表用十六进制显示
rat 代表用有理数形式显示(即为分数形式) -
如果想要不直接显示运算结果让界面更简洁可以在语句后+‘;’也可也shift+enter
-
clc 清除命令行窗口
who 查看上一数据信息
whos 更详细的查看上一数据信息 -
矩阵的某一数值的显示有两种方法:
A(数字) 按列从上到下从左到右排序来显示数值
A(行数字,列数字)
两种方法重要的是看有无逗号来判断和区分
当要清除矩阵中的某一行或列数据
A(数字,:)清除某行 A(:,数字)清除某列 -
矩阵的运算:
y1=A+B 两矩阵对应行列的数相加减
y1=A*B A矩阵的行对应的数和B矩阵的列对应的数相乘相加(线性代数)
y1=A.B 两矩阵对应行列的数相乘
y1=A/B A矩阵B矩阵的逆矩阵
y1=A./B 两矩阵对应行列的数相加除
y1=A+a(a为实数) A矩阵的每个数加上a
y1=A/a A矩阵的每个数除以a
y1=A./a 同上
y1=A^a a个矩阵相乘
y1=A.^a a个矩阵相点乘
y1=A’ A的转置矩阵 -
特殊矩阵的定义:
1.linspace( )用于定义等差矩阵
linspace(x, y)产生一个有100个元素的行向量,其中的元素在区间[x, y]中等间隔分布。
linspace(x, y, n)产生x和y之间等间隔的n个数,如果n = 1,返回结果为y。
2.eye(n)产生n x n型单位矩阵
3.zeros(n1,n2) 产生n1 x n2型零矩阵
4.ones(n1,n2) 产生n1 x n2型全为1的矩阵
5.diag(矩阵) 产生一个对角矩阵 对角线上的数为括号里矩阵的数
6.rand函数产生由在(0, 1)之间均匀分布的随机数组成的数组。
本人遇到的是matlab中的rand(a,b)语句,为了清楚这个语句的用法,这里我们随便输入a,b,例如1和4
回车之后结果为如图所示4个数字,可以看到这4个数均为1以内,且为1行4列
同样地,若我们输入rand(2,4),则会得到一个2行4列的在1以内的随机矩阵
ans =
0.2769 0.0971 0.6948 0.9502 0.0462 0.8235 0.3171 0.0344
若想要得到一个3行3列的随机方阵,我们输入rand(3)即可
rand(size(A)) 返回一个和A有相同尺寸的随机矩阵。例如我们随便输入一个A矩阵,然后输入这个语句之后即可得到相同行列的一个随机矩阵 -
有关矩阵的函数:
max(A) 提取出A矩阵每列的最大数
max(max(A))提取出A矩阵中的最大值
sum(A)是计算每列的和
mean(A) 是计算每列的平均值
sort(A) 以列为单位,将每列从上到下从小到大排序
sortrows(A)以第一列从上到下以从小到大为依据,对行进行排序
size(A) 显示A矩阵是n1 x n2 型 n1 n2的值
length(A)显示数组长度,即行数和列数中的较大值,相当于max(size(a))
find(矩阵==数字) 显示该数字在MATLAB中的行列位置