一:命令窗口两个常用基本命令
- 清除工作区:clear。
- 清屏:clc。
二:变量与基本运算
- 圆周率表示:pi。
- lnx代码化:log(x)。
- e^x代码化:exp(x) x代表次数。
- sin(x):sin(x);cos(x):cos(x);tan(x):tan(x) arcsin(x):asin(x);arccos(x):acos(x);arctan(x):atan(x).
- .*与*的区别:.*代表进行矩阵的数值运算 *代表进行矩阵的运算。(matlab的基本操作对象是矩阵)。
三:矩阵的建立与运算
- 矩阵建立直接输入法:
a=[1 2 3;4 5 6;7 8 9] b=1:10 c=1:10:20
a:直接在[]中输入数字,用空格隔开表示在同一行,分号隔开表示同一列。因此a创建了三行三列的矩阵。b:创建了从1到10的一行十列的矩阵,冒号表示从一到十。c:创建了从1到20之间,步长为10的矩阵(1+10),因此创建出来的矩阵只有1,11,由于21不在1到20区间,因此没有创建21。
-
特殊矩阵的建立:
eye(n) eye(m,n) ones(n) ones(m,n) zeros(n) zeros(m,n) rand(n) rand(m,n) magic(n)
eye:创建单位矩阵。ones:创建全为1的矩阵。zeros:创建全为0的矩阵。rand:创建随机矩阵,即矩阵中的数全是随机数。magic:创建魔方矩阵
- 矩阵运算:
转置矩阵:transpose(a)或a'。
求矩阵行列式:det(a)。
求矩阵的秩:rank(a)。
求特征值与特征向量:eig(a)。
求矩阵的逆矩阵:inv(a)。
四:线性方程组求解
- 对于Ax=0求通解:null(a,'r')
- 对于Ax=b求通解:mldivide(a,b) linsolve(a,b) pinv(a)*b
五:画图
- 二维图:
x=linspace(1,10,100); y=x; plot(x,y,'r')
plot表示将x和y的点用线连起来,‘r’里表示可变参数。
-
hold on使用
x=linspace(0,10,50); y=sin(x); plot(x,y,'r'); hold on a=linspace(0,10,50); b=cos(a); plot(a,b,'b'); hold off
hold on表示在上面的代码绘制图后保持该图不消失,继续绘制hold on下面的图,以hold off 结束。
-
散点图
x=linspace(0,10,50); y=sin(x); scatter(x,y)
scatter与plot类似,scatter将点描述出来后不用线连接,只显示点。
-
subplot
创建图形窗口,可在一个区域内显示多个图。
a=linspace(1,10); b=rand(5,5); subplot(1,2,1); plot(a); subplot(1,2,2); plot(b)
subplot(1,2,1)表示创建了一行两列的画布,将plot(a)放在画布中的第一个。
-
绘制三维图
t=linspace(0,2*pi,100); x=sin(t); y=cos(t); z=cos(2*t); plot3(x,y,z);
与plot类似,plot3将点在三维平面用线绘制出来。
-
使用mesh与meshgrid
t=[-5:0.1:5]; [x,y]=meshgrid(t); z=sin(sqrt(x.^2+y.^2))./sqrt(x.^2+y.^2); mesh(x,y,z);
meshgrid()表示在三维平面中先将x,y的点确定,绘制一个画布,最后根据z与x,y的关系,使用mesh绘制三维图像出来。
六:总结
第一次参与数学建模,首先学会使用matlab,对于零基础来说,短期内并不能完全掌握matlab,只能掌握一些matlab的基本操作,目前对于matlab的学习,只到绘图阶段,后期还有matlab的其它方面学习,以上是本人在matlab中常用到的功能和函数的一些提取,如有不足之处望指正。