实验四 数值运算
数值计算方法实验报告(含所有)

本科实验报告课程名称:计算机数值方法实验项目:计算机数值方法实验实验地点:专业班级:学号:学生姓名:xxx指导教师:xxx太原理工大学学生实验报告学院名称软件学院专业班级1217班学号201200xxxx 学生姓名xx 实验日期2014.05.21 成绩课程名称数值计算方法实验题目实验一方程求解一、实验目的和要求熟悉使用、迭代法、牛顿法、割线法等方法对给定的方程进行根的求解。
选择上述方法中的两种方法求方程:二分法f(x)=x3+4x2-10=0在[1,2]内的一个实根,且要求满足精度|x*-x n|<0.5×10-5二、主要设备笔记本 HP ProBook 6470b 一台编译软件:VC++6.0三、实验内容和原理函数f(x)在区间(x,y)上连续,先在区间(x,y)确定a与b,若f(a),f(b)异号,说明在区间(a,b)内存在零点,然后求f[(a+b)/2]。
假设F(a)<0,F(b)>0,a<b,①如果f[(a+b)/2]=0,该点即为零点;②如果f[(a+b)/2]<0,则区间((a+b)/2,b)内存在零点,(a+b)/2≥a;③如果f[(a+b)/2]>0,则区间(a,(a+b)/2)内存在零点,(a+b)/2≤b;返回①重新循环,不断接近零点。
通过每次把f(x)的零点所在区间收缩一半的方法,使区间内的两个端点逐步逼近函数零点,最终求得零点近似值。
四、操作方法与实验步骤1. 二分法:#include<stdio.h>#include<stdlib.h>#include<math.h>int main(){double a=1.0, b=2.0;double x,s;printf(" An\t\tBn\t\tF(Xn)\n");while(1){x=(a+b)/2;s=pow(x,3)+4*x*x-10;if (-0.000005 < s && s < 0.000005){break;}else if(s < 0){a=x;}else if(s > 0){b=x;}printf("%f\t%f\t%f\n",a,b,s);}printf("X的值为:%f\n",x);printf("误差:\t%f\n",s);return 0;}2. 割线法:#include"stdio.h"#include"math.h"int main(){float c,a=1.0,b=2.0;printf("每次得到的X的近似值:\n");while(1){c=b-(b*b*b+4*b*b-10)*(b-a)/(b*b*b+4*b*b-(a*a*a+4*a*a));if(fabs(b-c)<0.5*0.00001)break;b=c;printf("%f\n",b);}printf("X的值为:%f\n",c);}五、实验结果与分析二分法割线法分析:由程序知,使用二分法和割线法均能计算出方程的根,但利用割线法要比二分法计算的次数少,并且能够较早的达到精度要求。
数值计算实验报告

数值计算实验报告数值计算实验报告引言:数值计算是一门研究利用计算机进行数值计算的学科,它在科学研究和工程实践中具有重要的应用价值。
本实验报告旨在通过对数值计算实验的探索和分析,展示数值计算在解决实际问题中的应用和效果。
一、实验目的本次实验的主要目的是研究数值计算在求解非线性方程和数值积分中的应用。
通过实验,我们将探索不同数值计算方法的优劣,并分析其适用范围和精度。
二、实验原理1. 非线性方程求解非线性方程是指未知数与其系数之间存在非线性关系的方程。
常见的求解方法有二分法、牛顿法和割线法等。
本实验将比较不同方法在求解非线性方程时的收敛速度和计算精度。
2. 数值积分数值积分是通过将一个函数在一定区间上进行离散化,然后进行求和来近似计算定积分的方法。
本实验将使用复合梯形公式和复合辛普森公式来计算定积分,并比较两种方法的精度和计算效率。
三、实验步骤1. 非线性方程求解实验首先,我们选择一个非线性方程作为实验对象,例如:f(x) = x^3 - 2x - 5。
然后,我们使用二分法、牛顿法和割线法分别求解该方程,并记录每种方法的迭代次数和解的精度。
2. 数值积分实验我们选取一个函数作为被积函数,例如:f(x) = sin(x)。
然后,我们使用复合梯形公式和复合辛普森公式对该函数在一定区间上进行积分,并记录每种方法的计算结果和误差。
四、实验结果与分析1. 非线性方程求解结果通过实验,我们得到了使用二分法、牛顿法和割线法求解非线性方程的结果。
比较三种方法的迭代次数和解的精度,我们可以发现牛顿法收敛速度较快,但对初始值的选取较为敏感;割线法在收敛速度和精度上相对稳定;而二分法则收敛速度较慢,但对初始值的选取要求较低。
2. 数值积分结果通过实验,我们得到了使用复合梯形公式和复合辛普森公式进行数值积分的结果。
比较两种方法的计算结果和误差,我们可以发现复合辛普森公式具有更高的精度,但计算效率相对较低;而复合梯形公式计算速度较快,但精度相对较低。
实验四MATLAB数值计算与符号计算

