B站视频链接:台大郭彦甫教授的教学视频
matlab做计算
matlab界面
matlab界面打开默打开当前文件夹、命令窗口、工作区和命令历史记录,点击‘新建脚本’可以打开如下界面,将编写的程序保存成‘.m’文件。
matlab 计算加减乘除
加号:+
减号:-
乘号:*
除号:/
次方号:^
运算规则:从左到右、先乘除后加减
练习1
ans1=cos(sqrt(((1+2+3+4)^3)/5))
ans2 = sin(sqrt(pi))+log(tan(1)) %log 就是以e为低的对数
ans3 = 2^(3.5*1.7)
ans4 = exp(sin(10))
学会搜索matlab的函数,并运用
可以在matlab界面右上角的搜索栏 输入函数,了解怎么运用。
sin可替换为想了解的其他函数,如cos、log等
也可以在命令栏输入:help sin
重点:不懂的地方就上网搜
函数链接
指数和对数
0、帮助中心
1、表达式加减乘除
2、三角函数
3、指数和对数
4、复数
嵌入函数
括号太多的情况下,可以先将计算出的结果,存进一个变量。
练习2
%% 练习2
ans5 = cos(pi);
ans6 = sin(ans5)
变量
matlab的变量不用提前声明是整型、浮点型或是字符,直接输入等式就可以了
注意:1、变量区分大小写
2、变量不能以数字开头
变量名称书写规范
matlab默认数值的存储类型是double,可以表示整数和浮点数
关键字
变量不能设置成关键字
下图为部分关键字
显示格式
format short:显示4位小数
format long:显示15位小数
format shortE:显示4位小数乘10的n次方
format longE:显示15位小数乘10的n次方
format bank:显示两位小数
format hex:显示为16进制
format rat:显示为分数
练习3
%% 练习3
a= 3/13 + 4/14 + 5/15
format rat
a
format long
a
matlab 程序编写技巧
1、在一行代码后加上分号‘;’,不显示计算结果
2、clc:清除命令窗口页面
3、clear:删除变量的值
4、who:列出工作区中的变量
5、whos:显示变量的信息
matlab向量和矩阵
行向量:a=[1 2 3 4]
列向量:b=[1;2;3;4]
矩阵:A =[1 21 6; 5 17 9; 31 2 7]
向量和矩阵下标
a(1)
结果是:1
A(2,1)
结果是:5
A(5)
结果是:17
A([1 3 5])
结果是:1 31 17
A([1 3 ; 1 3])
结果是一个2×2的矩阵:[1 31;1 31]
A([1 3],[1 3])
结果是一个2×2的矩阵,行下标取1和3,列下标取1和3:[1 6;31 7]
取代矩阵里的数值
练习4
%% 练习4
A =[1 21 6; ...
5 17 9; ...
31 2 7];
A(4)=76;
A(6)=0;
A([1 2],[2 3])=0
A(3,:)=[]
matlab等差数列
用冒号‘:’来生成等差数列
i:j:k
首项为i,公差为j,最后一个数k。不写公差默认为1.
矩阵拼接
C=[A B]
F=[A:b]表示?????????????
矩阵加减乘除
A =[1 2 3; ...
4 5 4; ...
9 8 7];
B = [3 3 3;...
2 4 9;...
1 3 1];
a = 2;
- X1=A+ a; 矩阵A里的每一个元素都加2,生成一个3×3的矩阵
- y1 =A +B; 矩阵对应索引的元素相加,生成一个3×3的矩阵
- x2 = A / a; A里每一个元素都除以2,生成一个3×3的矩阵
- y2 = A * B; 矩阵相乘
- x3=A./a ; A里每一个元素都除以2,生成一个3×3的矩阵
- y3 = A .* B;矩阵对应索引的元素相乘,生成一个3×3的矩阵
- x4 = A^a; 矩阵乘 等于A*A
- y4 = A / B; 矩阵除 等于 A* inv(B) inv表示求矩阵的逆
- x5=A.^a; A里每一个元素的幂都为2,生成一个3×3的矩阵
- y5 = A ./ B; 矩阵对应索引的元素相除,生成一个3×3的矩阵
- C = A’; C为A的转置
特殊矩阵
- eye():单位矩阵
- zeros():全零矩阵
- ones();全1矩阵
- linspace():线性等间距向量
- diag():对角线矩阵
- rand();生成随机数矩阵
矩阵关系函数
- max(A);输出矩阵A每列的最大值
- min(A);输出矩阵A每列的最小值
- sum(A);输出矩阵A每列的和
- mean(A);输出矩阵A每列的平均值
- sort(A);矩阵A每列排序(小–>大)
- sortrows(A);按矩阵A每行的第一个值进行排序(小–>大)
- size(A);输出矩阵A的维度
- length(A);输出矩阵A的列数
- find(A);找出矩阵A里某一个数值的索引