Matlab关于数值计算的实现
Matlab中常用的数值计算方法

Matlab中常用的数值计算方法数值计算是现代科学和工程领域中的一个重要问题。
Matlab是一种用于数值计算和科学计算的高级编程语言和环境,具有强大的数值计算功能。
本文将介绍Matlab中常用的数值计算方法,包括数值积分、数值解微分方程、非线性方程求解和线性方程组求解等。
一、数值积分数值积分是通过数值方法来近似计算函数的定积分。
在Matlab中,常用的数值积分函数是'quad'和'quadl'。
'quad'函数可以用于计算定积分,而'quadl'函数可以用于计算无穷积分。
下面是一个使用'quad'函数计算定积分的例子。
假设我们想计算函数f(x) = x^2在区间[0, 1]上的定积分。
我们可以使用如下的Matlab代码:```f = @(x) x^2;integral = quad(f, 0, 1);disp(integral);```运行这段代码后,我们可以得到定积分的近似值,即1/3。
二、数值解微分方程微分方程是描述自然界各种变化规律的数学方程。
在科学研究和工程应用中,常常需要求解微分方程的数值解。
在Matlab中,可以使用'ode45'函数来求解常微分方程的数值解。
'ode45'函数是采用基于Runge-Kutta方法的一种数值解法。
下面是一个使用'ode45'函数求解常微分方程的例子。
假设我们想求解一阶常微分方程dy/dx = 2*x,初始条件为y(0) = 1。
我们可以使用如下的Matlab代码:```fun = @(x, y) 2*x;[x, y] = ode45(fun, [0, 1], 1);plot(x, y);```运行这段代码后,我们可以得到微分方程的数值解,并绘制其图像。
三、非线性方程求解非线性方程是指方程中包含非线性项的方程。
在很多实际问题中,我们需要求解非线性方程的根。
matlab实现数值计算功能源程序(个人整理)

matlab数值计算功能1,基础运算(1)多项式的创建与表达将多项式(x-6)(x-3)(x-8)表示为系数形式a=[6 3 8] % 写成根矢量pa=poly(a)% 求出系数矢量ppa=poly2sym(pa,'x') % 表示成符号形式ezplot(ppa,[-50,50])求3介方阵A的特征多项式a=[6 2 4;7 5 6;1 3 6 ];pa=poly(a)% 写出系数矢量ppa=poly2sym(pa) %表示成符号形式ezplot(ppa,[-50,50]) % 绘图求x^3-6x^2-72x-27的根。
a=[1,-6,-72,-85]; % 写出多项式系数矢量r=roots(a) % 求多项式的根(2)多项式的乘除运算c=conv(a,b) %乘法[q,r]=deconv(c,a)% 除法求a(s)=s^2+2s+3乘以b(s)=4s^2+5s+6的乘积a=[1 2 3]b=[4 5 6] % 写出系数矢量c=conv(a,b)c=poly2sym(c,'s') % 写成符号形式的多项式展开(s^2+2s+2)(s+4)(s+1)并验证结果被(s+4),(s+3)除后的结果。
c=conv([1,2,2],conv([1,4],[1,1]))cs=poly2sym(c,'s')c=[1 7 16 18 8][q1,r1]=deconv(c,[1,4])[q2,r2]=deconv(c,[1,3])cc=conv(q2,[1,3])test=((c-r2)==cc)其他常用的多项式运算命令pa=polyval(p,s) % 按数组规则计算给定s时多项式的值pm=polyvalm(p,s)% 按矩阵规则计算给定s时多项式的值[r,p,k]=residue(b,a) % 部分分式展开,b,a分别是分子,分母多项式系数矢量。
r,p,k分别是留数,极点和值项矢量。
如何使用MATLAB进行数值计算

