MATLAB初步学习.docx
- 文档编号:4910110
- 上传时间:2022-12-11
- 格式:DOCX
- 页数:31
- 大小:434.53KB
MATLAB初步学习.docx
《MATLAB初步学习.docx》由会员分享,可在线阅读,更多相关《MATLAB初步学习.docx(31页珍藏版)》请在冰豆网上搜索。
MATLAB初步学习
都是自己打的,有些知识直接复制的,但是代码都是运行调试过的,已经调了最全的基础知识了,基本都含括里面了,再高深的我也写不出来,有些地方没有代码因为太简单了,有些地方只有代码没有说明,就自己领悟吧!
1矩阵及其基本运算
1.1矩阵的表示
1.1.1矩阵的生成
1.矩阵的输入
输入矩阵都是按行列,每一行之间的元素用逗号隔开,行与行之间用分号隔开。
所有矩阵元素用[]括起来。
2.复数矩阵输入
在matlab中,输入一句命令后,后面加入分号表示结果不显示。
1.1.2符号矩阵
需要用到符号(symbol)矩阵定义函数sym,或者是符号定义函数syms,先定义符号变量,再输入符号矩阵。
1.sym定义矩阵:
还没研究出来
2.用syms定义矩阵
还没研究出来
额,总体来说,编写m文件的时候,要定义函数的变量使用的是syms后面加上变量。
3.Sym是把数值型转化为符号型
转化之后是最接近原式数据的方式表达出来。
1.1.3大矩阵的生成
通过编写m文件输入大矩阵。
size函数可以表示出矩阵的行列数。
1.1.4多维数组
有时候数据太大,需要拆分组装,cat函数
A=cat[n,A1,A2,A3...]可以构造n维数组
1.1.5特殊矩阵
命令全零阵
函数zeros
格式B=zeros(n)%生成n×n全零阵
B=zeros(m,n)%生成m×n全零阵
B=zeros([mn])%生成m×n全零阵
B=zeros(d1,d2,d3…)%生成d1×d2×d3×…全零阵或数组
B=zeros([d1d2d3…])%生成d1×d2×d3×…全零阵或数组
B=zeros(size(A))%生成与矩阵A相同大小的全零阵
d1行,d2列,d3d4个
命令单位阵
函数eye
格式Y=eye(n)%生成n×n单位阵
Y=eye(m,n)%生成m×n单位阵
Y=eye(size(A))%生成与矩阵A相同大小的单位阵
命令全1阵
函数ones
格式Y=ones(n)%生成n×n全1阵
Y=ones(m,n)%生成m×n全1阵
Y=ones([mn])%生成m×n全1阵
Y=ones(d1,d2,d3…)%生成d1×d2×d3×…全1阵或数组
Y=ones([d1d2d3…])%生成d1×d2×d3×…全1阵或数组
Y=ones(size(A))%生成与矩阵A相同大小的全1阵
命令均匀分布随机矩阵
函数rand
格式Y=rand(n)%生成n×n随机矩阵,其元素在(0,1)内
Y=rand(m,n)%生成m×n随机矩阵
Y=rand([mn])%生成m×n随机矩阵
Y=rand(m,n,p,…)%生成m×n×p×…随机矩阵或数组
Y=rand([mnp…])%生成m×n×p×…随机矩阵或数组
Y=rand(size(A))%生成与矩阵A相同大小的随机矩阵
rand%无变量输入时只产生一个随机数
命令正态分布随机矩阵
函数randn
格式Y=randn(n)%生成n×n正态分布随机矩阵
Y=randn(m,n)%生成m×n正态分布随机矩阵
Y=randn([mn])%生成m×n正态分布随机矩阵
Y=randn(m,n,p,…)%生成m×n×p×…正态分布随机矩阵或数组
Y=randn([mnp…])%生成m×n×p×…正态分布随机矩阵或数组
Y=randn(size(A))%生成与矩阵A相同大小的正态分布随机矩阵
randn%无变量输入时只产生一个正态分布随机数
命令产生随机排列
函数randperm
格式p=randperm(n)%产生1~n之间整数的随机排列
命令产生线性等分向量
函数linspace
格式y=linspace(a,b)%在(a,b)上产生100个线性等分点
y=linspace(a,b,n)%在(a,b)上产生n个线性等分点
命令产生对数等分向量
函数logspace
格式y=logspace(a,b)%在(
)之间产生50个对数等分向量
y=logspace(a,b,n)
y=logspace(a,pi)
命令计算矩阵中元素个数
n=numel(a)%返回矩阵A的元素的个数
命令产生以输入元素为对角线元素的矩阵
函数blkdiag
格式out=blkdiag(a,b,c,d,…)%产生以a,b,c,d,…为对角线元素的矩阵
1.2矩阵运算
1.2.1加减乘除
向量叉乘
函数cross
格式C=cross(A,B)%若A、B为向量,则返回A与B的叉乘,即C=A×B,A、B必须是3个元素的向量;若A、B为矩阵,则返回一个3×n矩阵,其中的列是A与B对应列的叉积,A、B都是3×n矩阵。
C=cross(A,B,dim)%在dim维数中给出向量A与B的叉积。
A和B必须具有相同的维数,size(A,dim)和size(B,dim)必须是3。
1.2.2集合运算
交集(常用于检测数据相关性)
函数intersect
格式c=intersect(A,B,'rows')%A、B为相同列数的矩阵,返回元素相同的行。
[c,ia,ib]=intersect(a,b)%c为a、b的公共元素,ia表示公共元素在a中的位置,ib表示公共元素在b中位置。
检测元素是否在集合中
函数ismember
格式k=ismember(a,S)%当a中元素属于S时,k取1,否则,k取0。
k=ismember(A,S,'rows')%A、S有相同的列,返回行相同k取1,不相同取0的列向量。
1.2.3除法
左除
C=A\B是方程A*C=B的解
1.2.4行列式
按理说应该是0的,可能精度没调的原因吧!
1.2.5矩阵的秩
2绘图
2.1二维图形
2.1.1平面图形
命令1plot
功能线性二维图。
plot(X1,Y1,X2,Y2,…),其中Xi与Yi成对出现,plot(X1,Y1,X2,Y2,…)将分别按顺序取两数据Xi与Yi进行画图。
说明
参数LineSpec
功能定义线的属性。
Maltab允许用户对线条定义如下的特性:
1.线型
表2-1
定义符
-
--
:
-.
线型
实线(缺省值)
划线
点线
点划线
2.线条宽度
指定线条的宽度,取值为整数(单位为像素点)
3.颜色
表2-2
定义符
R(red)
G(green)
b(blue)
c(cyan)
颜色
红色
绿色
兰色
青色
定义符
M(magenta)
y(yellow)
k(black)
w(white)
颜色
品红
黄色
黑色
白色
4.标记类型
表2-3
定义符
+
o(字母)
*
.
x
标记类型
加号
小圆圈
星号
实点
交叉号
定义符
d
^
v
>
<
标记类型
棱形
向上三角形
向下三角形
向右三角形
向左三角形
定义符
s
h
P
标记类型
正方形
正六角星
正五角星
命令2fplot
功能在指定的范围limits内画出一元函数y=f(x)的图形。
注意:
fplot采用自适应步长控制来画出函数function的示意图。
>>fplot('tanh',[-22])
命令3loglog
功能双对数图形。
命令4semilogx
功能x轴对数图形。
2.1.2极坐标
命令1polar
功能画极坐标图。
t=0:
.01:
2*pi;
polar(t,sin(3*t).*cos(2*t),'--r')
命令2bar
功能二维垂直条形图。
用垂直条形显示向量或矩阵中的值。
x=-2.9:
0.2:
2.9;
bar(x,exp(x.*sin(x)))
colormapgrayx=-2.9:
0.2:
2.9;
命令5comet
功能二维彗星图。
t=0:
.01:
2*pi;
x=exp(sin(2*t)).*(cos(t).^2/3);
y=t.*(sin(t).^2);
comet(x,y);
命令6pie
功能饼形图
x=[130.52.52];
explode=[01000];
pie(x,explode)
2.1.3二维图形注释
命令1grid
功能给二维或三维图形的坐标面增加分隔线。
该命令会对当前坐标轴的Xgrid,Ygrid,Zgrid的属性有影响。
用法gridon给当前的坐标轴增加分隔线。
gridoff从当前的坐标轴中去掉分隔线。
命令2gtext
功能在当前二维图形中用鼠标放置文字。
当光标进入图形窗口时,会变成一个大十字,表明系统正等待用户的动作。
命令3title
功能给当前轴加上标题。
命令4xlabel、ylabel
功能给x、y轴贴上标签
2.2三维图形
2.2.1三维等高线
命令1contour
功能曲面的等高线图
用法contour(z)把矩阵z中的值作为一个二维函数的值,等高曲线是一个平面的曲线,平面的高度v是Matlab自动取的;
contour(x,y,z)(x,y)是平面z=0上点的坐标矩阵,z为相应点的高度值矩阵。
效果同上;
contour(z,n)画出n条等高线;
contour(x,y,z,n)画出n条等高线;
contour(z,v)在指定的高度v上画出等高线;
命令2pie3
功能三维饼形图
注意:
命令pie3将x的每一个元素在所有元素的总和中所占的比例表达出来。
若x中的分量和小于1(则所有元素小于1),则认为x中的值指明三维饼形图的每一部分的大小。
x=[130.52.52]
ex=[01000]
pie3(x,ex)
2.2.3曲面网格
命令1mesh
功能生成由X,Y和Z指定的网线面,由C指定的颜色的三维网格图。
2.2.4其他
命令axis
功能坐标轴的刻度与外在显示
用法axis([xminxmaxyminymax])设置当前坐标轴的x-轴与y-轴的范围。
axisequal设置坐标轴的纵横比,使在每个方向的数据单位都相同。
3符号运算
3.1.基本运算
命令1设置变量的精度
函数digits
格式digits(d)%设置当前的可变算术精度的位数为整数d位
d=digits%返回当前的可变算术精度位数给d
digits%显示当前可变算术精度的位数
命令2将符号转换为MATLAB的数值形式
函数double
格式R=double(S)
命令3搜索符号表达式的最简形式
函数simple
格式r=simple(S)
3.2基本运算
3.2.1微积分
命令1极限
函数limit
格式limit(F,x,a,'right')或limit(F,x,a,'left')%计算符号函数F的单侧极限:
左极限x→a-或右极限x→a+。
命令2导数(包括偏导数)
函数diff
格式diff(S,'v',n)%对表达式S中指定的符号变量v计算S的n阶导数。
命令3符号函数的积分
函数int
格式R=int(S,v,a,b)%对表达式s中指定的符号变量v计算从a到b的定积分
4数据分析
4.1基本函数
4.1.1三角函数
函数sin、sinh
功能正弦函数与双曲正弦函数
格式Y=sin(X)
函数asin、asinh
功能反正弦函数与反双曲正弦函数
格式Y=asin(X)
函数cos、cosh
功能余弦函数与双曲余弦函数
格式Y=cos(X)
函数acos、acosh
功能反余弦函数与反双曲余弦函数
格式Y=acos(X)
函数tan、tanh
功能正切函数与双曲正切函数
格式Y=tan(X)
函数atan、atanh
功能反正切函数与反双曲正切函数
格式Y=atan(X)
函数cot、coth
功能余切函数与双曲余切函数
格式Y=cot(X)
函数acot、acoth
功能反余切函数与反双曲余切函数
格式Y=acot(X)
函数sec、sech
功能正割函数与双曲正割函数
格式Y=sec(X)
函数asec、asech
功能反正割函数与反双曲正割函数
格式Y=asec(X)
函数csc、csch
功能余割函数与双曲余割函数
格式Y=csc(X)
函数acsc、acsch
功能反余割函数与反双曲余割函数。
格式Y=asec(X)
函数atan2
功能四象限的反正切函数
格式P=atan2(Y,X)
4.1.2其他函数
函数fix
功能朝零方向取整
格式B=fix(A)
函数roud
功能朝最近的方向取整。
格式Y=round(X)
函数floor
功能朝负无穷大方向取整
格式B=floor(A)
函数rem
功能求作除法后的剩余数
格式R=rem(X,Y)
函数exp
功能以e为底数的指数函数
格式Y=exp(X)
函数log
功能自然对数,即以e为底数的对数。
格式Y=log(X)
函数ceil
功能朝正无穷大方向取整
格式B=ceil(A)
函数log10
功能常用对数,即以10为底数的对数。
格式Y=log10(X)
函数sort
功能把输入参量中的元素按从小到大的方向重新排列
格式B=sort(A)
函数abs
功能数值的绝对值与复数的幅值
格式Y=abs(X)
函数mod
功能模数
用法M=mod(X,Y)
4.2插值拟合
4.2.1命令
命令1interp1
功能一维数据插值(表格查找)。
该命令对数据点之间计算内插值。
格式yi=interp1(x,Y,xi)%返回插值向量yi,每一元素对应于参量xi,同时由向量x与Y的内插值决定。
参量x指定数据Y的点。
若Y为一矩阵,则按Y的每列计算。
yi是阶数为length(xi)*size(Y,2)的输出矩阵。
命令2interp2
功能二维数据内插值(表格查找)
格式ZI=interp2(X,Y,Z,XI,YI)
ZI=interp2(X,Y,Z,XI,YI,method)%用指定的算法method计算二维插值:
’linear’:
双线性插值算法(缺省算法);
’nearest’:
最临近插值;
’spline’:
三次样条插值;
’cubic’:
双三次插值。
命令3interp3
功能三维数据插值(查表)
格式VI=interp3(X,Y,Z,V,XI,YI,ZI)
附录
附1平滑曲线
附录二一元多项回归
附录三一元线性回归
附录四一元线性回归
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 初步 学习