文档库 最新最全的文档下载
当前位置:文档库 › MATLAB数学实验6

MATLAB数学实验6

MATLAB数学实验6
MATLAB数学实验6

实验二定积分的近似计算

学号:

姓名:XX

一、实验目的

1.

加深理解积分理论中分割、近似、求和、取极限的思想方法,了解定积分近似计算的矩阵形法、梯形法与抛物线法。2.会用matlab 语言编写求定积分近似值的程序。3.

会用matlab 中的命令求定积分。

二、实验内容

1.

定积分近似计算的几种简单数值方法

在许多实际问题中,常常需要计算定积分()b

a

I f x dx =

?的值。根据微积分学基本原理,

若被积函数()f x 在区间[a,b]上连续,只需要找到被积函数的一个原函数()F x ,就可以用牛顿莱布尼兹公式计算。但在工程技术与科学实验中,有一些定积分的被积函数的原函数可能求不出来,即使可求出,计算也可能很复杂。特别地,当被积函数是图形或表格给出时,更不能用牛顿—莱布尼兹公式计算。因此必需寻求定积分的近似计算方法。大多数实际问题的积分需要用数值积分方法求出近似结果。数值积分原则上可以用多项式函数近似代替被积函数,用对多项式的积分结果近似代替对被积函数的积分。由于所选多项式形式的不同,可以有许多种数值积分方法,下面介绍最常用的几种插值型数值积分方法。1)矩形法

定积分的几何意义是计算曲边梯形的面积,如将区间[a,b]n 等分,每个小区间上都是一个小的曲边梯形,用一个个小矩形代替这些小曲边梯形,然后把小矩形的面积加起来就近似地等于整个曲边梯形的面积,于是便求出了定积分的近似值,这就是矩形法的基本原理。

假如()f x 在[a,b]上可积,利用定积分的定义

()()

1

lim ,n

b

n n k a

n k b a I f x dx I I f n

ξ→∞

=-===

∑?(2-1)

可知当n 充分大时,可将n I 视为积分I 的近似值,这里k ξ是取自第k 个区间[]

1,k k x x -

中的值。

如果将区间[a,b]n 等分,结点分别记为01...,

n a x x x b =<<<=(),,k k b a

h f f x h n

-=

=称为积分步长。如果子区间的左端点(或右端点)作为k k x ξ=,作部分和。用积分和作为定积分()b a

f x dx ?的近似值,公式(2-1)可以表示为

1

n n k k I h f -==∑或1

n

n k

k I h f ==∑(2-2)

()()0n a

b

a

k k b a b a f x dx f a n n -=-?

?-??≈+ ? ?

????

∑?或

()()1n

b

a

k k b a b a f x dx f a n n =-?

?-??≈+ ? ?

??

??∑?

式(2-2)称为计算定积分的矩形公式。

2)梯形法

将积分区间[a,b]n 等分,用线段一次连接各分点,每段都形成一个小的直角梯形。如果我们用这些小直角梯形面积之和代替原来的小曲边梯形面积之和代替原来的小曲边梯形面积之和,就可得定积分的近似值。

在第k 个子区间[]()()()11,,k k k b a k b a x x a a n

n

----??=+

+???

?

上,小曲边梯形上网

面积近似为()()1,2k k b a

f x f x n +-+?

????则得到近似公式()1

012

n n k n k h

T h f f f -==+

+∑(2-3)

()()01211 (2)

n n a

b a

f x dx y y y y y n --??≈+++++?????

?

其中()k k y f x =。

它的实际含义是利用逐段线性函数作为()f x 的近似,式(2-3)称为梯形求积公式。3)

抛物线法

为了提高计算精度,可以用分段二次插值函数k S 代替()f x 。由于每段都要用到相邻两个小区间断电的三个函数值,所以小区间上用三个节点

()22,,k k x f ()2121,,k k x f ++()2222,,k k x f ++作二次插值函数()k S x ,然后积分可得

()()21

22212243

k k

x k k k k x h

S x dx f f f +++=

++?

求m 段之和就得整个区间上的近似积分

11

022120142,32m m n m k k k k h b a S f f f f h m --+==-??=+++=

????

∑∑(2-4)

公式(2-4)称为抛物形公式(辛普森求积公式)。

4)三种算法的误差计算

在利用数值方法求积分的近似值时,需要根据计算精度的要求,选择一个适合的积分公式。

矩形法在每个小区间[]1,k k x x +上用零次多项式(即常数)代替被积函数,若函数()f x 可导,由泰勒公式得到

()()()()[]

1',,k k k k k k f x f x f x x x x ξξ+=+-∈()()()()()1

1

2

'',

2

k k k

k

x x k k k k x x h f x f x dx f x x dx f ξξ++-=-=?????

?矩形公式(2-2)的误差为

()()21

00,'2n n k k h R f I f ξ-==∑或()()2

01,'2

n

n k k h R f I f ξ==∑。

记()()

()1,max ',max ',x a b M f x f x ∈=可以粗略的估计误差,得到

()()01,2

n h

R f I M b a ≤

-(2-5)

梯形公式在小区间[]1,k k x x +上用线性插值函数()T x 代替()f x ,若函数()f x 二阶可导,可以得到

()()()()()[]

11'',,2k k k k k f f x T x x x x x x x ξ++=+

--()()()()()()1

1

3

