MATLAB学习笔记.docx
- 文档编号:12795193
- 上传时间:2023-06-08
- 格式:DOCX
- 页数:39
- 大小:1.65MB
MATLAB学习笔记.docx
《MATLAB学习笔记.docx》由会员分享,可在线阅读,更多相关《MATLAB学习笔记.docx(39页珍藏版)》请在冰点文库上搜索。
MATLAB学习笔记
MATLAB学习笔记
14.12.24
一、数据类型
1.数据类型分为整数(int)、单精度浮点数(single)、双精度浮点数(double)三类,默认情况下,按照双精度浮点数进行存储操作。
对所有数值进行双进度浮点类型存储和操作。
2.floor向下取整floor(1.4)=1floor(-3.5)=-4
ceil向上取整ceil(1.4)=2ceil(-3.5)=-3
round接近取整round(1.4)=1round(-3.5)=-4
3.复数:
构造函数complex(a,b)
求实函数real(z)求虚函数imag(z)
模abs(z)辅角angle(z)
共轭复数conj(z)
4.Inf无穷量NaN非数值量
5.结构创建
(1)struct函数
(2)patient=[patient1,patient2]
Patient对象由patient1和patient2连接形成。
6.创建单元数组cell
6.访问单元数组
C(m,n)指的是单元数组中第m行第n列的单元;
C{m,n}指的是单元数组中第m行第n列的单元中的内容。
14.12.25
7.单元数组操作
(1)单元数组的合并用{}
(2)如果要删除单元数组中的指定单元,只需将空矩阵赋给该单元即:
C{m,n}=[]。
(3)用reshape函数来改变单元数组形状
(4)函数句柄Function_Handle=@Function_Filename
8.运算符与运算:
MATLAB中运算符分为算术运算符、关系运算符和逻辑运算符。
●算数运算符P33表2.10
(2)关系运算符P33表2.11
‘==’是比较两个变量,相等返回1,不相等返回0;
‘=’是赋值。
(3)逻辑运算符
&与︱或~非
xor(x,y)异或x与y不同时为0返回1;否则返回0
any(x)向量x中,有任何非零元素,返回1;否则返回0
矩阵x中的每一列有非零元素返回1,否则返回0
all(x)向量x中,所有元素非0,返回1;否则返回0
矩阵x中的每一列所有元素非0返回1,否则返回0
(4)运算优先级P35表2.14
9.字符串处理字符串相关函数P35表2.15
isstrstrcmpisspacedeblankfevalevalstrrepisletter
(1)字符串构造:
构造多行字符串时,如果字符串写在[]内,那么多行字符串的长度必须相同;如果字符串写在{}内,长度可以不同。
(
)strcatconcatenatestringshorizontally水平连接
(
)strvcat连接多行字符串时,每行字符串的长度不要求相等,所有非最长字符串的右边会自动补偿空格,使每行字符串的长度相同。
(
)charchar与strvcat函数类似(非最长也补偿),不过当多行字符串中有空字符串时,strvcat函数会自动进行忽略,而char函数则会把空字符串也用空格补偿后,再进行连接。
●字符串比较
使用关系运算进行比较时,返回值是一个与字符串长度相同大小的数组,因此要求被比较的两个字符串长度必须相同;而strcmp函数则是比较两个字符串是否相同,无需比较两个字符串的长度,返回值为数值0或1。
●查找与替换
findstr查找与搜索strrep替换
二、矩阵基础
(1)创建矩阵P39表2.17
ones(n)zeros(n)eye(n)rand(m,n)ones(size(A))magic(m,n)randn(n)[]等
(2)改变矩阵结构P41表2.18
fliplr(A)矩阵每一行进行逆序排列
flipud(A)矩阵每一列进行逆序排列
rot90(A)矩阵逆时针旋转90度
sort(A,di)dim=1,对每列进行升序排列并返回排列后的矩阵;dim=2,对每行进行升序排列并返回排列后的矩阵。
repmat(A,[mnp])创建一个和矩阵A有相同元素的m*n*p块的多为矩阵.
A[(13),:
]获取A矩阵第一、三行两行所有列
A=[A,[101;102;103]]在A后加一个列向量[101;102;103]
●矩阵下标
1、双下标索引通过两个下标来确定元素在矩阵中的位置,如A(2,3)表示矩阵A中第二行第三列的元素
2、单下标索引通过一个坐标来确定元素在矩阵中的位置,采用列优先的原则.例如:
A=rand(3,4),A(7)表示矩阵A中第一行第三列的元素;A(9)为第三行第三列的元素.
3、矩阵下标引用P42表2.19
A(i)将二维矩阵A重组为一维矩阵,返回数组中第i个元素
A(:
j)返回二维矩阵中第j列
A(i,:
)返回二维矩阵A中的第i行
A(:
j:
k)返回二维矩阵中第j列到第k列向量组成的子阵
A(:
)将矩阵A中每列合并成一个长的列向量
A(j:
k)返回一个行向量,其元素为A(:
)中第j个元素到第k个元素
4、引用转换sub2ind
ind=sub2ind([34],1,3)ind=7
[IJ]=ind2sub([34],7)I=1J=3
5、访问多个矩阵元素
6、矩阵结构P43表2.20
isempty(A)判断矩阵是不是空矩阵
isscalar(A)判断矩阵是不是单元素标量矩阵
isvector(A)判断矩阵是否是只有一行或一列的一维向量
issparse(A)判断矩阵是不是稀疏矩阵
7、矩阵大小
ndims矩阵维度
size矩阵各维长度
length矩阵最长维长度
numel矩阵元素个数
三、编程基础
1、变量与语句
(1)变量:
必须以字母作为开端,其后可以是任意字母或下划线,但不能有空格。
不能使用关键字作为变量名,如’if’,’end’等。
(2)关键字keyword
2、程序控制
(1)顺序结构按照各操作在程序文本中出现的先后顺序执行.
(2)分支结构
(
)if-else-end
(
)执行命令组只有一组
ifexpression
commands%判决条件为真,执行命令组commands
end
(
)执行命令组有两组
ifexpression%判决条件
commands1%判决条件为真,执行命令组commands1
else
commands2%判决条件commands1为假,执行命令组commands2
end
(
)执行命令组有n(n>=2)
ifexpression1%判决条件
commands1%判决条件为真,执行命令组commands1
elseifexpression2%判决条件commands1为假,执行命令组commands2
…
elsecommandsn%前面的所有判决条件为假,执行commandsn
end
(
)switch-case结构
switchvalue
casetest1
command1%如果value等于test1,执行command1
casetest2
command2%如果value等于test2,执行command2
…
casetestk
commandsk
otherwise
commands%如果value不等于前面所有值,执行commands
end
●switch-case结构至少有一组命令将被执行;
●switch后的表达式value应为一个标量或一个字符串,当表达式为标量时,比较形式为:
表达式==检测值i;当表达式为字符串时,MATLAB将调用字符串函数strcmp来进行比较,比较形式为:
strcmp(表达式,检测值i)
(
)try-catch结构
try
command1%命令组commands1总是被执行,若正确,执行完此命令组
catch
commands2%命令组commands1执行发生错误时,执行命令组commands2
end
●只有当命令组commands1发生错误时,才执行命令组commands2.
●try-catch结构只提供两个可以选择的命令组.
●当执行commands1发生错误时,可用lasterr函数查询出错原因,若lasterr运行结果为空字符串,表示命令组commands1执行成功.
●执行命令组commands2又发生错误,MATLAB将终止该结构.
(3)循环结构
1.for循环
forx=array
commands
end
x为循环变量,for与end之间的命令组commands为循环体,执行次数由array决定
2.while循环结构
四、可视化基础
1、图像绘制
(1)二维绘制
plot
plot(Y)plot(X1,Y1,…,Xn,Yn)
plot(X1,Y1,LineSpec,…,Xn,Yn,LineSpec)
Xn为横坐标数据,Yn为纵坐标数据,LineSpec为绘制图线的属性.
(i)plot(Y)
●Y为向量,绘制的图形以向量索引为横坐标,以向量元素的值为纵坐标;
●Y为实数矩阵,绘制以Y的列向量对其坐标索引的图形;
●Y为复向量,绘制图形以复向量实部为横坐标值,虚部为纵坐标.
(ii)plot(X1,Y1,..,Xn,Yn)X、Y均可为向量或矩阵
(iii)线性标识颜色P85表5.1
14.12.26
(4)图形叠绘holdonholdoffhold切换
(5)子图绘制subplotsubplot(m,n,p)subplot(mnp)
(6)交互绘图
●ginput只能用于二维[x,y]=ginput(n)n为个数,其功能为从图形中获得n个点的数据坐标(x,y)
●gtextgtext(‘string’)gtext({‘string1’;’string2’;’string3’;…})多行字符串每次单击左键可将其中的一行字符串放置在图形中,直至全部放置完成.
●zoomzoomon/offzoomxonzoomyon
(7)plotyyplotyy(X1,Y2,X2,Y2)
(8)特殊坐标绘图
semilogx;semilogy;loglog
(9)极坐标polar
polar(theta,rho)
polar(theta,rho,LineSpec)
(10)函数绘图fplot(fun,limit)limit为上下限,自动调整间距
ezplot(fun,[xmin,xmax])
(11)图形标题
Øtitle(‘string’)设置当前绘图区的标题为字符串string的值.
ØTitle(‘…,’PropertyName’,PropertyValue…)设置标题的同时,设置标题的属性,如字体,颜色,加粗等.
(通过TEX语法设置文字为斜体显示,\it是TEX标记语法格式,表示设置后续文字为斜体,并且用^符号后紧跟的大括号内的部分会以上格式显示)
二、三维绘图
plot3(三维曲线图)plot3(X1,Y1,Z1)
X1,Y1,Z1为长度相同的向量时,plot3绘制得到一条分别以X1,Y1,Z1为x,y,z轴坐标的空间曲线;X1,Y1,Z1为m*n的矩阵时,绘得n条曲线.
mesh(X,Y,Z)mesh(Z)
X和Y必须均为向量,若X和Y的长度分别为m和n,则Z必须为m*n的矩阵;
(1)确定自变量x和y的取值范围和间隔
x=x1:
dx:
x2;y=y1:
dy:
y2;
(2)利用meshgrid命令生成格点矩阵
[X,Y]=meshgrid(x,y);
(3)计算在自变量采样”格点”上的函数值
Z=f(X,Y)
surf(Z)surf(X,Y,Z)surf(Z,C)surf(X,Y,Z,C)
surf与mesh不同的是:
mesh彩边白格
surf黑边彩格
五、数学基础
(一)数组与矩阵操作
5.1.1数组创建
[1,2;34]:
linspacelogspace
访问与修改数组
X=a:
step:
by=linspace(a,b,n)y=logspace(a,b,n)
10^a为首元素,10^b为尾元素,n为数组元素总数量
5.1.2数组运算
A+BA-BA+/-scalarA*scalarA/scalarA.*B或A/B或A\B要求维数相同,对应元素相加减乘除,计算结果为与A和B同维数的矩阵。
数组点积dot(A,B)=sum(A.*B)scalar
数组叉积cross(A,B)
5.2.1矩阵操作.
1.特殊矩阵创建P128表6.1
magic(n)魔方分布
rand(m,n)0-1随机分布randn(m,n)均值为0方差为1
2.改变矩阵结构
合并C=[AB]C=[A;B]
删除赋空
转置共轭转置”’”转置”.’”
3.矩阵元素查找与排序
findind=find(X)
[row,col]=find(X)
5.2.2多项式函数P163表7.714.12.27
1.conv(u,v)多项式乘法deconv(u,v)多项式除法
poly(p)以p为根的多项式roots求根poly2sym查看多项式
2.多项式求值polyval
3.polyder求微分
4.polyfit(x,y,n)n阶多项式曲线拟合
(二)数值运算
1.解线性方程组
●直接法逆矩阵法
X=A\B或X=A-1B
8x1+x2+63=7
3x1+5x2+7x3=10
4x1+9x2+2x3=11
●LU分解法:
将系数矩阵分解为下三角形矩阵和上三角形矩阵的乘积,A=LU,A*X=b变成A*L*U=b,X=U\(L\b)
●linsolveX=linsolve(A,B)A为系数矩阵,B为右项常数
●迭代法P211x=cgs(A,b,tol,maxit,M)
tol为误差,maxit为迭代次数,M为预条件,inv(M)*A*x=inv(M)*b,默认为[]
2.插值与拟合使用有限的数据对其他数值进行推算的基本方法.
●一维插值interp1yi=interp1(x,Y,xi,method)
method:
nearest临近点差值spline三次样条插值
linear线性插值
●曲线拟合polyfit(x,y,n)n阶拟合
MATLAB在高等数学中的应用实例
一、极限运算
二、求导数
三、参数方程求导
四、隐函数求导
ey+ysinx-ex=0所确定的隐函数为y=y(x),求dy/dx
五、求积分
六、求零点和极值点
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 学习 笔记