数模美赛备赛-MATLAB基操勿六
Posted Eric%258436
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数模美赛备赛-MATLAB基操勿六相关的知识,希望对你有一定的参考价值。
** 如有错误,感谢指正**
如有错误,感谢指正,请私信博主,有辛苦红包,拜“一字之师”。
请根据目录寻找自己需要的段落
导语:本博客为个人整理MATLAB学习记录帖,如有错误,感谢指正。系统学习,欢迎持续关注,后续陆陆续续更新
Java 交流qq群 383245788
序
本文旨在记录个人数模美赛备赛经历。转载请注明出处。
MATLAB基础
●MATLAB是Matrix Laboratory (矩阵实验室)的缩写。
●开放式程序设计语言,可用于高性能工程计算。
●基本的数据单位是没有维数限制的矩阵。
●MATLAB是很多数学类、工程和科学类的初等和高等课程的标准指导工具。
●工业上常用来做产品研究、开发和分析。
●MATLAB的版本号主要包含发布时间。3月份发布版本a , 9月份发布版本b。
MATLAB系统主要包含五个部分,分别为:
●桌面工具和开发环境:用户图形化界面,方便用户使用MATLAB的函数和文件,包括MATLAB桌面和命令行窗口,编辑器和调试器,代码分析器和用于浏览帮助、工作空间、文件的浏览器。
●数学函数库:包括大量的计算算法,从初等函数(如加法、正弦、余弦等)到复杂的高等函数(如矩阵求逆、矩阵特征值、贝塞尔函数和快速傅里叶变换等)。
●语言:MATLAB语言是一种高级的居于矩阵/数组的语言,具有程序流控制、函数、数据结构、输入输出和面向对象编程等特色。用户可以在命令行窗口中将输入语句与执行命令同步,以迅速创立快速抛弃型程序,也可以 编写一个较大的复杂的M文件后再一起运行,以创立完整的大型应用程序。 图形处理:方便的数据可视化功能,以将向量和矩阵用图形表现出来,还可以进行图像处理、图形标注、动画和表达式作图,以及建立基于MATLAB应用程序的完整的用户的图形用户界面。
●外部接口:MATLAB语言能够和C语言等其它语言进行交互。
MATLAB工作界面
MATLAB的工作界面是大家最直接接触的,初步认识各组成部分可以帮助大家熟悉MATLAB的使用。
MATLAB的工作界面形式简洁,主要由标题栏、功能区、工具栏、当前目录窗口(Current Folder,即当前文件夹窗口)、命令行窗口(CommandWindow)、工作区窗口(WorkSpace) 和命令历史记录窗口等组成。
MATLAB 2019中已经不直接显示命令历史记录窗需要输入指令调出。
基本操作,新建,打开,导入,调整布局。
帮助系统:1.查询函数(知道函数名) : help+函数名
2. MATLAB联机帮助 : helpwin
3. 查询函数(不知道全部函数名,模糊查询) : lookfor+函数信息
4.内存变量列表: who
5.内存变量信息: whos
6.目录中的文件列表: what
7. 确定文件位置: which
8. 变量检验函数: exist
MATLAB命令
指令输入提示符 “》”
enter 执行一行或一段命令
不接受中文命令输入,路径应避免中文
MATLAB对命令的格式要求相对严格,必须要按照格式来输入,如果不知道格式或者调用方式,可以查看帮助系统。
MATLAB的命令必须符合逻辑,所有变量必须之前就存在。
MATLAB功能符号:如下
> 英文分号; 不在命令行显示结果。
MATLAB常用命令
>MATLAB数据类型
MATLAB的数据类型主要包括:数字、字符串、向量、矩阵、单元型数据及结构型数据。矩阵是MATLAB语言中最基本的数据类型,从本质上讲它是数组。向量可以看作只有一行或一-列的矩阵(或数组) ;数字也可以看作矩阵,即一行一列的矩阵:字符串也可以看作矩阵(或数组),即字符矩阵(或数组) :而单元型数据和结构型数据都可以看作以任意形式的数组为元素的多维数组,只不过结构型数据的元素具有属性名。
具体的可以自己查查百度,跟别的编程语言有差别,但是不大。多出来几种数据类型。复数、矩阵这些可以跟百度聊聊。变量名
变量名必须以字母开头,之后可以是任意的字母、数字或下划线。
变量名区分字母的大小写。
变量名不超过31个字符,第31个字符以后的字符将被忽略。
MATLAB常用常量
基础知识
format :改变数字显示形式
只是改变显示形式,实际存值不改变
MATLAB算术运算符
>其中,算术运算符加、减、乘及乘方与传统意义,上的加、减、乘及乘方类似,用法基本相同,而点乘、点乘方等运算有其特殊的一面。点运算是指元素点对点的运算,即矩阵内元素对元素之间的运算。点运算要求参与运算的变量在结构.上必须是相似的。MATLAB的除法运算较为特殊。对于简单数值而言,算术左除与算术右除也不同。算术右除与传统的除法相同,即a/b=a+ b;而算术左除则与传统的除法相反,即a\\b=b亡a。对矩阵而言,算术右除A/B相当于求解线性方程XA=B的解:算术左除相当于求解线性方程AX=B的解。点左除与点右除与上面的点运算相似,是变量对应于元素进行点除。在MATLAB下进行简单数值运算,只需将运算式在提示符(>>)之后直接输入,并按Enter键即可。
MATLAB关系运算符
运算符这些没有详细介绍,也不打算介绍,自己百度简单了解,跟别的语言都一样,不做过多介绍。
MATLAB逻辑运算符
MATLAB常用数学函数
复数四则运算:高中知识,自己看事儿办,高级操作,B站视频也很多,一看就懂
三角函数
MATLAB向量
向量的生成:直接输入法、冒号法和利用MATLAB函数创建三种方法。
- 直接输入法。用空格和逗号分隔生成行向量,用分号分隔形成列向量。[1,2,3]、[1 2 3]、[1;2;3]
- 冒号法。基本格式是x=first:increment:last,表示创建-一个从first开始,到last结束,数据元素的增量为increment的向量。若增量为1, .上面创建向量的方式简写为x =first:last.x=1:10、x=0:2:10
- 利用函数linspace创建向量。linspace通过直接定义数据元素个数,而不是数据元素之间的增量来创建向量。此函数的调用格式如下。linspace (first_ value, last_ value, number)。该调用格式表示创建一-个从first_value 开始last_value 结束,包含number个元素的向量。
向量元素的引用
向量操作:四则运算与转秩
向量的点积运算:在MATLAB中,对于向量a、b,其点积可以利用a.*b得到,也可以直接用命令dot算出,该命令的调用格式
向量的叉积运算:我们知道,在空间解析几何学中,两个向量叉乘的结果是一-个过两相交向量交点且垂直于两向量所在平面的向量。在MATLAB中,向量的叉积运算可由函数cross来实现。
向量的混合积
MATLAB多项式
式指的是代数式,是由数字和字母组成的,如1,5a,sdef, ax"+b。式又分为单项式和多项式:
- 单项式是数字 与字母的积,单独的一个数字或字母也是单项式,如3ab。N几个 单项式的和叫做多项式,如3ab+5cd.
- 在高等代数中,多项式一般可表示为: ax" +ax"-+…+a. x+a,。这是一个n (>0)次多项式,a。,a,等是多项式的系数。
在MATLAB 中,多项式的系数组成的向量表示为p=ao,.,an_,a,2x’-x2 +3<>[,-1,0,3]。系数中的零不能省略。将对多项式运算转化为对向量的运算,是数学中最基本的运算之一。
多项式创建
多项式运算:MATLAB没有提供专门的针对多项式的加减运算的函数,多项式的四则运算实际上是多项式对应的系数的四则运算。多项式的四则运算是指多项式的加、减、乘、除运算。需要注意的是,相加、减的两个向量必须大小相等。阶次不同时,低阶多项式必须用零填补,使其与高阶多项式有相同的阶次。多项式的加、减运算直接用“+”、“_” 来实现。
- 乘法:多项式的乘法用函数conv(pl,p2)来实现,相当于执行两个数组的卷积。
- 除法:deconv
求导:多项式导数运算用函数polyder来实现。其调用格式为:polyder§。其中p为多项式的系数向量
特殊变量:
相关函数
矩阵
定义:MATLAB以矩阵作为数据操作的基本单位,这使得矩阵运算变得非常简捷、方便、高效。矩阵是由mn个数ay(i= 1,2.**,m;j= 1,2…,n)排成的m行n列数表,称为mxn矩阵,也可以记成a或A(mn)。 其中,i表示行数,j表示列数。若m=n,则该矩阵为n阶矩阵(n阶方阵)。
创建:
在键盘上直接按行方式输入矩阵是最方便、最常用的创建数值矩阵的方法,尤其适合较小的简单矩阵。在用此方法创建矩阵时,应当注意以下几点。
- 输入矩阵时要以 “[ ]” 为其标识符号,矩阵的所有元素必须都在括号内。
- 矩阵同行元素之间由空格 (个数不限)或逗号分隔,行与行之间用分号或回车键分隔。
- 矩阵大小不需要预先定 义。
- 矩阵元素可以是运 算表达式。
- 若“[ ]”中无元素,表示空矩阵。
- 如果不想显示中间结果, 可以用“;”结束。
矩阵的生成除了直接输入法,还可以利用M文件生成法和文本文件生成法等。
利用M文件创建:当矩阵的规模比较大时,直接输入法就显得笨拙,出差错也不易修改。为了解决这些问题,可以将所要输入的矩阵按格式先写入一文本文件中,并将此文件以m为其扩展名,即M文件。M文件是一-种可以在MATLAB环境下运行的文本文件,它可以分为命令式文件和函数式文件两种。在此处主要用到的是命令式M文件,用它的简单形式来创建大型矩阵。在MATLAB命令行窗口中输入M文件名,所要输入的大型矩阵即可被输入到内存中。
用户可以直接用函数来生成某些特定的矩阵,常用的函数如下。
eye(n) // 创建nxn单位矩阵。
eye(m,n) // 创建mxn的单位矩阵。
eye(size(A)) // 创建与A维数相同的单位阵。
ones(n) // 创建nxn全1矩阵。
ones(m,n) // 创建mxn全1矩阵。
ones(size(A)) // 创建与A维数相同的全1阵。
zeros(m,n) // 创建mxn全0矩阵。
zeros(size(A)) // 创建与A维数相同的全0阵。
rand(n) // 在[0,1]区间内创建一个 nxn均匀分布的随机矩阵。
rand(m,n) // 在[0,1]区间内创建一个mxn均匀分布的随机矩阵。
rand(size(A)) // 在[0,1]区间内创建一个与A维数相同的均匀分布的随机矩阵。
compan(P) // 创建系数向量是P的多项式的伴随矩阵。
diag(v) // 创建向量v中的元素为对角的对角阵。
hilb(n) // 创建nxn的Hilbert矩阵。
magic(n) // 生成n阶魔方矩阵。
sparse(A) // 将矩阵A转化为稀疏矩阵形式,即由A的非零元素和下标构成稀疏矩阵S。若A本身为稀疏矩阵,则返回A本身。
矩阵操作
矩阵中的元素与向量中的元素一样,可以进行抽取引用、编辑修改等操作。
矩阵元素的修改:矩阵建立起来之后,还需要对其元素进行修改。
矩阵的变维
矩阵的变维可以用符号“:”法和reshape函数法。reshape 函数的调用形式如下。reshape(X,m,n):将已知矩阵变维成m行n列的矩阵。
矩阵的转向/翻转:
矩阵的抽取:对矩阵元素的抽取主要是指对角元素和上(下)三角阵的抽取。
矩阵的运算:线性代数
常用函数
逆矩阵:线性代数
范数:
奇异值分解(SVD)是现代数值分析(尤其是数值计算)的最基本和最重要的工具之一一,因此在实际工程中有着广泛的应用。
所谓的SVD分解指的是将mxn矩阵A表示为3个矩阵乘积形式: USvT, 其中U为mxm酉矩阵,V为nxn酉矩阵,S为对角矩阵,其对角线元素为矩阵A的奇异值且满足s≥s2≥≥s,>s=.≈s,=0,r为矩阵A的秩。在MATLAB中,这种分解是通过svd命令来实现的。
符号运算
在数学、物理学及力学等各种学科和工程应用中,经常还会遇到符号运算的问题。在MATLAB中,符号运算是为了得到更高精度的数值解,但数值的运算更容易让读者理解,因此在特定的情况下,分别使用符号或数值表达式进行不同的运算。
符号运算是MATLAB数值计算的扩展,在运算过程中以符号表达式或符号矩阵为运算对象,实现了符号计算和数值计算的相互结合,使应用更灵活。
符号表达式与数值表达式的相互转换主要是通过函数eval和sym实现的。其中,eval 函数用于将符号表达式转换成数值表达式,而函数sym用于将数值表达式转换成符号表达式。
符号矩阵和符号向量中的元素都是符号表达式,符号表达式是由符号变量与数值组成的。符号矩阵中的元素是任何不带等号的符号表达式,各符号表达式的长度可以不同。符号矩阵中以空格或逗号分隔的元素指定的是不同列的元素,而以分号分隔的元素指定的是不同行的元素。
生成符号矩阵有以下方法。
直接输入:直接输入符号矩阵时,符号矩阵的每一行 都要用方括号括起来,而且要保证同一列的各行元素字符串的长度相同,因此在较短的字符串中要插入空格来补齐长度,否则程序将会报错。数值矩阵转化为符号矩阵:在MATLAB中,数值矩阵不能直接参与符号运算,所以必须先转化为符号矩阵。与数值矩阵-一样,符号矩阵可以进行转置、求逆等运算,但符号矩阵的函数与数值矩阵的函数不同。本节将进行介绍。
符号矩阵的转置运算:符号矩阵的转置运算可以通过符号“’”或函数transpose来实现.
符号矩阵的行列式运算符号矩阵的行列式运算可以通过函数determ或det来实现,其中矩阵必须使用方阵。
符号简化:符号简化可以通过函数simple和simplify来实现。
分式通分:求解符号表达式的分子和分母可以通过函数numden来实现。
MATLAB二维绘图
基本绘图命令
- plot命令
plot命令是最基本的绘图命令,也是最常用的一个绘图命令。当执行plot命令时,系统会自动创建一个新的图形窗口。
如果之前已经有图形窗口了,那么系统会将图形画在最近打开的图形窗口上,原有的图形也将被覆盖。
命令的格式可以通过help查询,不再这里赘述了。看一眼就会,忘了就查,多看就记住了。X和Y必须是同维向量。绘制以X为横坐标、Y为纵坐标的曲线。
- 如果X是向量,Y是矩阵时。X的维数应当与Y的某一维相等。绘制多条颜色不同的曲线,曲线数等于Y的另一维,X作为曲线的横坐标。
- 如果矩阵是方阵,绘制Y的每一列对X的曲线。(MATLAB的列优先原则)
- 如果X是矩阵,Y是向量,同上,但此时Y是横坐标
- 如果X和Y是同维矩阵,以X的每一列作为横坐标、以Y对应的列元素作为纵坐标绘制曲线,,曲线数等于列数。
- linespace 参数:
LineSpec为包含符号的字符向量或者字符串,用来设置所画数据点的形状、大小和颜色,以及数据点之间连线的形状、粗细、颜色等。在实际应用中,LineSpec是某些字母或符号的组合,可以省略。在省略时,MATLAB将会使用默认设置,曲线采用实线,不同曲线将按照一定顺序着色。(不同版 本MATLAB默认颜色顺序不同)如果忽略线型,只指定标记,则绘图时只显示标记,不显示线条。
示例:’一or’是带 有圆形标记的红色虚线。以下给出基本的线型、标记符号和颜色,之后还会对更复杂的进行介绍。
plot(x1 ,y1…n,yn)绘制多个x、y对应的图,所有的线条都使用相同的坐标区。
plot(x1,y1,LineSpec…,xn,yn,LineSpecn)设置每个线条的线型、标记符号和颜色。在使用时,X、y、LineSpec三元组和x、y可以混用。- plot(y)创建y中数据对每个值索引的二维线图。
如果y是实向量,则x轴刻度范围从1到length(y).如果y是实矩阵,按列绘制出每列元素值对应其下标的曲线,曲线数等于y的列数。如果y是复矩阵,按列分别绘制出以元素实部为横坐标,虚部为纵坐标的多条曲线。即等效于plot(real(y),imag(y)).plot(y,LineSpec)设置线型、标记符号和颜色。
更多的线性和标记等操作,查文档,简单易学,添加几个参数就能实现,很简单。篇幅太长,我所总结不如人家文档的规整和保存最新性。
- fplot命令
专门用于绘制一元函数的命令。
自适应地指导数据点的选取。
- 平滑处点稀疏
- 陡峭处点密集
图像比plot的更光滑和准确。
语法大多与plot相似,详细了解可以查文档。
- ezplot命令
专门用于符号函数的绘图命令。不推荐使用这个函数,功能可以由fplot代替。
默认定义域是[-2Tπ,2π].fun2(x,y)定义的是x和y之间的隐函数。
ezplot(fun2)绘制的是fun2(x,y)=0的图像。
ezplot(funx,funy)的默认定义域是0<t<2π.
ezplot(…,fig)将图窗绘制到由fig标识的图窗窗口中,可以与.上述语法中的任意输入参数组合。- subplot命令
在同一图形窗口中分割出所需要的几个窗口。
subplot(m,n,p)命令
将当前窗口分割成mXn个视图区域,并p指定的位置创建坐标区.在编号时,行优先。
'replace’参数,删除位置p现有的坐标区并创建新坐标区。
‘align’参数,默认参数,创建新坐标区。
subplot(m,n,p,ax)将现有坐标区ax转换为同一图窗中的子图。
subplot(‘Position’ ,pos)在pos指定的自定义位置创建坐标区。
1.pos的格式为[left bottom width height].
2.一如果新坐标区与现有坐标区重叠, 现有坐标区将被替换掉。
不同坐标系下的绘图命令
- 极坐标系
polarplot ( polar:不推荐使用,功能可用前者代替。)
polarplot(theta,rho)在极坐标中绘制线条,由theta表示极角,单位为弧度,rho表示极径。theta和rho可 以均为向量或矩阵,也可以一个向量\\一个矩阵,与plot类似。
polarplot(rho)按等间隔角度(介于0和2π之间)绘制rho中的半径值。
polarplot(z)绘制z中的复数值。极径对应的复数的模长,极角对应复数的幅角主值。
polarplot(pax,_ )使用pax指定的坐标区。
详细查help文档。- 半对数坐标系
半对数坐标在工程上十分常见。semilogx用来绘制x轴为对数坐标、y轴为线性坐标的曲线。
semilogy用来绘制x轴为线性坐标、y轴为对数坐标的曲线。对数为以10为底的常用对数。
除了半对数坐标绘图外,MATLAB还提供了双对数坐标系下的绘图命令loglog,使用方法与semilogx相类似。
详细查文档,与plot都非常相似。- 双对数坐标系
- 双y轴坐标系
当同一幅图上所要表示的两条曲线纵坐标值不在同一-范围时,可以使用双y轴坐标。
plotyy:不推荐使用。
yyaxis:创建具有两个y轴的图形。
plotyy命令的不同格式:使用function所指定的绘图函数生成图形,function可 以指定为plot,semilogx, semilogy, loglog和stem的函数。
图形窗口
MATLAB不但擅长与矩阵有关的数值计算,它还具有强大的图形功能。利用MATLB可以很方便地实现大量数据计算结果的可视化而且还能很方便地修改和编辑图形界面。图形窗口是MATLB数据可视化的平台。图形窗口和命令行窗口是相互独立的,可以根据编程者的需求获得各种高质量的图形。
- 图形窗口的创建
figure命令:
figure:使用默认属性值创建-一个图窗窗口。-figure(Name,Value):使用一-个或多个名称-值对组参数修改图窗的属性。f=figure(_ ): 返回Figure对象,可以在之.后使用f查询修改属性。figure(f):将f指定为当前图窗-figure(n):创建一个编号 为Figure(n)的图形窗口,n是一个正整数。- figure的部分属性
查文档- 其它相关命令
set命令可以用来设定图形窗口的属性值。
get命令可以用来查询图形窗口的属性值。
close命令可以用来关闭图形窗口。
clf命令可以用来清空当前图形窗口。- 工具条的使用
调整曲线,角度,高亮,标注坐标值等。
图形标注
通过先前的命令和操作,已经可以在图形窗口中,绘制基本的图形了。但仅凭借这些操作绘制的图形,只是绘图结果的罗列,缺少对图形的修饰、解释。缺少标题、图例等用于解释的信息。MATLAB提供了大量的函数和命令,可以对二维图形进行修饰和标注。同时也可以完成一些特殊图形 的绘制。
- 图形属性设置
坐标系与坐标轴: 函数 axis() 用help命令详细了解
图形注释: fill()、title()、xlable()、text()、gtext() 见名思意,不懂就help
legend命令 不懂就help
grid命令:坐标区域网格线 (on,off,minor)不懂就help- 特殊图形:
二维条形图:bar/barh
三维条形图:bar3/bar3h
区域图:area
饼图:pie
三维饼图:pie3
二维直方图:hist/histogram/rose/polarhistogram
误差条:errorbar
针状图:stem
箭头图:quiver
MATLAB三维绘图
plot3() 函数 不会就help
曲线绘图:ezplot3()
三维网格函数:mesh()
网格生成:meshgrid
颜色:hidden函数
高级版:meshc()
兄弟函数:meshz()
兄弟函数:ezmesh() 不推荐
兄弟函数:fmesh() 代替ez的函数 推荐
三维曲面函数:surf。扩展函数surfc和surfl
柱面:cylinder
球面:sphere
等高线图:contour3
数列与极限
- sum函数
s=sum(A,all)计算A中所有元素的总和。此语法适用于R2018b及更高版本。不支持的可以用sum嵌套。
s=sum(A,dim)沿维度dim返回总和。如果A是矩阵,那么sum(A,2)计算行和。
s=sum(A,vecdim)根据向量vecdim中所指定的维度对A的元素求和。如果A是矩阵,那么sum(A,[1 2])是求A中所有元素的总和。适用于R2017b之后的更高版本。
s=sum(_ ,nanflag)可 以选择计算中是否包括NaN值,'includenan’会 包括,‘omitnan’则不包括。
nansum函数可以计算不包含NaN值的其他元素的和,与sum(, ‘omitnan’)等价。
cumsum函数可以用来计算累积和。
cumsum(A):与sum(A)类似。
cumsum(A,dim):与sum(A,dim)类 似。
cumsum( ,direction): 按照指定方向计算累积和。默认为’forward’, 'reverse’ 为倒序。
cumsum(_ ,nanflag): 指定计算是否忽略NaN值。- 其他求和函数
cumtrapz函数可以用来计算累积梯形数值积分。
q=cumtrapz(y)通过梯形法按照单位间距计算y的近似累积积分。如果y是向量,则计算累积积分。如果y是矩阵,则计算每一-列的累积积分。如果y是高维数组,则对大小不等于1的第一个维度求累积积分。
q=cumtrapz(x,y)根据x指定的坐标或标量间距对y进行积分。如果x是向量, 则长度必须与y的第一一个不等于1的维度的大小相同。如果x是标量,代表间距,此时cumtrapz(x,y)=x*cumtrapz(y).
q=cumtrapz(_ ,dim)沿dim所指定的维度求积分。- prod 求积
prod函数可以用来求数组元素的乘积。prod函数的基本用法与sum函数类似。如果输入空矩阵,则结果为1.如果A为single类型,则结果也为single类型,如果为其他数值和逻辑数据类型,结果都将是double类型。- 其他乘积函数
cumprod函数可以计算累积乘积,用法与cumsum类似。
factorial函数可以用来计算阶乘。既可以计算标量的阶乘,也可以计算矩阵的阶乘。
gamma函数可以用来计算gamma函数的值。- 极限
limit函数可以用来求函数的极限。
limit(f,var,a)计算函数f在变量yar接近a时候的极限。省略var时用默认的变量。
limit(f)计算函数在0的极限。
limit(f,var,a,left’)计算函数f在变量var接近a时候的左极限。
limit(f,var,a,‘right’ )计算函数f在变量var接近a时候的右极限。- 导数
根据导数的定义,使用limit函数计算导数。
diff函数可以用来直接计算函数的导数。
dif(,n):计算函数f的n阶导数,默认为1.
dif(f,var,n):计算多元函数f关于变量x的n阶偏导数。- 差分近似导数
在步长较小时,差分与步长的比值可以近似为导数。- 级数求和
symsum函数可以用来计算级数求和。
F=syssum(f,k,a,b):计算k从a取到b时,级数f的和。参数可以用Inf来代表无穷大。如果级数不收敛,无穷级数求和的结果为Inf.
F=symsum(f,k):计算不定项级数的求和。所满足的递推公式: F(k+ 1)-F(k)= f(k)
-还可以 等比数列和等差数列求和- 还可以计算不定积分
symsum(f):计算函数f的不定积分。
symsum(f, var):计算多元函数f关于变量var的不定积分。MATLAB并不是能够计算出所有级数求和的结果,如果求不出闭式解,结果仍为原语句。- 积分
int函数可以用来计算定积分。
int(f,a,b):计算函数f在区间[a,b]上的定积分。
int(f,x,a,b):计算多元函数关于x在区间[a,b]上的定积分。
int(f):计算函数f的不定积分。
int(f,x):计算函数f关于x的不定积分。- 二重积分
dblquad函数可以用来计算二重积分,不推荐使用。
integral2函数可以实现此功能,代替前者。
q=integral2(fun,xmin,xmax,ymin,ymax)在平面区域xminSx sxmax和ymin sy Symax上计算函数z=fun(x,y)的积分。
q=integral2(_, Name,Value)可以在后面添加属性名称和值- 泰勒展开
T=taylor(f,var)计算f在变量var=0附近的六阶泰勒展开式。
T=taylor(f,var,a)计算f在变量var=a附近的六阶泰勒展开式。可以在后面添加属性名称和值。通过添加属性来获得更多项。- 傅里叶变换与逆变换
fourier(f)可以计算f的傅里叶变换,结果中w为变换后的变量。
fourier(f,transVar)用transVar代替w.
fourier(f,var,transVar)对var所代表的变量做傅里叶变换。
ifourir(F)可以用来计算F的傅里叶逆变换,逆变换后的变量为x.
ifourier(F,transVar)与ifourier(F,var,transVar)与fourier类似。- 快速傅里叶变换
y=ff(x): 用快速傅里叶变换算法计算X的离散傅里叶变换。
如果x是向量,则返回该向量的傅里叶变换。
如果x是矩阵,则返回每列的傅里叶变换。
y=fft(x,n)返回n点离散傅里叶变换,如果未指定任何n,则Y的大小与X相同
如果x是向量,长度小于n则补0,大于n则截断。
如果x是矩阵,则返回每列的傅里叶变换。
y-fft(x.n,dim)返回沿维度dim的傅里叶变换。
ft2函数可以用来计算二维傅里叶变换。
tshift函数将直流分量移至谱中心。
ift函数和ifft2函数是一维和二维快速傅里叶逆变换。
iftshift函数用来抵消fftshift函数对零频的平移。- 拉普拉斯变换
laplace函数和ilaplace函数可以用来计算拉普拉斯变换和拉普拉斯逆变换,用法与fourier和ifourier类似。
以上是关于数模美赛备赛-MATLAB基操勿六的主要内容,如果未能解决你的问题,请参考以下文章
2023数学建模美赛赛题思路分析 2023美赛 美国大学生数学建模数模