1'''',

2

12

k k k

k

x x k k k k x x f h f x T x dx x x x x dx f ξξ+++-=

--=-?????

?

梯形公式(2-3)的误差为

()()

3

11

,''12n

n k k h R f T f ξ=≤∑记()

()2,max '',x a b M f x ∈=可以粗略的估计误差,得到

()()

2

12,12

n h R f T M b a ≤-(2-6)

上式表明梯形公式(2-3)的误差是2

h 阶的,即是2阶收敛的。若函数()f x 四阶可导,还可以求出辛普森公式(2-4)的误差

()()

4

24,180

n h R f S M b a ≤-其中()

()

()44,max ,x a b M f

x ∈=即误差为4h 阶的

(有兴趣的读者可参阅各种数值分析教材关于数值积分的章节)。

从前面的求积分中科院看出误差随着n 的增大(即步长减小)而减小,因此对于给定的误差限ε,我们可以根据误差估计式确定适当的步长。由于(2-6)式或(2-7)式都含有高阶导数,一般不容易估计。下面以梯形公式为例说明计算过程。

在编程计算定积分采用如下方法估计误差:

记()01211

...,n n n b a

T y y y y y --??=+++++?

????

误差极限ε,逐步计算n T ,若1n n T T ε+-<则以1n T +作为()b

a

f x dx ?的近似值。

上述程序的效率并不高,因为在计算n T 的信息,在实际求积过程中,通常采用步长加倍法每次将上一次的每个小区间等分为二,因此区间n 增加一倍,随着n 的增加,计算精度也随着增加,直至满足精度要求(通常是通过比较前后两次计算值的误差是否满足精度要求来确定是否中断计算)。

由(2-6)式可知,当n 增加一倍时,()221

3

n n n I T T T -≈

-,所以只要2n n T T ε-≤,计算出的2n T 即可满足2n I T ε-≤的精度要求。而每次分点加密一倍时,原分点的函数值k f 不需要重新计算,只需要求出新分点(1,k k x x +的中点)的函数值(记作12k f +),即可算出

12120,222

n n n k k T h b a T f h -+=-=+=∑。

对于辛普森公式也可作类似处理。

2.相关的matlab 命令

matlab 命令用途

sum(x)如果x 是向量,则sum(x)给出x 的各个元素的累加和;如果x 是矩阵,则sum(x)是一个元素为x 的每列列和的行向量。

symsum(s,k,m,n)

用于求

()

n

k m s k =∑symsum(s,n)

用于求

()

1

n

i s i =∑s=quad(fun,a,b)近似地计算a 到b 函数fun 的数值积分,误差为6

10

-s=quad(fun,a,b,tol)用指定的绝对误差tol 代替缺省误差

s=quad1(fun,a,b,…)

用高精度进行计算,在同样的精度下高阶方法quad1要求的节点较少,效率可能比quad 更高

trapz(x,y)用梯形法计算y 在x 点上的积分,其中步长x=[x0,x1…xn]和函数值y=[f0f1…fn]为同维向量。步长取短,结果较精确。int(s,v)对符号表达式S 中指定的符号变量v 计算不定积分int(s,v.a,b)

对表达式S 中指定的符号变量v 计算从a 到b 得定积分

3.

实验内容

1)

矩形法计算定积分近似值取()x

f x e =,求定积分

1

x

e dx ?的近似值。

积分区间为[0,1],等距划分为20

各子区间。

选取每个子区间的端点,并计算端点处的函数值。

选取每个子区间的左端点处的函数值乘以区间长度全部加起来。

结果为:

s1可作为定积分

1

x e dx

?的近似值。

若选取右端点:

结果为:

S2可作为定积分

1

x e dx

?的近似值。

下面我们画出图象(见图2-10.

如果选取右端点,画图命令如下:

在上边的语句中,for…end是循环语句,执行语句体内的语句20次,fill命令可以填充多边形,在本例中,用的是蓝色(blue)填充。得到图形2-2.

由图显见,选取左端点计算值编校,选取右端点值偏大。可试取50各子区间看一看结果怎样。

下面按等分区间计算。

的结果

图2-2

2)

编程用巨形法计算定积分的近似值根据

()()()1

0n b

a

i i b a b a f x dx f a n n -=--?

?≈+ ?

??

∑?

,编写如下matlab 程序:

存为juxingfa.m。运行juxingfa.m,结果为:

可见,子区间个数较少时精确程度不够高,取子区间个数为10000时结果就比较精确。

3)编程用梯形法计算定积分的近似值根据

()()01211...2b

n n a

b a

f x dx y y y y y n --??≈+++++?????

?

,编写如下matlab 程序:

存为tixingfa.m ,运行tixingfa.m 如下:

4.练习

1)编写matlab 程序计算下列和式:

a)1+3+5+…+999;解:

b)

1

0sin,

n k

k

n n

ππ-

=?

∑自定n的值。

解:

取n=100

则:

2)取区间等分数n=200,分别用矩形法及抛物线法编程,计算定积分

0sin2xdx

π

?的近似值。

解:

矩形法:

积分区间为[0,π/2],等距划分为200

各子区间。

选取每个子区间的端点,并计算端点处的函数值。

选取每个子区间的左端点处的函数值乘以区间长度全部加起来。

结果为:

s1可作为定积分2

0sin2xdx

π

?的近似值。若选取右端点:

结果为:

S2可作为定积分2

0sin2xdx

π

?的近似值。

在上边的语句中,for…end是循环语句,执行语句体内的语句20次,fill命令可以填充多边形,在本例中,用的是蓝色(blue)填充。得到图形2-2.

由图显见,选取左端点计算值编校,选取右端点值偏大。可试取50各子区间看一看结果怎样。

下面按等分区间计算。

的结果

抛物线法:

3)利用梯形法编写matlab程序计算定积分2

11dx x

的近似值,并求ln2的近似值。梯形法:

结果:

求ln2的近似值:

因为ln2=

2

1

1dx x ?

所以:ln2的近似值为0.6688

4)用matlab中的符号积分命令int,求曲线4

y x=上从(1,1)到(2,16)一段的弧长。解:

三、实验小结

1.加深理解积分理论中分割、近似、求和、取极限的思想方法,了解

定积分近似计算的矩阵形法、梯形法与抛物线法。

2.会用matlab语言编写求定积分近似值的程序。

3.会用matlab中的命令求定积分。

MATLAB数学实验第二版答案(胡良剑)

数学实验答案 Chapter 1 Page20,ex1 (5) 等于[exp(1),exp(2);exp(3),exp(4)] (7) 3=1*3, 8=2*4 (8) a为各列最小值,b为最小值所在的行号 (10) 1>=4,false, 2>=3,false, 3>=2, ture, 4>=1,ture (11) 答案表明:编址第2元素满足不等式(30>=20)和编址第4元素满足不等式(40>=10) (12) 答案表明:编址第2行第1列元素满足不等式(30>=20)和编址第2行第2列元素满足不等式(40>=10) Page20, ex2 (1)a, b, c的值尽管都是1,但数据类型分别为数值,字符,逻辑,注意a与c相等,但他们不等于b (2)double(fun)输出的分别是字符a,b,s,(,x,)的ASCII码 Page20,ex3 >> r=2;p=0.5;n=12; >> T=log(r)/n/log(1+0.01*p) Page20,ex4 >> x=-2:0.05:2;f=x.^4-2.^x; >> [fmin,min_index]=min(f) 最小值最小值点编址 >> x(min_index) ans = 0.6500 最小值点 >> [f1,x1_index]=min(abs(f)) 求近似根--绝对值最小的点 f1 = 0.0328 x1_index = 24 >> x(x1_index) ans = -0.8500 >> x(x1_index)=[];f=x.^4-2.^x; 删去绝对值最小的点以求函数绝对值次小的点 >> [f2,x2_index]=min(abs(f)) 求另一近似根--函数绝对值次小的点 f2 = 0.0630 x2_index = 65 >> x(x2_index) ans = 1.2500

数学实验练习题(MATLAB)

注意:在下面的题目中m 为你的学号的后3位(1-9班)或4位(10班以上). 第一次练习题 1.求解下列各题: 1)30sin lim x mx mx x ->- 2)(4)cos ,1000.0=x mx y e y 求 3)21/2 0mx e dx ?(求近似值,可以先用inline 定义被积函数,然后用quad 命令) 4)4 224x dx m x +? 5 0x =展开(最高次幂为8). 2.对矩阵21102041A m -?? ?= ? ?-?? ,分别求逆矩阵,特征值,特征向量,行列式,并求矩阵,P D (D 是对角矩阵),使得1A PDP -=。 3. 已知2 1(),()2f x e x μσ=--分别在下列条件下画出)(x f 的图形: (1)/600m σ=,μ分别为0,1,1-(在同一坐标系上作图); (2)0μ=,σ分别为1,2,4,/100m (在同一坐标系上作图). 4.画 (1)sin 020cos 02100x u t t y u t u t z m ??=≤≤?=?≤≤??=?

(2) sin()03,03z mxy x y =≤≤≤≤ (3)sin()(/100cos )02cos()(/100cos )02sin x t m u t y t m u u z u π π=+?≤≤?=+?≤≤?=? 的图(第4题只要写出程序). 5.对于方程50.10200 m x x --=,先画出左边的函数在合适的区间上的图形,借助于软件中的方程求根的命令求出所有的实根,找出函数的单调区间,结合高等数学的知识说明函数为什么在这些区间上是单调的,以及该方程确实只有你求出的这些实根。最后写出你做此题的体会. 第二次练习题 判断迭代收敛速度的程序 x0=1;stopc=1;eps=10^(-8);a=1;c=1;b=2*c;d=a;k=0; f=inline('(a*x+b)/(c*x+d)'); kmax=100; while stopc>eps&k

数学软件MATLAB实验作业

数学软件与数学实验作业 一.《数学软件》练习题(任选12题,其中19-24题至少选2题): 3.对下列各式进行因式分解. (1). syms x y >> factor(x^5-x^3) (2). syms x y >> factor(x^4-y^4) (3). syms x >> factor(16-x^4) (4). syms x >> factor(x^3-6*x^2+11*x-6) (5). syms x y >> factor((x+y)^2-10*(x+y)+25) (6). syms x y >> factor(x^2/4+x*y+y^2) (7). syms x y a b >> factor(3*a*x+4*b*y+4*a*y+3*b*x) (8). syms x >> factor(x^4+4*x^3-19*x^2-46*x+120) 5.解下列方程或方程组. (1).solve('(y-3)^2-(y+3)^3=9*y*(1-2*y)') (2). solve('3*x^2+5*(2*x+1)') (3). solve('a*b*x^2+(a^4+b^4)*x+a^3*b^3','x') (4). solve('x^2-(2*m+1)*x+m^2+m','x') (5). [x,y]=solve('4*x^2-9*y^2=15','2*x-3*y=15') 6.计算极限. (1). syms x f=(exp(x)-exp(-x))/sin(x); limit(f,x,0) (2) syms x >> f=(x/(x-1)-1/log(x)); >> limit(f,x,1) (3). syms x >> f=(1-cos(x))/x^2; >> limit(f,x,0)

Matlab数学实验报告一

数学软件课程设计 题目非线性方程求解 班级数学081 姓名曹曼伦

实验目的:用二分法与Newton迭代法求解非线性方程的根; 用Matlab函数solve、fzero、fsolve求解非线性方程(组)的解。 编程实现二分法及Newton迭代法; 学会使用Matlab函数solve、fzero、fsolve求解非线性方程(组)的解。 通过实例分别用二分法及迭代法解非线性方程组并观察收敛速度。 实验内容: 比较求exp(x)+10*x-2的根的计算量。(要求误差不超过十的五次方) (1)在区间(0,1)内用二分法; (2)用迭代法x=(2-exp(x))/10,取初值x=0 。 试验程序 (1)二分法: format long syms x s=exp(x)+10*x-2 a=0; b=1; A=subs(s,a) B=subs(s,b) f=A*B %若f<0,则为由根区间 n=0; stop=1.0e-5; while f<0&abs(a-b)>=stop&n<=100; Xk=(a+b)/2; %二分 M= subs(s, Xk); if M* A<0 symbol=1 %若M= subs(s, Xk)为正,则与a二分 b= Xk else symbol=0 % 若M= subs(s, Xk)为负,则与b二分 a= Xk end n=n+1 end Xk n (2)牛顿迭代法; format long

syms x s= (2-exp(x))/10; %迭代公式 f=diff(s); x=0; %迭代初值 a=subs(f,x); %判断收敛性(a是否小于1) s=(2-exp(x))/10; stop=1.0e-5; %迭代的精度 n=0; while a<1&abs(s-x)>=stop&n<=100; x=s %迭代 s=(2-exp(x))/10; n=n+1 end 实验结果: (1)二分法: symbol =1 b =0.50000000000000 n =1 symbol =1 b =0.25000000000000 n =2 symbol =1 b =0.12500000000000 n =3 symbol =0 a =0.06250000000000 n =4 symbol =1 b =0.09375000000000 n =5 symbol =0 a =0.07812500000000 n =6 symbol =1 b =0.09054565429688 n =15 symbol =1 b =0.09053039550781 n =16 symbol =0 a =0.09052276611328 n =17 Xk =0.09052276611328 n =17 (2)迭代法 由x =0.10000000000000 n =1 x =0.08948290819244 n =2 x =0.09063913585958 n =3 x =0.09051261667437 n =4 x =0.09052646805264 n =5 试验结果可见用二分法需要算17次,而用迭代法求得同样精度的解仅用5次,但由于迭代法一般只具有局部收敛性,因此通常不用二分法来求得非线性方程的精确解,而只用它求得根的一个近似解,再用收敛速度较快的迭代法求得其精确解。

MATLAB实验练习题(计算机)-南邮-MATLAB-数学实验大作业答案

“”练习题 要求:抄题、写出操作命令、运行结果,并根据要求,贴上运行图。 1、求230x e x -=的所有根。(先画图后求解)(要求贴图) >> ('(x)-3*x^2',0) = -2*(-1/6*3^(1/2)) -2*(-11/6*3^(1/2)) -2*(1/6*3^(1/2)) 3、求解下列各题: 1)30 sin lim x x x x ->- >> x;

>> (((x))^3) = 1/6 2) (10)cos ,x y e x y =求 >> x; >> ((x)*(x),10) = (-32)*(x)*(x) 3)2 1/2 0(17x e dx ?精确到位有效数字) >> x; >> ((((x^2),0,1/2)),17) =

0.54498710418362222 4)4 2 254x dx x +? >> x; >> (x^4/(25^2)) = 125*(5) - 25*x + x^3/3 5)求由参数方程arctan x y t ??=? =??dy dx 与二阶导 数22 d y dx 。 >> t; >> ((1^2))(t); >> ()() = 1

6)设函数(x)由方程e所确定,求y′(x)。>> x y; *(y)(1); >> ()() = (x + (y)) 7) sin2 x e xdx +∞- ? >> x; >> ()*(2*x); >> (y,0) = 2/5

8) 08x =展开(最高次幂为) >> x (1); taylor(f,0,9) = - (429*x^8)/32768 + (33*x^7)/2048 - (21*x^6)/1024 + (7*x^5)/256 - (5*x^4)/128 + x^3/16 - x^2/8 + 2 + 1 9) 1sin (3)(2)x y e y =求 >> x y; >> ((1)); >> ((y,3),2) =

山东建筑大学数学实验期末作业matlab

数学实验 期 末 作 业 学号: 班级: 姓名:

1. 求函数x x y 2sin 3=的5阶导数。 2. 使用sparse 命令描述? ? ???? ? ? ??30001 020******* 01020 10003。 3. 求解边值问题 1)0(,0)0(,34,43==+-=+=g f g f dx dg g f dx df 。 4. 建立函数1 2sin )(3-=x x f x 的M-文件,并计算)2(f 和)10(f 。 5. 计算二重积分dy dx x y ??211 0][。 6. 已知数列满足2,11 01=+= +a ka a k k ,求5a ,并要求最后结果分别以小数点后两位和有理数这两种数据显示格式输出。

7. 大约在1500年前,《孙子算经》中就记载了这个有趣的问题:“今有鸡兔同笼,上有三十五头,下有九十四足,问鸡兔各几何?”请根据你的思路编程求解。 8. 绘制以下方程所表示的图形。 (1)x x y -=23 2 (2)y z cos =绕z 轴的旋转曲面 (3))40(,) 2sin(sin )]2cos(4[cos )]2cos(4[π<

10.根据中华人民共和国个人所得税法规定:公民的个人工资、薪金应依法缴纳个人所得税。所得税计算办法为:在每个人的月收入中超过2000元以上的部分应该纳税,这部分收入称为应纳税所得额。应纳税所得额实行分段累计税率,按下列税率表计算: 个人所得税税率表: 等级全月应纳税所得额税率(%) 1 不超过500元的部分 5 2 超过500元,不到2000元的部分10 3 超过2000元,不到5000元的部分15 4 超过5000元,不到20000元的部分20 5 超过20000元,不到40000元的部分25 6 超过40000元,不到60000元的部分30 7 超过60000元,不到80000元的部分35 8 超过80000元,不到100000元的部分40 9 超过100000元的部分45 若某人的工资是x元,试建立税款y与收入x之间的M-文件,并要求程序运行时可以告知操作者“please input the number of your wage”。

MATLAB实验报告

实验一 MATLAB 环境的熟悉与基本运算 一、实验目的及要求 1.熟悉MATLAB 的开发环境; 2.掌握MATLAB 的一些常用命令; 3.掌握矩阵、变量、表达式的输入方法及各种基本运算。 二、实验内容 1.熟悉MATLAB 的开发环境: ① MATLAB 的各种窗口: 命令窗口、命令历史窗口、工作空间窗口、当前路径窗口。 ②路径的设置: 建立自己的文件夹,加入到MATLAB 路径中,并保存。 设置当前路径,以方便文件管理。 2.学习使用clc 、clear ,了解其功能和作用。 3.矩阵运算: 已知:A=[1 2;3 4]; B=[5 5;7 8]; 求:A*B 、A.*B ,并比较结果。 4.使用冒号选出指定元素: 已知:A=[1 2 3;4 5 6;7 8 9]; 求:A 中第3列前2个元素;A 中所有列第2,3行的元素; 5.在MATLAB 的命令窗口计算: 1) )2sin(π 2) 5.4)4.05589(÷?+ 6.关系及逻辑运算 1)已知:a=[5:1:15]; b=[1 2 8 8 7 10 12 11 13 14 15],求: y=a==b ,并分析结果 2)已知:X=[0 1;1 0]; Y=[0 0;1 0],求: x&y+x>y ,并分析结果 7.文件操作 1)将0到1000的所有整数,写入到D 盘下的文件 2)读入D 盘下的文件,并赋给变量num

8.符号运算 1)对表达式f=x 3 -1 进行因式分解 2)对表达式f=(2x 2*(x+3)-10)*t ,分别将自变量x 和t 的同类项合并 3)求 3(1)x dz z +? 三、实验报告要求 完成实验内容的3、4、5、6、7、8,写出相应的程序、结果

浅析Matlab数学实验报告

数学实验报告 姓名: 班级: 学号: 第一次实验任务 过程: a=1+3i; b=2-i; 结果: a+b =3.0000 + 2.0000i a-b =-1.0000 + 4.0000i a*b = 5.0000 + 5.0000i a/b = -0.2000 + 1.4000i 过程: x=-4.5*pi/180; y=7.6*pi/180; 结果: sin(abs(x)+y)/sqrt(cos(abs(x+y))) =0.2098 心得:对于matlab 中的角度计算应转为弧度。 (1)过程: x=0:0.01:2*pi; y1=sin(x); y2=cos(x); y3=exp(x); y4=log(x); plot(x,y1,x,y2,x,y3,x,y4) plot(x,y1,x,y2,x,y3,x,y4) 结果: (2)过程:>> subplot(2,2,1) >> plot(x,y1) >> subplot(2,2,2) >> plot(x,y2) ./,,,,2,311b a b a b a b a i b i a ?-+-=+=计算、设有两个复数 6,7,5.4)

cos()sin(2=-=++y x y x y x ,其中、计算的图形。 下分别绘制)同一页面四个坐标系)同一坐标系下(、在( x y e y x y x y x ln ,,cos ,sin 213==== >> subplot(2,2,3) >> plot(x,y3) >> subplot(2.2.4) >> subplot(2,2,4) >> plot(x,y4) 结果: 心得:在matlab中,用subplot能够实现在同一页面输出多个坐标系的图像,应注意将它与hold on进行区别,后者为在同一坐标系中划出多条曲线。 5、随机生成一个3x3矩阵A及3x2矩阵B,计算(1)AB,(2)对B中每个元素平方后得到的矩阵C,(3)sinB,(4)A的行列式,(5)判断A是否可逆,若可逆,计算A的逆矩阵,(6)解矩阵方程AX=B,(7)矩阵A中第二行元素加1,其余元素不变,得到矩阵D,计算D。 过程:A=fix(rand(3,3).*10) ; B=fix(rand(3,3).*10);

南邮MATLAB数学实验答案(全)

第一次练习 教学要求:熟练掌握Matlab 软件的基本命令和操作,会作二维、三维几何图形,能够用Matlab 软件解决微积分、线性代数与解析几何中的计算问题。 补充命令 vpa(x,n) 显示x 的n 位有效数字,教材102页 fplot(‘f(x)’,[a,b]) 函数作图命令,画出f(x)在区间[a,b]上的图形 在下面的题目中m 为你的学号的后3位(1-9班)或4位(10班以上) 1.1 计算30sin lim x mx mx x →-与3 sin lim x mx mx x →∞- syms x limit((902*x-sin(902*x))/x^3) ans = 366935404/3 limit((902*x-sin(902*x))/x^3,inf) ans = 0 1.2 cos 1000 x mx y e =,求''y syms x diff(exp(x)*cos(902*x/1000),2) ans = (46599*cos((451*x)/500)*exp(x))/250000 - (451*sin((451*x)/500)*exp(x))/250 1.3 计算 22 11 00 x y e dxdy +?? dblquad(@(x,y) exp(x.^2+y.^2),0,1,0,1) ans = 2.1394 1.4 计算4 2 2 4x dx m x +? syms x int(x^4/(902^2+4*x^2)) ans = (91733851*atan(x/451))/4 - (203401*x)/4 + x^3/12 1.5 (10)cos ,x y e mx y =求 syms x diff(exp(x)*cos(902*x),10) ans = -356485076957717053044344387763*cos(902*x)*exp(x)-3952323024277642494822005884*sin(902*x)*exp(x) 1.6 0x =的泰勒展式(最高次幂为4).

matlab数学实验报告5

数学实验报告 制作成员班级学号 2011年6月12日

培养容器温度变化率模型 一、实验目的 利用matlab软件估测培养容器温度变化率 二、实验问题 现在大棚技术越来越好,能够将温度控制在一定温度范围内。为利用这种优势,实验室现在需要培植某种适于在8.16℃到10.74℃下能够快速长大的甜菜品种。为达到实验所需温度,又尽可能地节约成本,研究所决定使用如下方式控制培养容器的温度:1,每天加热一次或两次,每次约两小时; 2,当温度降至8.16℃时,加热装置开始工作;当温度达到10.74℃时,加热装置停止工作。 已知实验的时间是冬天,实验室为了其它实验的需要已经将实验室的温度大致稳定在0℃。下表记录的是该培养容器某一天的温度 时间(h)温度(℃)时间(h)温度(℃)09.68 1.849.31 0.929.45 2.959.13 3.878.981 4.989.65 4.988.811 5.909.41 5.908.691 6.839.18 7.008.5217.938.92 7.938.3919.048.66 8.978.2219.968.43 9.89加热装置工作20.848.22 10.93加热装置工作22.02加热装置工作10.9510.8222.96加热装置工作12.0310.5023.8810.59 12.9510.2124.9910.35 13.889.9425.9110.18 三、建立数学模型 1,分析:由物理学中的傅利叶传热定律知温度变化率只取决于温度

差,与温度本身无关。因为培养容器最低温度和最高温度分别是:8.16℃和10.74℃;即最低温度差和最高温度差分别是:8.16℃和10.74℃。而且,16.8/74.10≈1.1467,约为1,故可以忽略温度对温度变化率的影响2, 将温度变化率看成是时间的连续函数,为计算简单,不妨将温度变化率定义成单位时间温度变化的多少,即温度对时间连续变化的绝对值(温度是下降的),得到结果后再乘以一系数即可。 四、问题求解和程序设计流程1)温度变化率的估计方法 根据上表的数据,利用matlab 做出温度-时间散点图如下: 下面计算温度变化率与时间的关系。由图选择将数据分三段,然后对每一段数据做如下处理:设某段数据为{(0x ,0y ),(1x ,1y ),(2x , 2y ),…,(n x ,n y )},相邻数据中点的平均温度变化率采取公式: 温度变化率=(左端点的温度-右端点的温度)/区间长度算得即:v( 2 1i i x x ++)=(1+-i i y y )/(i i x x - +1). 每段首尾点的温度变化率采用下面的公式计算:v(0x )=(30y -41y +2y )/(2x -0x )v(n x )=(3n y -41+n y +2+n y )/(n x -2-n x )

MATLAB数学实验100例题解

一元函数微分学 实验1 一元函数的图形(基础实验) 实验目的 通过图形加深对函数及其性质的认识与理解, 掌握运用函数的图形来观察和分析 函数的有关特性与变化趋势的方法,建立数形结合的思想; 掌握用Matlab 作平面曲线图性的方法与技巧. 初等函数的图形 2 作出函数x y tan =和x y cot =的图形观察其周期性和变化趋势. 解:程序代码: >> x=linspace(0,2*pi,600); t=sin(x)./(cos(x)+eps); plot(x,t);title('tan(x)');axis ([0,2*pi,-50,50]); 图象: 程序代码: >> x=linspace(0,2*pi,100); ct=cos(x)./(sin(x)+eps); plot(x,ct);title('cot(x)');axis ([0,2*pi,-50,50]); 图象: cot(x) 4在区间]1,1[-画出函数x y 1 sin =的图形. 解:程序代码: >> x=linspace(-1,1,10000); y=sin(1./x); plot(x,y); axis([-1,1,-2,2]) 图象:

二维参数方程作图 6画出参数方程???==t t t y t t t x 3cos sin )(5cos cos )(的图形: 解:程序代码: >> t=linspace(0,2*pi,100); plot(cos(t).*cos(5*t),sin(t).*cos(3*t)); 图象: 极坐标方程作图 8 作出极坐标方程为10/t e r =的对数螺线的图形. 解:程序代码: >> t=0:0.01:2*pi; r=exp(t/10); polar(log(t+eps),log(r+eps)); 图象: 90270 分段函数作图 10 作出符号函数x y sgn =的图形. 解:

matlab 数学实验 迭代 _ 蛛网图(免积分)

数学实验—实验报告(免积分) 一、实验项目:Matlab实验三—迭代 二、实验目的和要求 a.熟悉MATLAB软件的用户环境,掌握其一般目的命令和MATLAB数组操作与 运算函数; b.掌握MATLAB软件的绘图命令,能够熟练应用循环和选择结构实现各种循环 选择功能; c.借助MATLAB软件的绘图功能,对函数的特性进行探讨,广泛联想,大胆猜 想,发现进而证实其中的规律。 三、实验内容 问题一:将方程53 x x x +-+=改写成各种等价的形式进行迭代 5210 观察迭代是否收敛,并给出解释。 问题二:迭代以下函数,分析其收敛性。 4 f(x)=x-a 使用线性连接图、蛛网图或费根鲍姆图对参数a进行讨论和观察,会得到什么结论? 问题一: (1)画图 x1=-6:0.01:6; x2=-3:0.01:3; x3=-1:0.01:1; x4=-0.8:0.01:-0.75; y1=x1.^5 +5*x1.^3-2*x1+1; y2=x2.^5 +5*x2.^3-2*x2+1; y3=x3.^5 +5*x3.^3-2*x3+1; y4=x4.^5 +5*x4.^3-2*x4+1; subplot(2,2,1),plot(x1,y1) ,title('图(1)') ,grid on, subplot(2,2,2),plot(x2,y2) ,title('图(2)'),grid on, subplot(2,2,3),plot(x3,y3) ,title('图(3)'),grid on, subplot(2,2,4),plot(x4,y4) ,title('图(4)') ,grid on,

MATLAB数学实验报告

Matlab 数学实验报告

一、实验目的 通过以下四组实验,熟悉MATLAB的编程技巧,学会运用MATLAB的一些主要功能、命令,通过建立数学模型解决理论或实际问题。了解诸如分岔、混沌等概念、学会建立Malthu模型和Logistic 模型、懂得最小二乘法、线性规划等基本思想。 二、实验内容 2.1实验题目一 2.1.1实验问题 Feigenbaum曾对超越函数y=λsin(πx)(λ为非负实数)进行了分岔与混沌的研究,试进行迭代格式x k+1=λsin(πx k),做出相应的Feigenbaum图 2.1.2程序设计 clear;clf; axis([0,4,0,4]); hold on for r=0:0.3:3.9 x=[0.1]; for i=2:150 x(i)=r*sin(3.14*x(i-1)); end pause(0.5) for i=101:150

plot(r,x(i),'k.'); end text(r-0.1,max(x(101:150))+0.05,['\it{r}=',num2str(r)]) end 加密迭代后 clear;clf; axis([0,4,0,4]); hold on for r=0:0.005:3.9 x=[0.1];

for i=2:150 x(i)=r*sin(3.14*x(i-1)); end pause(0.1) for i=101:150 plot(r,x(i),'k.'); end end 运行后得到Feigenbaum图

2.2实验题目二 2.2.1实验问题 某农夫有一个半径10米的圆形牛栏,长满了草。他要将一头牛拴在牛栏边界的桩栏上,但只让牛吃到一半草,问拴牛鼻子的绳子应为多长? 2.2.2问题分析 如图所示,E为圆ABD的圆心,AB为拴牛的绳子,圆ABD为草场,区域ABCD为牛能到达的区域。问题要求区域ABCD等于圆ABC 的一半,可以设BC等于x,只要求出∠a和∠b就能求出所求面积。先计算扇形ABCD的面积,2a÷π×πx2=2aπ2,再求AB的面积,用扇形ABE的面积减去三角形ABE的面积即可。

matlab实验报告

Matlab实验报告 ——定积分的近似计算 学生姓名: 学号: 专业:数学与应用数学专业

数学实验报告 实验序号:1001114030 日期:2012年10月20日 班级应一姓名陈璐学号1001114030 实验名称:定积分的近似运算 问题背景描述: 利用牛顿—莱布尼茨公式虽然可以精确地计算定积分的值,但它仅适合于被积分函数的原函数能用初等函数表达出来的情形。如果这点办不到或不容易办到, 这就有必要考虑近似计算的方法。在定积分的很多应用问题中,被积函数甚至没 有解析表达式,可能只是一条实验记录曲线,或者是一组离散的采样值,这时只 能应用近似方法去计算相应的定积分。 实验目的: 本实验将主要研究定积分的三种近似计算算法:矩形法、梯形法、抛物线发。对于定积分的近似数值计算,Matlab有专门函数可用。 实验原理与数学模型: 1.sum(a):求数组a的和。 2.format long:长格式,即屏幕显示15位有效数字。 3.double():若输入的是字符则转化为相应的ASCII码;若输入的是整型数之则转化为 相应的实型数值。 4.quad():抛物线法求数值积分。格式:quad(fun,a,b)。此处的fun是函数,并且

为数值形式,所以使用*、/、^等运算时要在其前加上小数点。 5.trapz():梯形法求数值积分。格式:trapz(x,y)。其中x为带有步长的积分区间;y为数 值形式的运算。 6.fprintf(文件地址,格式,写入的变量):把数据写入指定文件。 7.syms 变量1变量2……:定义变量为符号。 8.sym('表达式'):将表达式定义为符号。 9.int(f,v,a,b):求f关于v积分,积分区间由a到b。 10.subs(f,'x',a):将a的值赋给符号表达式f中的x,并计算出值。若简单地使用subs (f),则将f的所有符号变量用可能的数值代入,并计算出值。 实验所用软件及版本:Matlab 7.0.1

Matlab数学实验一2015(标准答案版)

Matlab数学实验一——matlab初体验 一、实验目的及意义 [1] 熟悉MATLAB软件的用户环境; [2] 了解MATLAB软件的一般目的命令; [3] 掌握MATLAB数组操作与运算函数; 通过该实验的学习,使学生能熟悉matlab的基础应用,初步应用MATLAB软件解决一些简单问题。 二、实验内容 1.认识matlab的界面和基本操作 2.了解matlab的数据输出方式(format) 3. MATLAB软件的数组(矩阵)操作及运算练习; 三、实验任务 根据实验内容和步骤,完成以下具体实验,要求写出实验报告(实验目的→问题→原理→算法与编程→计算结果或图形→心得体会) 完成如下题目,并按照实验报告格式和要求填写实验报告 1.在commandwindow中分别输入如下值,看它们的值等于多少,并用matlab的help中查询这些缺省预定义变量的含义,用中文写出它们的意义。 ijeps inf nan pi realmaxrealmin 2.分别输入一个分数、整数、小数等,(如:a=1/9),观察显示结果,并使用format函数控制数据的显示格式,如:分别输入format short、format long、format short e、format long g、format bank、format hex等,然后再在命令窗口中输入a,显示a的值的不同形式,并理解这些格式的含义。 3.测试函数clear、clc的含义及所带参数的含义(利用matlab的help功能)。 4. 写出在命令窗口中的计算步骤和运行结果。 (1)计算 1.22 10 (ln log) 81 e ππ +- ; >>(log(pi)+log(pi)/log(10)-exp(1.2))^2/81 >>ans = 0.0348 (2) >> x=2;y=4; >> z=x^2+exp(x+y)-y*log(x)-3 z = 401.6562 (3)输入变量 13 5.3, 25 a b ?? ==?? ?? ,在工作空间中使用who,whos,并用save命令将变量存入”D:\exe0 1.mat”文件。测试clear命令,然后用load命令将保存的”D:\exe01.mat”文件载入>> a=5.3 a=

MATLAB数学实验A

clear; clc; a=1;b=1; ezplot(sprintf('x^2/%f-y^2/%f',a^2,b^2)); hold on; ezplot(sprintf('x^2/%f-y^2/%f-1',a^2,b^2)); ezsurf('sin(a)*cos(b)','sin(a)*sin(b)','cos(a)',[0,pi,0,2*pi],60); hold on; ezsurf('x^2+y^2',[-1,1,-1,1],60);

clear all; x=-8:0.1:8; y=-8:0.1:8; [X,Y]=meshgrid(x,y); Z=sin(sqrt(X.^2+Y.^2))./sqrt(X.^2+Y.^2+2); [X,Y,Z]=peaks(50); surf(X,Y,Z)

syms x y; y=2*x^3-6*x^2-18*x+7; solve(diff(y,x),x) x=-1;eval(y) x=3;eval(y)

syms x y; z='x*y'; dblquad(z,1,4,-1,2) 结果 ans = 11.2500 求函数1+x -exp(2*x)+5的原函数clear all syms x C; f=int(1+x -exp(2*x)+5,'x')+C syms x y; >> x=0:0.01:1; >> y=sin(sin(x)); >> trapz(x,y)

x=0:0.05:1; y=[1.97687 2.17002 2.34158 2.46389 2.71512 3.06045 3.27829 3.51992 3.8215 4.2435 4.55188 4.88753 5.15594 5.698 6.04606 6.42701 7.00342 7.50192 7.89178 8.49315 9.0938] cftool 解常微分方程y’=-0.9y/(1+2x)的数值解y(0)=1 从0到0. 1的数值解,取步长0.02 clear all x1=0; x2=0.1; h=0.02; y(1,1)=1;

《数学实验》报告matlab-第五次作业

《数学实验》报告 实验名称 matlab拟合与插值学院机械工程学院 专业班级 姓名 学号

2011年 10月

一、【实验目的】 掌握Matlab关于采用最小二乘法拟合曲线的方法。学会使用matlab求实际中得到数据的插值曲线。 二、【实验任务】 P130第8、10、12题 三、【实验程序】 P130第8题: x=[0.10,0.30,0.40,0.55,0.70,0.80,0.95]; y=[15,18,19,21,22.6,23.8,26]; p1=polyfit(x,y,1); p3=polyfit(x,y,3); p5=polyfit(x,y,5); disp('一阶拟合函数'),f1=poly2str(p1,'x') disp('三阶拟合函数'),f3=poly2str(p3,'x') disp('五阶拟合函数'),f5=poly2str(p5,'x') x1=0.1:0.0017:0.95; y1=polyval(p1,x1); y3=polyval(p3,x1); y5=polyval(p5,x1); plot(x,y,'rp',x1,y1,'--',x1,y3,'k-.',x1,y5); legend('拟合点','一次拟合','三次拟合','七次拟合') P130第10题 x=[10,15,20,25,30]; y=[25.2,29.8,31.2,31.7,29.4]; xi=10:.5:30; yi1=interp1(x,y,xi,'*nearest'); yi2=interp1(x,y,xi,'*linear'); yi3=interp1(x,y,xi,'*spline'); yi4=interp1(x,y,xi,'*cubic'); plot(x,y,'ro',xi,yi1,'--',xi,yi2,'-',xi,yi3,'k.-',xi,yi4,'m:') ,grid on

matlab数学实验练习题

Matlab 数学实验 实验一 插值与拟合 实验内容: 预备知识:编制计算拉格朗日插值的M 文件。 1. 选择一些函数,在n 个节点上(n 不要太大,如5 ~ 11)用拉格朗日、分段线性、三次样条三种插值方法,计算m 个插值点的函数值(m 要适中,如50~100)。通过数值和图形输出,将三种插值结果与精确值进行比较。适当增加n ,再做比较,由此作初步分析。下列函数任选一种。 (1)、 ;20,sin π≤≤=x x y (2)、;11,)1(2/12≤≤--=x x y (3)、;22,cos 10≤≤-=x x y (4)、22),ex p(2≤≤--=x x y 2.用电压V=10伏的电池给电容器充电,电容器上t 时刻的电压为 ) (0)()(τt e V V V t v ---=,其中0V 是电容器的初始电压,τ是充电常数。试由下面 一组t ,V 数据确定0V 和τ。 实验二 常微分方程数值解试验 实验目的: 1. 用MATLAB 软件求解微分方程,掌握Euler 方法和龙格-库塔方法; 2. 掌握用微分方程模型解决简化的实际问题。 实验内容: 实验三 地图问题 1. 下图是一个国家的地图,为了计算出它的国土面积,首先对地图作如下测量:以由西向东方向为x 轴,由南到北方向为y 轴,选择方便的原点,并将从最西边界点到最东边界点在x 轴上的区间适当地划分为若干段,在每个分点的y 方向测出南边界点和北边界点的y 坐标y1和y2,这样就得到了表中的数据(单位mm )。

根据地图的比例我们知道18mm相当于40km,试由测量数据计算该国土 2 实验四狼追兔问题 狼猎兔问题是欧洲文艺复兴时代的著名人物达.芬奇提出的一个数学问题。当一个兔子正在它的洞穴南面60码处觅食时,一只恶狼出现在兔子正东的100码处。当两只动物同时发现对方以后,兔子奔向自己的洞穴,狼以快于兔子一倍的速度紧追兔子不放。狼在追赶过程中所形成的轨迹就是追击曲线。狼是否会在兔子跑回洞穴之前追赶上兔子? 为了研究狼是否能够追上兔子,可以先考虑求出狼追兔子形成的追击曲线,然后根据曲线来确定狼是否能够追上兔子。 试验五:开放式基金的投资问题 某开放式基金现有总额为15亿元的资金可用于投资,目前共有8个项目可供投资者选择。每个项目可以重复投资,根据专家经验,对每个项目投资总额不能太高,且有个上限。这些项目所需要的投资额已经知道,在一般情况下,投资一年后各项目所得利润也可估计出来(见表一), 表一: 投资项目所需资金及预计一年后所得利润(单位:万元)

数学实验matlab练习题

2015-2016数学实验练习题 一、选择题 1.清除Matlab工作空间(wordspace)变量的命令是(B ) A. clc B. clear C. clf D.delete 2. 清除当前屏幕上显示的所有内容,但不清除工作空间中的数据的命令是( A ) A. clc B. clear C. clf D.delete 3. 用来清除图形的命令( C ) A. clc B. clear C. clf D.delete 4. 在MATLAB程序中,使命令行不显示运算结果的符号是( A ) A. ; B. % C. # D. & 5. 在MATLAB程序中,可以将某行表示为注释行的符号是( B ) A. ; B. % C. # D. & 6.在循环结构中跳出循环,执行循环后面代码的命令为 ( B ) A. return B. break C. continue D. Keyboard 7.在循环结构中跳出循环,但继续下次循环的命令为( C ) A. return B. break C. continue D. Keyboard 8. MATLAB中用于声明全局变量的关键字是( C ) A. inf B. syms C. global D. function 9. 用户可以通过下面哪项获得指令的使用说明( A ) A. help B. load C. demo D. lookfor 10.在MATLAB命令窗口中键入命令S=zoros(3);可生成一个三行三列的零矩阵,如果省略了变量名S,MATLAB表现计算结果将用下面的哪一变量名做缺省变量名( A ) A. ans; B. pi; C. NaN; D. Eps. 11. 9/0的结果是( B ) A. NAN; B. Inf; C. eps; D. 0 12.在MATLAB中程序或语句的执行结果都可以用不同格式显示,将数据结果显示为分数形式,用下面哪一条命令语句( D ) A. format long; B. format long e; C. format bank; D. fromat rat 13. 下列MATLAB命令中是构造1行3列的(-1,1)均匀分布随机矩阵的命令的是(D)

相关文档