实验四 MATLAB数值计算与符号计算一、实验目的1.掌握数据插值和曲线拟合的方法2.掌握求数值导数和数值积分的方法3.掌握代数方程数值求解的方法4.掌握常微分方程数值求解的方法5.掌握求解优化问题的方法6.掌握求符号极限、导数和积分的方法7.掌握代数方程符号求解的方法8.掌握常微分方程符号求解的方法二、实验原理1.数据插值a) 一维数据插值 Y1=interp1(X,Y,X1,’method’)b) 二维数据插值 Z1=interp2(X,Y,Z,X1,Y1,’method’)2.曲线拟合[P,S]=polyfit(X,Y,m)3.符号对象的建立(1)符号量名=sym(符号字符串):建立单个的符号变量或常量;(2)syms arg1 arg2,…,argn:建立n个符号变量或常量。
4.基本符号运算(1)基本四则运算:+,-,*,\,^(2)分子与分母的提取:[n,d]=numden(s)(3)因式分解与展开:factor(s),expand(s)(4)化简:simplify, simple(s)5.符号函数及其应用(1)求极限:limit(f,x,a)(2)求导数:diff(f,x,a);(3)求积分:int(f,v)三、实验内容1.按下表用3次样条方法插值计算0~900范围内整数点的正弦值和0~750范围内整数点的正切值,然后用5次多项式拟合方法计算相同的函数值,并将两种计算结果进行比较。
x2=0:75;y1=sin(pi.*x1./180);y2=tan(pi.*x2./180);;a=interp1(x1,y1,45,'cublic')b=interp1(x1,y1,45,'cublic')p1=polyfit(x1,y1,5)p2=polyfit(x2,y2,5)c1=polyval(p1,x1);c2=polyval(p2,x2);subplot(2,1,1);plot(x1,c1,':o',x1,y1,'r');subplot(2,1,2);plot(x2,c2,':o',x2,y2,'r');10203040506070802.(1)求函数33()sin cos f x x x =+在点,,,6432x ππππ=的数值导数。
数值计算基础实验报告(3篇)

第1篇一、实验目的1. 理解数值计算的基本概念和常用算法;2. 掌握Python编程语言进行数值计算的基本操作;3. 熟悉科学计算库NumPy和SciPy的使用;4. 分析算法的数值稳定性和误差分析。
二、实验内容1. 实验环境操作系统:Windows 10编程语言:Python 3.8科学计算库:NumPy 1.19.2,SciPy 1.5.02. 实验步骤(1)Python编程基础1)变量与数据类型2)运算符与表达式3)控制流4)函数与模块(2)NumPy库1)数组的创建与操作2)数组运算3)矩阵运算(3)SciPy库1)求解线性方程组2)插值与拟合3)数值积分(4)误差分析1)舍入误差2)截断误差3)数值稳定性三、实验结果与分析1. 实验一:Python编程基础(1)变量与数据类型通过实验,掌握了Python中变量与数据类型的定义方法,包括整数、浮点数、字符串、列表、元组、字典和集合等。
(2)运算符与表达式实验验证了Python中的算术运算、关系运算、逻辑运算等运算符,并学习了如何使用表达式进行计算。
(3)控制流实验学习了if-else、for、while等控制流语句,掌握了条件判断、循环控制等编程技巧。
(4)函数与模块实验介绍了Python中函数的定义、调用、参数传递和返回值,并学习了如何使用模块进行代码复用。
2. 实验二:NumPy库(1)数组的创建与操作通过实验,掌握了NumPy数组的基本操作,包括创建数组、索引、切片、排序等。
(2)数组运算实验验证了NumPy数组在数学运算方面的优势,包括加、减、乘、除、幂运算等。
(3)矩阵运算实验学习了NumPy中矩阵的创建、操作和运算,包括矩阵乘法、求逆、行列式等。
3. 实验三:SciPy库(1)求解线性方程组实验使用了SciPy库中的线性代数模块,通过高斯消元法、LU分解等方法求解线性方程组。
(2)插值与拟合实验使用了SciPy库中的插值和拟合模块,实现了对数据的插值和拟合,并分析了拟合效果。
数值计算方法实验报告

