Matlab命令使用
- matlab是一个计算工具,也是一种编程语言
基本计算操作
- +
- -
- *
- %
- ^ 表示乘方, 5^2 五的二次方
- log 代表的是自然对数 ln
- log2 代表的是以2为底数的一个函数
- log10 代表的是以10为底数的一个函数
- 想要计算其他的对数,用换底公式:log8 7=log(7)/log(8)
基本界面操作
- clc 清空屏幕中的所有内容
variable 变量
- 变量是暂时用来保存变量的地方
在工作区可以看出来现在表中有哪些变量
矩阵运算
- 用x=[]表示一个数组/向量(vector)
- x=[1,2,3] ;
- y=[5,6,7];
- x+y = [6,8,10];
- 如果x,y的维度不相同,那么x与y无法相加
- 通过用分号来实现矩阵中的换行
- x= [1,2,3;4 5 6];实现的就是两行三列的矩阵
- 做矩阵乘法,直接可以用AXB,但前提两个矩阵是要满足矩阵乘法的条件
- 做矩阵的几次幂也可以直接用 ^ 实现、
script 脚本
- 新建脚本后,可以保存在一个固定的文件夹内,每当打开运行后,命令行窗口就会显示答案
几个小细节需要注意
- 注意% 是单行注释;%{ %}是多行注释
1 | x = 5 |
同时,利用脚本我们还可以进行交互,比如说
1 | % 我在脚本里写了这句话以后,运行脚本,我们会得到以下结果 |
现在我们用matlab脚本实现一个简单的相加函数
1 | %脚本内容 |
通过 fprintf函数,可以实现输出,
1 | % C to F |
通过if语句,可以进行判断,注意,判断条件不用( )需要用end来表示范围
1 | num = input('Please enter a number : '); |
sqrt 函数求平方根
display函数,可以自动加\n
1 | a = 10; |
循环可以用while 同样的 不需要( ),需要用end来表示循环范围
1 | % 比如计算1 加到100; |
不等于在matlab中为~=
求余数在matlab中为mod函数
1 | x = input('X is : '); |
for循环
1 | for i = -5:5 |
sum(x) 函数求和
1 | v = [5 6 9 3 4 1 2] |
matlab 画图功能
plot 函数 plot(x,y)
- 注意,x,y不止两个数,而是两组数据,比如说
1 | >> x = [1,2,3]; |
- 注意,在画曲线的时候注意的小细节
1 | >> x = -10:0.1:10; |
axis equal 命令是让x,y的单位长度相等
bar 函数画柱状图
1 | >> y = [76,29,378,012,182,2870]; |
三维图像的操作
基本函数和美观工具
shading指令
colormap指令
light光照指令
指定光照算法
camlight 相机光照
代码实现
1 | close all;clear all;clc |
材质-反射属性
图形填充
三维曲线
- 下面实现一个绕z轴上升的螺旋线
1 | % x取 0 - 6pi 其实就是 三圈 |
三维曲面
1 | %上图是莫比乌斯圈 |
旋转柱面函数
1 | %上面是旋转正弦曲面, |
旋转球面函数 sphere
1 | [x,y,z] = sphere; |
立体图形的绘制
绘制正方体 - 利用patch函数
1 | vertices = [0 0 0;1 0 0;1 1 0;0 1 0;0 0 1;1 0 1;1 1 1;0 1 1]; |
动画制作
项目1 动态正弦曲线
1 | X= -2*pi:0.1:2*pi; |
项目2 动态弹簧曲线
1 | theta = -10*pi:0.1:10*pi; |
项目3 时钟模型
1 | t = 0:pi/100:2*pi; |