如何使用MATLAB进行数值计算使用MATLAB进行数值计算一、引言数值计算是现代科学与工程领域中不可或缺的一部分,它能够解决许多实际问题,包括求解方程、优化问题和模拟实验等。
而MATLAB作为一种功能强大的数值计算软件,被广泛应用于各个领域。
本文将介绍如何使用MATLAB进行数值计算,并结合实例进行说明。
二、MATLAB基础首先,我们需要了解MATLAB的基本操作和语法,以便能够熟练运用。
MATLAB使用矩阵和数组来存储和处理数据,因此,熟悉矩阵和数组操作是非常重要的。
MATLAB中的矩阵和数组是通过方括号来定义的,例如:A = [1 2 3; 4 5 6; 7 8 9]表示一个3x3的矩阵A,其中每个元素由空格或分号隔开。
我们可以使用括号或索引来访问矩阵中的元素。
例如,要访问矩阵A的第二行第三列的元素,可以使用A(2,3)。
MATLAB提供了大量内置的数学函数,包括算术运算、三角函数、指数和对数函数等。
这些函数可以直接应用于矩阵和数组,简化了数值计算的过程。
三、方程求解方程求解是数值计算中的一个重要任务,MATLAB提供了多种方法来求解方程,包括代数方法和数值方法。
1. 代数方法对于一些简单的方程,例如一元一次方程或二次方程,可以直接使用MATLAB内置的解方程函数进行求解。
例如,对于一元一次方程ax + b = 0,可以使用solve函数来求解。
代码示例:syms x;eqn = a*x + b == 0;sol = solve(eqn, x);其中,syms x;指定x为符号变量,eqn为方程表达式,sol为方程的解。
2. 数值方法对于一些复杂的方程,无法用解析方法求解。
这时,可以使用数值方法来近似求解。
MATLAB提供了多种数值求解方法,包括二分法、牛顿法和割线法等。
这些方法可以通过迭代逼近的方式求解方程的根。
代码示例:f = @(x) x^2 - 4;x0 = 2;x = fzero(f, x0);其中,f为方程的表达式,x0为初始猜测值,x为方程的根。
matlab数值计算实验报告

matlab数值计算实验报告Matlab数值计算实验报告引言:Matlab是一种广泛应用于科学与工程领域的高级计算机语言和环境,它提供了丰富的函数库和工具箱,方便用户进行数值计算、数据分析和可视化等任务。
本实验报告将介绍我在使用Matlab进行数值计算实验中的一些经验和心得体会。
一、数值计算方法数值计算方法是一种利用数值近似来解决实际问题的方法,它在科学和工程领域具有广泛的应用。
在Matlab中,我们可以利用内置的函数和工具箱来实现各种数值计算方法,例如插值、数值积分、数值微分等。
二、插值方法插值是一种通过已知数据点来推测未知数据点的方法。
在Matlab中,我们可以使用interp1函数来进行插值计算。
例如,我们可以通过已知的一些离散数据点,利用interp1函数来估计其他位置的数值。
这在信号处理、图像处理等领域具有重要的应用。
三、数值积分数值积分是一种通过分割曲线或曲面来近似计算其面积或体积的方法。
在Matlab中,我们可以使用quad函数来进行数值积分计算。
例如,我们可以通过quad函数来计算某个函数在给定区间上的积分值。
这在概率统计、物理学等领域具有广泛的应用。
四、数值微分数值微分是一种通过数值逼近来计算函数导数的方法。
在Matlab中,我们可以使用diff函数来进行数值微分计算。
例如,我们可以通过diff函数来计算某个函数在给定点上的导数值。
这在优化算法、控制系统等领域具有重要的应用。
五、数值求解数值求解是一种通过数值近似来计算方程或方程组的根的方法。
在Matlab中,我们可以使用fsolve函数来进行数值求解计算。
例如,我们可以通过fsolve函数来求解某个非线性方程的根。
这在工程计算、金融分析等领域具有广泛的应用。
六、实验应用在本次实验中,我使用Matlab进行了一些数值计算的应用实验。
例如,我利用插值方法来估计某个信号在给定位置的数值,利用数值积分方法来计算某个曲线下的面积,利用数值微分方法来计算某个函数在给定点的导数值,以及利用数值求解方法来求解某个方程的根。
实验五+MATLAB数值计算(含实验报告)