数值计算方法实验报告实验目的:通过实验验证不同数值计算方法在求解数学问题时的精度和效率,并分析其优缺点。
实验原理:实验内容:本实验选取了三个典型的数值计算问题,并分别采用了二分法、牛顿迭代法和梯度下降法进行求解。
具体问题和求解方法如下:1. 问题一:求解方程sin(x)=0的解。
-二分法:利用函数值的符号变化将解空间不断缩小,直到找到满足精度要求的解。
-牛顿迭代法:通过使用函数的斜率来逼近方程的解,并不断逼近真实解。
-梯度下降法:将方程转化为一个极小化问题,并利用梯度下降的方式逼近极小值点,进而找到方程的解。
2.问题二:求解函数f(x)=x^2-3x+2的极小值点。
-二分法:通过确定函数在一个区间内的变化趋势,将极小值所在的区间不断缩小,从而找到极小值点。
-牛顿迭代法:通过使用函数的导数和二阶导数来逼近极小值点,并不断逼近真实解。
-梯度下降法:将函数转化为一个极小化问题,并利用梯度下降的方式逼近极小值点,进而找到函数的极小值点。
3. 问题三:求解微分方程dy/dx = -0.1*y的解。
-二分法:通过离散化微分方程,将微分方程转化为一个差分方程,然后通过迭代计算不同点的函数值,从而得到函数的近似解。
-牛顿迭代法:将微分方程转化为一个积分方程,并通过迭代计算得到不同点的函数值,从而得到函数的近似解。
-梯度下降法:将微分方程转化为一个极小化问题,并利用梯度下降的方式逼近极小值点,从而得到函数的近似解。
实验步骤:1.编写代码实现各个数值计算方法的求解过程。
2.对每个数值计算问题,设置合适的初始值和终止条件。
3.运行程序,记录求解过程中的迭代次数和每次迭代的结果。
4.比较不同数值计算方法的精度和效率,并分析其优缺点。
实验结果:经过实验测试,得到了如下结果:-问题一的二分法迭代次数为10次,求解结果为x=0;牛顿迭代法迭代次数为4次,求解结果为x=0;梯度下降法迭代次数为6次,求解结果为x=0。
-问题二的二分法迭代次数为10次,求解结果为x=1;牛顿迭代法迭代次数为3次,求解结果为x=1;梯度下降法迭代次数为4次,求解结果为x=1-问题三的二分法迭代次数为100次,求解结果为y=e^(-0.1x);牛顿迭代法迭代次数为5次,求解结果为y=e^(-0.1x);梯度下降法迭代次数为10次,求解结果为y=e^(-0.1x)。
河北工业大学数值分析实验三实验四实验报告

数值分析实验报告指导老师:宛艳萍姓名:班级:学号:实验三 复化辛卜生法,龙贝格法1.实验名称:复化辛卜生法,龙贝格法2.实验目的1)通过实际计算体会各种方法的精确度。
2)会编写用复化辛卜生、龙贝格算法求定积分的程序。
3.算法描述1)用复化辛卜生法计算积分 dxx I ⎰+=12)1/(1算法:复化辛卜生公式为S n =h/6∑∑+-=+++)]()2/(4)([11k k kn k x f h x f xf ,计算过程为:1.令,/)(n a b h -= ),2/(1h a f s +=;02=s2.对1,,2,1-=n k计算),2/(11h kh a f s s +++=)(22kh a f s s ++=3.))(24)((6/21b f s s a f h s +++= 。
2)龙贝格算法计算dxxI ⎰+=102)1/(156e ε=-算法)((12/12∑-=++=n k k n n n x f h T T ;/)(n a b h n -= n k h k x )2/1(2/1+=+)(3/122n n n n T T T S -+= )_(15/122n n n n S S S C +=)(63/122n n n n C C C R -+=用事后估计法控制精度2|5e -6n n R R -< 。
4.源程序:1)/* 用复化辛卜生公式求积分 */ #include "stdio.h" float fx(float x){double f;f=1.0/(1.0+x*x); return f; } double fs(int n){double a=0.0,b=1.0,h,s,s1,s2=0; int i;h=(b-a)/n; s1=fx(a+h/2); for(i=1;i<n;i++){s1=s1+fx(a+i*h+h/2); s2=s2+fx(a+i*h);}s=(h/6.0)*(fx(a)+fx(b)+4*s1+2*s2);return s;}void main(){printf("实验三复化辛卜生法计算机112 耿向飞学号:112434\n");printf("s(2)=%lf\ns(4)=%lf\ns(8)= %lf",fs(2),fs(4),fs(8));}2)/* 龙贝格法 */#include "stdio.h"#include "math.h"#define E 2.71828182//被积函数f(x)double fx(double x){double f;f=1/(1+x*x);return f;}//梯形公式求tndouble tx(int n){double s3=0.0,h,t,b=1.0,a=0.0;int i;h=(b-a)/n;for(i=1;i<n;i++)s3=s3+fx(i*h);t=(h/2)*(fx(a)+fx(b)+2*s3);return t;} double s(int n){double s;s=tx(2*n)+(1.0/3.0)*(tx(2*n)-tx(n ));return s;}double c(int n){double c;c=s(2*n)+(1.0/15.0)*(s(2*n)-s(n)) ;return c;}double r(int n){double r;r=c(2*n)+(1.0/63.0)*(c(2*n)-c(n)) ;return r;}void main(){double rr,pp;int n=1;rr=r(n);pp=r(2*n)-r(n);printf("实验三龙贝格法计算机112 耿向飞学号:112434\n");printf("结果为:%.15lf 误差小于等于: %.15lf",rr,pp);}5.运行结果1)复化辛卜生公式2)龙贝格算法6.对算法的理解与分析:复化辛卜生公式和龙贝格算法适用于求数值积分,而且都能提高计算积分的精度龙贝格算法其实是在复化辛卜生公式递推的基础之上生成的一种精度高,而且收敛速度也较快的一种算法。
数值计算方法实验报告

数值计算⽅法实验报告《数值计算⽅法》实验报告实验题⽬⼆分法求⾮线性⽅程的根专业班级11级数学师范⼆班姓名李洪学号201102024056指导⽼师李梦联系电话188********⼀、实验⽬的熟悉⼆分法求⽅程近似根的数值⽅法,与⽤计算器解出的值进⾏⽐较,并学会误差分析。
⼆、实验原理⼆分法的基本思路是通过计算隔根区间的中点,逐步将隔根区间缩⼩,从⽽可得⽅程的近似根数列}{n x 。
(≤-+1*k x x ?)三、实验内容已知0)()3(3=-=-e x x f 在[]1,0上有⼀个实根*x ,0)1(0)0(>本实验中的⽤到的求根⽅法有①⼆分法,②计算器求根。
四、实验步骤1.输⼊:a ,b 值及精度控制?量;2.if 0)()(>b f a f then 返回第1步,重新输⼊a ,b 值else 转第3步;3.while ?>-b a 时做(1))(21b a x +=,计算)(x f ;if )(x f =0 then 输出x ,停机。
(2)if0)()(4.输出)(21b a x +=。
五、 Matlab 源程序1.erfen.m:function [c,err,yc]=erfen(f,a,b,delta)ya = feval(f,a);yb = feval(f,b);if ya * yb > 0 ,return,endmax1 = 1+round((log(b-a)-log(delta))/log(2));for k=1:max1c=(a+b)/2;yc=feval(f,c);if yc==0a=c;b=c;elseif yb * yc > 0b=c;yb=yc;elsea=c;ya=yc;endif b-aendc=(a+b)/2;err=abs(b-a);yc=feval(f,c);2.f.m:function f=f(x);f=x^3-exp(-x);六、运⾏结果七、计算机计算结果⼋、实验分析1、⼆分法和计算器均能解出⽅程的根。
计算机数值方法实验报告

本科实验报告课程名称:计算机数值方法实验工程:实验一:方程求根实验二:线性方程组的直接解法实验三:线性方程组的迭代解法实验四:代数插值和最小二乘法拟合多项式实验地点:逸夫302专业班级:学号:学生姓名:指导老师:2021年4 月15 日t2=t;t=(t1+t2)/2;}else if(f(t2)*f(t)<=0){t1=t;t=(t1+t2)/2;}}printf("the root is %f",t);getch();}迭代法:#include"stdio.h"#include"math.h"main(){float x,a,t;scanf("%f",&a);x=a;do{x=sqrt((10-x*x*x)/4);t=a;a=x;}while(fabs(a-t)>5e-6);printf("x=%f",a);getch();}运行结果:二分法:迭代法:实验结果和分析可包括:实验中的两种方法都存在不同程度的误差,由于数据进展了小数位数保存加上计算方法导致两种方法计算结果稍有偏向。
不同的方法存在不同误差,可以不同程度的求得方程的解,不同的方法速度不同心得体会本次实验首先我学到了fabs〔〕是用于求绝对值的,而且我复习了二分法和迭代法的原理,虽然这两个是比拟小的程序,但还是考验了我的细心程度。
方程组〔2〕方程组〔3〕方程组〔4〕实验结果和分析三种解方程组方法的分析:从消元过程可以看出,对于n阶线性方程组,只要各步主元素不为零,经过n-1步消元,就可以得到一个等价的系数矩阵为上三角形阵的方程组,然后再利用回代过程可求得原方程组的解。
消元过程相当于分解A为单位下三角阵L与上三角阵U的乘积,解方程组Ly=b。
回代过程就是解方程组Ux=y。
其中的L为n阶单位下三角阵、U为上三角阵.。
在 A 的LU 分解中, L取下三角阵, U 取单位上三角阵,这样求解方程组Ax=d 的方法称为追赶法。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
例题
x=0:0.1:1; y = [-0.447, 1.978,3.28, 6.16, 7.08, 7.34, 7.66, 9.56, 9.48, 9.30, 11.2] a1 = polyfit(x, y, 1); x1 = linspace(0,1); y1 = polyval(a1,x1) figure; subplot(2,2,1); plot(x,y,'o',x1,y1,'b'); a2 = polyfit(x,y,2); y2 = polyval(a2,x1); subplot(2,2,2); plot(x,y,'o',x1,y2,'m'); a3 = polyfit(x,y,3); y3 = polyval(a3,x1); subplot(2,2,3); plot(x,y,'o',x1,y3,'r'); a9 = polyfit(x,y,9); y9 = polyval(a9,x1); subplot(2,2,4); plot(x,y,'o',x1,y9,'c');
提示:由高等数学的知识可知,一条曲线的 定积分是它与x 轴所围成的面积,那么两条 曲线所围成的面积可由两条曲线的定积分相 减得到。
例: 假设有一个汽车发动机在转速为 2000r/min 时, 温度(单位为℃)与时间(单位为s)的5 个测量值如表所示。
>> t=[0 1 2 3 4 5]'; % 输入时间 y=[0 20 60 68 77 110]'; % 输入温度 y1=interp1(t,y,2.5) % 要内插的数据点为 2.5 y1=interp1(x,y,[2.5 4.3]) %内插数据点为2.5,4.3,注意采用[ ]放入多个内插点 y1=interp1(x,y,2.5,'cubic') %以三次方程式对数据点2.5 作内插 y1=interp1(x,y,2.5,'spline') %以spline 函数对数据点 2.5 作内插
2. 多项式插值和拟合 有一组实验数据如下表所示。
x 1 2 3 4 5 6 7 8 9 10
y
16
32
70
142
260
436
682
1010 1432 1960
请分别用拟合(二阶至三阶)和插值(线性和三次样条)的方法来估 测 X=9.5 时Y 的值。 以下是实现一阶拟合的语句。
>>x=1:10 >>y=[16 32 70 142 260 436 682 1010 1432 1960] >>p1=ployfit(x,y,1) %一阶拟合 >>y1=ployval(p1,9.5) %计算多项式p1 在x=9.5 时的值
实验四 数值运算
一、实验目的 掌握 MATLAB 的数值运算及其运算中所用到的函数。 二、实验内容: (1) 多项式运算。 (2) 多项式插值和拟合。 (3) 数值微积分。
(3) 多项式的乘、除法分别用函数conv 和deconv 实现
>>S1=[ 2 3 11 ] >>S2=[1 3 -5 4 7 ] >>S3=conv(S1,S2) >>S4=deconv(S3,S1)
4. 数值积分
(1) cumsum 函数求累计积分, (3). 辛普森数值积分 q=quad('f',a,b) 表示使用自适应递归 >>x=ones(1,10) 的辛普森方法从积分区间a 到b 对函 数f(x)进行积分,积分的相对误差在 >> cumsum(x) 1e-3 范围内。输入参数中的'f'是一个 (2)trapz 函数用梯形法求定积分,字符串,表示积分函数的名字。当输 即曲线的面积。 入的是向量时,返回值也必须是向量 形式。 >> x=linspace(0, pi,100); >> y=sin(x); >> S=trapz(y,x)
4. 数值积分
例 计算二重定积分 (1) 建立一个函数文件fxy.m: function f=fxy(x,y) global ki; ki=ki+1; %ki用于统计被积函数的调用次数 f=exp(-x.^2/2).*sin(x.^2+y); (2) 调用dblquad函数求解。 global ki;ki=0; I=dblquad('fxy',-2,2,-1,1) ki I= 1.57449318974494 ki = 1038
4,利用梯形法和辛普森法求定积分 的值, 并对结果进行比较。如果积分区间改为-5~5 结果有 何不同?梯形积分中改变自变量x 的维数,结果有 何不同?
练习5:图A1 是瑞士地图,为了算出其国土面积,首先对地图作如下测量:
以由西向东方向为X 轴,由南到北方向为Y 轴,选择方便的原点,并将从最西 边界点到最东边界点在X 轴上的区间适当划分为若干段,在每个分点的Y 方向 测出南边界点和北边界点的Y 坐标Y1 和Y2,这样就得到了表1,根据地图比例 尺知道18mm 相当于40km,试由测量数据计算瑞士国土近似面积,与其精确值 41228km2 比较。地图的数据见下表1-2。
• 格式:zi=interp2(x,y,z,xi,yi,’method’)
x,y为已知的点坐标向量,z为矩阵(x,y对应点的值)xi,
yi 为插入点的 X,Y 坐标向量,‘method’:同上
%立体插值 x=(-4:1:4);y=x; [x1,y1]=meshgrid(x,y); z=peaks(x1,y1); subplot(2,1,1); mesh(x1,y1,z); xi=(-4:0.2:4); yi=xi'; zi=interp2(x,y,z,xi,yi,'cubic'); subplot(2,1,2); mesh(xi,yi,zi+20);
练习
3. 大气压强p 随高度x 变化的理论公式为p =1.0332e−( x+500) / 7756,为验证这一公式,测得某地大气 压强随高度变化的一组数据如表所示,试用插值法和 拟合法进行计算并绘图,看哪种方法较为合理,且总 误差最小
高度 /m 压强 /Pa 0 0.9689 300 0.9322 600 0.8969 1000 0.8519 1500 0.7989 2000 0.7491
(4) 多项式求根用函数roots
>> S1=[ 2 4 2 ] >> roots(S1)
(5) 多项式求值用函数polyval
>> S1=[ 2 4 1 -3 ] >> polyval(S1,3) %计算x=3 时多项式的值 >> x=1:10 >> y=ployval(S1,x) %计算x 向量对应的值得到y 向量
练习
1. 用函数roots 求方程x2 − x −1 = 0的根。 2. y = sin x,0≤x≤2π,在n 个节点(n 不要太大,如取 5~11)上用线性和三次样条插值方法,计算m 个插 值点(m 可取50~100)的函数值。通过数值和图形输 出,将两种插值结果与精度值进行比较。适当增加n, 再作比较。
例4-11 某观测站测得某日6:00时至18:00时之间每隔2小时的 室内外温度(℃),用3次样条插值分别求得该日室内外6:30 至17:30时之间每隔2小时各点的近似温度(℃)。 设时间变量h为一行向量,温度变量t为一个两列矩阵,其中 第一列存放室内温度,第二列储存室外温度。命令如下: h =6:2:18; t=[18,20,22,25,30,28,24;15,19,24,28,34,32,30]'; XI =6.5:2:17.5 YI=interp1(h,t,XI,‘spline’) %用3次样条插值计算
3. 数值微分
(1) 差分使用diff 函数Hale Waihona Puke 现。 >>x=1:2:9
>>diff(x)
(2) 可以用因变量和自变量差分的 结果相除得到数值微分。 >>x=linspace(0,2*pi,100); >>y=sin(x);
>>plot(x,y)
>>y1=diff(y)./diff(x); >>plot(x(1:end-1),y1)