实验五 MATLAB 数值计算一、实验目的1.掌握求数值导数和数值积分的方法。
2.掌握代数方程数值求解的方法。
3.掌握常微分方程数值求解的方法。
二、实验的设备及条件计算机一台(带有MATLAB7.0以上的软件环境)。
设计提示1.参考本节主要内容,学习并理解相关函数的含义及调用方法。
三、实验内容1.线性系统方程:分别使用左除(\)和求逆(inv )求解下面系统方程的解:⎪⎩⎪⎨⎧=+=+=++377251463c b b a c b a2. 数值积分:使用quad 和trapz 求解⎰-503/dx xe x 的数值积分,并与其解析解9243/5+--e 相比较;3. 请完成教材P154页中实验指导环节的实验内容第2题4. 请完成教材P155页中思考练习的第3题(1),并绘制解在该求解区间(即[0,5])上的图像;。
5、请完成教材P164页实验指导环节的实验内容第5题。
(提示:该函数的符号导数,可以通过函数diff 求得。
首先定义符号变表达式,如求sin(x)的一阶符号导数,可以先定义f=’sin(x)’;df=diff(f);可求得df=cos(x)。
其中df 即为函数f 的一阶符号导数)。
四、实验报告要求(包含预习报告要求和最终报告要求)1.实验名称2.实验目的3.实验设备及条件4.实验内容及要求5.实验程序设计指程序代码。
6.实验结果及结果分析实验结果要求必须客观,现象。
结果分析是对实验结果的理论评判。
7.实验中出现的问题及解决方法8. 思考题的回答五、实验报告的提交方式Word文档,命名方式:实验号_你的学号_姓名例如本次实验:实验一_000000001_张三.doc(信息101提交报告邮箱):E_mail: *******************(网络工程101提交作业邮箱):E_mail: *******************(注意网络班的M是大写的)下一次课前提交,过期不收!六、参考文献参考教材和Matlab帮助文件。
数值计算三角多项式逼近matlab实现

数值计算三角多项式逼近matlab实现数值计算三角多项式逼近matlab实现1. 介绍数值计算在工程学、物理学、计算机科学等领域中扮演着重要角色,而三角多项式逼近则是其中的一种重要技术。
在这篇文章中,我们将探讨数值计算中的三角多项式逼近,并以matlab实现为例进行详细讲解。
2. 三角多项式逼近的基本概念三角多项式是对一个周期函数进行周期延拓,再用傅里叶级数展开而成的一种多项式。
而三角多项式逼近则是利用这种三角多项式来逼近给定的函数。
在实际问题中,我们往往会遇到一些复杂的函数,而通过三角多项式逼近,我们可以用更简单的形式来近似表示这些函数。
3. 三角多项式逼近的深度探讨在数值计算中,三角多项式逼近是一种常见的逼近方法,它有着广泛的应用。
比如在信号处理中,我们可以利用三角多项式逼近来对信号进行分析和处理;在图像处理中,三角多项式逼近也可以用来对图像进行压缩和重建。
在实际问题中,我们可以利用三角多项式逼近来解决一些复杂的数值计算问题,比如对函数的逼近、插值和拟合等。
4. 三角多项式逼近的matlab实现在matlab中,我们可以使用内置的函数或自定义函数来实现三角多项式逼近。
其中,利用fft(快速傅里叶变换)算法可以方便地实现对给定函数的三角多项式逼近。
利用matlab的向量化运算和矩阵运算,我们可以高效地编写三角多项式逼近的代码,并得到准确的逼近结果。
matlab还提供了丰富的图形化界面和绘图函数,我们可以直观地观察逼近效果并进行结果分析。
5. 个人观点与总结通过对三角多项式逼近的深入探讨和matlab实现的详细讲解,我们对这一数值计算技术有了更深入的理解。
三角多项式逼近作为一种重要的逼近方法,在实际问题中具有广泛的应用价值,而matlab作为强大的数值计算工具,则为我们提供了方便高效的实现途径。
我个人认为,掌握三角多项式逼近的原理和实现方法,对于提高数值计算的效率和精度有着重要的意义。
希望本文能够对读者有所帮助,引发更多关于三角多项式逼近的讨论和思考。
学习使用MATLAB进行数值计算和数据分析

学习使用MATLAB进行数值计算和数据分析---第一章:MATLAB的基本介绍MATLAB是一种强大的数值计算和数据分析软件,广泛应用于科学研究、工程设计等领域。
它的主要特点是简洁直观的用户界面和丰富的数学函数库。
在本章中,我们将介绍MATLAB的基本特性和使用方法。
1.1 MATLAB的历史与发展MATLAB是由MathWorks公司于1984年首次推出的。
起初,它作为一个用于矩阵计算的工具被广泛使用。
随着时间的推移,MATLAB逐渐拓展了功能,加入了许多其他数学和工程计算的功能,如符号计算、数据统计和可视化。
如今,MATLAB已经成为一种非常受欢迎的工具。
1.2 MATLAB的安装和环境设置要开始使用MATLAB,首先需要从MathWorks官网下载并安装MATLAB软件。
安装完成后,打开MATLAB并设置工作目录和默认工作文件夹。
工作目录是指存储MATLAB代码和数据文件的文件夹,而默认工作文件夹是指MATLAB打开时默认选择的文件夹。
1.3 MATLAB的基本语法和命令MATLAB的基本语法和命令非常简单易懂。
它采用类似于其他编程语言的命令行交互方式,用户可以直接在命令行输入MATLAB语句并执行。
例如,可以输入"2+2"并按回车键得到结果4。
此外,MATLAB还具有许多内置的数学函数和运算符,可以进行各种数值计算和数据分析。
1.4 MATLAB脚本和函数在MATLAB中,可以使用脚本和函数来组织和执行一系列MATLAB命令。
脚本是一系列命令的集合,可以一次性运行。
函数是一段可以重复使用的代码,可以接受输入参数并返回输出结果。
通过编写脚本和函数,可以提高MATLAB代码的可重复性和可维护性。
第二章:数值计算MATLAB作为一种数值计算工具,提供了丰富的数学函数和算法,可以用于解决各种数值计算问题。
在本章中,我们将介绍MATLAB在数值计算方面的一些常用功能和技巧。
2.1 数值计算方法MATLAB中包含了许多数值计算方法,如数值积分、数值微分、线性代数求解等。
如何在MATLAB中进行数值计算

如何在MATLAB中进行数值计算在科学计算领域,MATLAB被广泛应用于数值计算,它提供了强大而简便的工具和函数,可以帮助科学家们进行复杂的数学计算和数据分析。
本文将介绍如何在MATLAB中进行数值计算,并探讨一些常用的技巧和技术。
MATLAB中的数值计算是通过矩阵和向量运算来实现的,因此熟悉矩阵运算和向量操作是使用MATLAB进行数值计算的关键。
首先,让我们来看看如何定义和操作矩阵和向量。
在MATLAB中,可以使用矩阵和向量来存储和操作多个数值。
矩阵是一个二维数组,而向量是一个一维数组。
通过使用方括号和逗号来定义矩阵和向量。
例如,以下是一个3x3的矩阵的定义:A = [1, 2, 3; 4, 5, 6; 7, 8, 9];可以通过使用A(i, j)的形式来访问矩阵中的元素,其中i和j分别表示行和列的索引。
例如,要访问第二行第三列的元素,可以使用A(2, 3)。
向量可以通过类似的方式定义,只需要使用一个维度。
例如,以下是一个包含5个元素的行向量的定义:v = [1, 2, 3, 4, 5];可以使用v(i)的形式来访问向量中的元素,其中i表示索引。
例如,要访问第四个元素,可以使用v(4)。
在进行数值计算时,通常需要进行一些基本的运算,如加法、减法、乘法和除法。
在MATLAB中,这些运算可以直接应用于矩阵和向量。
加法运算可以使用加号来实现。
例如,要将两个矩阵A和B相加,可以使用以下代码:C = A + B;减法运算可以使用减号来实现。
例如,要将矩阵A减去矩阵B,可以使用以下代码:D = A - B;乘法运算可以使用乘号来实现。
例如,要将矩阵A乘以矩阵B,可以使用以下代码:E = A * B;除法运算可以使用除号来实现。
例如,要将矩阵A除以矩阵B,可以使用以下代码:F = A / B;除了基本的运算,MATLAB还提供了很多其他的函数和工具箱,可以帮助进行更复杂的数值计算和数据分析。
例如,MATLAB提供了一些常用的数学函数,如幂函数、指数函数、对数函数、三角函数等等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Matlab关于数值计算的实现摘要:数值计算(numerical computation computation),主要研究更好的利用计算机更好的进行数值计算,解决各种数学问题。
数值分析包括离散傅里叶变换,考虑截断误差,计算误差,函数的敛散性与稳定性等。
在数学方面,数值计算的主要研究数值微分与积分,数据的处理与多项式计算,最优化问题,线性方程与非线性方程的求解,常微分方程的数值求解等。
同时,数值计算在物理,化学,经济等方面也有研究,本文暂且不表。
M atlab软件历经二十多年来的发展,已成为风靡世界的数学三大软件(matlb,Mathematica l,Maple)之一,在数学类科技应用软件中在数值计算方面首屈一指。
Matlab以矩阵为数据操作的基本单位,使得矩阵运算十分便捷快速,同时Matlab还提供了海量的计算函数,而且使用可靠地算法进行计算,能使用户在繁复的数学运算中解脱,Matlab还具有方便且完善的图形处理功能,方便绘制二维和三维图形并修饰。
目录1.数值分析(离散傅里叶变换,考虑截断误差,计算误差,函数的敛散性与稳定性)2.数值计算(数值微分与积分,数据的处理与多项式计算,最优化问题,线性方程与非线性方程的求解,常微分方程的数值求解)3.图形处理功能(方便绘制二维和三维图形并修饰)4.总结1.数据统计与分析Matlab 可以进行求矩阵的最大最小元素,平均值与中值,关于矩阵元素的求和与求积,累加和与累乘积,标准方程,相关系数,元素排序。
现在以求标准方差举例说明Matlab 的实现。
在Matlab 中,实现标准方差计算的函数为std 。
对于向量(Y ),std (Y )实现返回一个标准方差,而对于矩阵(A ),std (A )返回一个行向量,该行向量的每个元素对应着矩阵A 各行或各列的标准方差。
一般调用std 函数的格式为std (A ,flag ,dim )Dim 取1或者2分别对应求各列或各行的标准方差,flag 取1时,按照标准方差的计算公式∑-=-=Ni x x S i N 121)(11来计算。
若flag 取2,则用公式∑-==Ni x x S i N122)(1进行计算。
默认的flag 取值为0,dim 取值为1。
课本page1432. 离散傅里叶变换离散傅里叶变换广泛应用于信号的分析,光谱和声谱分析、全息技术等各个领域。
但直接计算dft 的运算量与变化的长度N 的平方成正比,当N 较大时,计算量太大。
随着计算机技术的迅速发展,在计算机上进行离散傅里叶变换计算成为可能。
特别是快速傅里叶变换算法的出现,为傅里叶变换的应创造了条件。
(1):傅里叶变换算法的简述。
傅立叶变换是一种分析信号的方法,它可分析信号的成分,也可用这些成分合成信号。
许多波形可作为信号的成分,比如正弦波、方波、锯齿波等,傅立叶变换用正弦波作为信号的成分. f(t)是t 的周期函数,如果t 满足狄里赫莱条件:在一个以2T为周期内f(X)连续或只有有限个第一类间断点,附f (x )单调或可划分成有限个单调区间,则F (x )以2T 为周期的傅里叶级数收敛,和函数S (x )也是以2T 为周期的周期函数,且在这些间断点上,函数是有限值;在一个周期内具有有限个极值点;绝对可积。
则有下图①式成立。
称为积分运算f(t)的傅立叶变换,②式的积分运算叫做F(ω)的傅立叶逆变换。
F(ω)叫做f(t)的像函数,f(t)叫做F(ω)的像原函数。
F(ω)是f(t)的像。
f(t)是F(ω)原像。
①傅立叶变换②傅立叶逆变换(2)离散傅里叶变化的实现Matlab提供了对向量或对矩阵进行离散傅里叶变换的函数.1. g(x):返回向量的离散傅里叶变换.设晓得长度为n,若为2的幂次,则为以2为基数快速傅里叶变换,否则为运算速度很慢的非2次幂次的算法。
对于矩阵x,个g(x)应用于矩阵每一列。
2.g(x,n)计算n点离散傅里叶变化。
限定向量的长度为n,若x的长度小于n,则不足部分不上0;若大于n,则删去超出的那些元素。
对于矩阵X,它同样应用于矩阵的每一列,只是限定了向量长度为n3.g(x,[],dim):这是对于矩阵而言的函数调用格式,,前者的功能与g(x)基本相同,而后者则与g(x,n)基本相同。
只是当参数dim=1时,改函数作用于x的每一列;当dim=2时,则作用x的每一行。
值得一提的是,当一只给出的样本数n0是2的幂次时,可以取一个n使他大于n0且是2的幂次,然后利用函数格式g(x,n)进行快速的傅里叶变换。
是七速度大大的提升。
例如:给定函数:g(t)=12sin(2pi*10t+pi\4)+5cos(2pi*40t)取N=100,试从x为0-1采样,绘制相应的振幅-频率图。
程序如下:N=100 采样点数T=1; % 采样时间终点t=linspace(0,T,N);% 给出N个采样时间ti(I=1:N)x=12*sin(2*pi*10*t+pi/4)+5*cos(2*pi*40*t);% 求各采样点样本值xdt=t(2)-t(1);% 采样周期f=1/dt;% 采样频率(Hz)X=fft(x); % 计算x的快速傅立叶变换XF=X(1:N/2+1); % F(k)=X(k)(k=1:N/2+1)f=f*(0:N/2)/N; % 使频率轴f从零开始plot(f,abs(F),'-*') % 绘制振幅-频率图xlabel('Frequency');ylabel('|F(k)|');2.数值计算一、数值微分与积分Matlab数值积分MATLAB提供最简单的积分函数是梯形法trapz,我们先说明梯形法语法trapz(x,y),其中x,y 分别代表数目相同的阵列或矩阵,而y与x的关系可以由是一函数型态(如y=sin(x))或是不以函数描述的离散型态。
我们看一简单积分式以下为MA TLAB 的程式(and(1,101)产生101个均匀随机数,每个数都介于0-1之间)>> x=0:pi/100:pi;>> y=sin(x);>> k=trapz(x,y)k =1.9998clearx=sort(rand(1,101)*pi);y=sin(x);trapz(x,y)ans =1.99812.TLAB 另外提供二种积分函数,它们分别是辛普森法quad 和牛顿-康兹法quad8。
三种方法的精确度由低而高,分别为trapz, quad, quad8。
由于这二种方法依据的积分法不同于梯形法,因此它们的语法就和trapz 不同;其语法为quad('function',a,b) (quad8语法相同),其中function是一已定义函数的名称(如sin, cos, sqrt, log 等),而a, b是积分的下限和上限。
和trapz比较,quad, quad8不同之处在于这二者类似解析式的积分式,只须设定上下限及定义要积分的函数;而trapz则是针对离散点型态的数据做积分。
我们看一简单积分式以下为MATLAB 的程式>> a=0; b=0.5;>> kq=quad('sqrt',a,b)kq =0.2357>> kq8=quad8('sqrt',a,b)kq8 = 0.2357⎰--203521dx x xclearfun=inline('1./(x.^3-2*x-5)') ezplot(fun,[0,2])[q,n]=quad(fun,0,2) % [q,n] = quad(fun,a,b,⋯) %同时返回%函数计算的次数n q =-0.4605 n = 533.积分与三重积分⎰⎰+πππ2)]cos()sin([dxdyy x x yfun=inline('y*sin(x)+x*cos(y)') Q=dblquad(fun,pi,2*pi,0,pi) Q = -9.8698[x,y]=meshgrid(pi:.1:2*pi,0:.1:pi); z=fun(x,y); mesh(x,y,z)Matlab数值微分若有一函数f(x) 在x=a 的微分可表示为上述微分项在几何上的意义为在x=a 点的切线斜率. 下面介绍的差分表示式,数值差分即是用来求数值微分的方法。
差分表示法我们知道一微分项的计算,可以在二相邻点x+h 和x 间函数取下列极限求得若将原连续的空间以多个离散点取代。
则上述的极限以离散点的方式计算,即是以下的差分式(difference equation)上式被称为前向差分而高阶微分项可以利用低阶微分项来计算,举例来说一个二阶微分式可以表示为上述提及的后向差分式,在MA TLAB 有对应的diff 函数来计算二相邻点的差值,它的语法为diff(x),其中x代表一组离散点。
假设有x, y(x)的数据为x=[1 3 5 7 9], y=[1 4 9 16 25]则diff(x)=[2 2 2 2], diff(y)=[3 5 7 9],注意二者皆以后向差分计算且数据点只剩4 个而不是5个。
而dy/dx 的数值微分则为dy/dx=diff(y)./diff(x)。
因此要计算下列多项式在[-4, 5] 区间的微分>> x=linspace(-4,5); % 产生100个x的离散点>> p=[1 -3 -11 27 10 -24]; %被积函数各项的系数>> f=polyval(p,x);>> plot(x,f) % 将多项式函数绘图>> title('Fifth-deg. equation')>> dfb=diff(f)./diff(x); % 注意要分别计算diff(f)和diff(x) >> xd=x(2:length(x)); % 注意只有99个df值,而且是对应x2,x3,...,x100的点>> plot(xd,dfb ) % 将多项式的微分项绘图>> title('Derivative of fifth-deg. equation')>> num=f(3:length(f))-f(1:length(f)-2); % 注意中央差分是f(k+1)-f(k-1)>> deno=x(3:length(f))-x(1:length(f)-2); % 注意中央差分是x(k+1)-x(k-1)>> df_c=num./deno;>> xd=x(2:length(x)-1); % xd的点数只有98个>> plot(xd,df_c)>> title('Derivative of fifth-deg. polynomial')二、线性方程与非线性方程的求解1.线性方程组求解在MATLAB中,线性方程的求解分为两种:一是直接解法,就是在没有舍入误差的情况下,通过有限的矩阵的初等运算来求的方程组的解;二是符号解法。