当前位置:文档之家› 《数学实验》试题答案

《数学实验》试题答案

北京交通大学海滨学院考试试题课程名称:数学实验2010-2011第一学期出题教师:数学组适用专业: 09机械, 物流, 土木, 自动化班级:学号:姓名:选做题目序号:1.一对刚出生的幼兔经过一个月可以长成成兔, 成兔再经过一个月后可以繁殖出一对幼兔. 如果不计算兔子的死亡数, 请用Matlab程序给出在未来24个月中每个月的兔子对数。

解: 由题意每月的成兔与幼兔的数量如下表所示:运用Matlab程序:x=zeros(1,24);x(1)=1;x(2)=1;for i=2:24x(i+1)=x(i)+x(i-1);endx结果为x =1 123 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 10946 7711 28657 463682.定积分的过程可以分为分割、求和、取极限三部分, 以1xe dx为例, 利用已学过的Matlab 命令, 通过作图演示计算积分的过程, 并与使用命令int() 直接积分的结果进行比较.解:根据求积分的过程,我们先对区间[0,1]进行n 等分,然后针对函数xe 取和,取和的形式为101i nxi e e dx nξ=≈∑⎰,其中1[,]i i in n ξ-∍。

这里取i ξ为区间的右端点,则当10n =时,1x e dx ⎰可用101011.805610i i e==∑来近似计算,当10n =0时,100100101=1.7269100ixi e e dx =≈∑⎰,当10n =000时,1000010000101=1.718410000i xi e e dx =≈∑⎰. 示意图如下图,Matlab 命令如下:x=linspace (0,1,21); y=exp(x);y1=y(1:20); s1=sum(y1)/20 y2=y(2:21); s2=sum(y2)/20 plot(x,y); hold on for i=1:20fill([x(i),x(i+1),x(i+1),x(i),x(i)],[0,0,y(i),y(i),0],'b') endsyms k;symsum(exp(k/10)/10,k,1,10);%n=10symsum(exp(k/100)/100,k,1,100);%n=100symsum(exp(k/10000)/10000,k,1,10000);%n=10000对上一步的和1ini e n ξ=∑我们取极限,其中i ξ取区间的右端点,Matlab 程序如下:syms k ns=symsum (exp(k/n)/n,k,1,n); limit(s,n,inf) 结果为:exp(1)1 1.7183-≈直接使用Matlab 命令syms x ; int(exp(x),0,1)积分得,结果为exp(1)1-由上述两种方法得到的结果相同,即10x e dx ⎰的结果为exp(1)1-。

显然将区间分的越细计算出的结果越接近于真实值.3. 现有一个木工、一个电工和一个油漆工, 三人相互同意彼此装修他们自己的房子. 在装修前, 他们达成了如下协议: 每人总共工作 10 天(包括给自己家干活在内); 每人的日工资根据一般的市价, 在60~80元之间; 每人的日工资数应使得每人的总收入与总支出相等. 表1是他们协商后制定出的工资天数的分配方案, 如何计算出他们每人应得的工资(工资数要求为正整数)?解:设木工,电工,油漆工每人应得的工资分别为123,,x x x ,根据条件每人的日工资数应使得每人的总收入与总支出相等可得方程组,1231231238x x 6x 5x 4x x 7x 4x 4x=+⎧⎪=+⎨⎪=+⎩ 运用Matlab 程序解:format rat;a = [ -8 1 6; 4 -5 1 ; 4 4 -7] ; rref(a) >> ans = 1 0 31/36 0 1 32/36 0 0 0 所以 13233132,3636x x x x ==,又因为他们的工资在60~80元之间 即12362,64,72x x x ===,木工,电工,油漆工的工资分别为62元,64元,72元。

4. 电影院的监测系统显示,当一场电影刚散场时,剧场内的二氧化碳的含量是4%. 排风扇每分钟换入31000m 的新鲜空气,其中二氧化碳的含量是0.02%. 电影院的容积是310000m . 假设在整个换气过程中空气的变化时均匀的. 问,经过多长时间后剧场内二氧化碳的含量才能降到1%.解:设电影院内二氧化碳的浓度为()y t 是t 的连续函数,则根据t 时刻二氧化碳的变化量可得微分方程:431010(0.02%)dyy dt=-- 又初始时刻二氧化碳的浓度(0)4%y =。

利用Matlabdsolve('10^4*Dy=-10^3*(y-0.02/100)','y(0)=4/100')求解上述微分方程初值问题得:y=199/(5000*exp(t/10)) + 1/5000在利用syms t;solve(199/(5000*exp(t/10)) + 1/5000-1/100)得t=14.0148,即经过14.0148分钟后剧场内二氧化碳的含量才能降到1%. 5. 取函数()x f x xe =为实验函数, 用 Matlab 命令分别就01, 0, 2x =-, 将()f x 按 0x x - 展开成 8 阶Taylor 公式, 求出相应的 8次近似多项式, 在区间[-4, 4] 上画出这些近似多项式. 从这个实验中能给你哪些思考? 解:Matlab 命令如下:syms x;f1=taylor(x*exp(x),9,-1,0); %函数 x*exp(x)在-1处的8阶taylor展开式f2=taylor(x*exp(x),9,x,0); %函数 x*exp(x)在0处的8阶taylor展开式f3=taylor(x*exp(x),9,x,2);%函数 x*exp(x)在2处的8阶taylor展开式x1=0:0.1:4;y1=subs(f1,x,x1);%将f1中的变量x用x1替换并计算结果,这个命令我们上课没讲,也可%先运行taylor(x*exp(x),9,-1,0),根据结果计算出函数值,再画图y2=subs(f2,x,x1);y3=subs(f3,x,x1);plot(x1,y1,'r*',x1,y2,'g.',x1,y3,'bo')hold on;fplot('x*exp(x)',[0 4])区间[0, 4] 上这些近似多项式的图形如下:思考:在2处的taylor展开式比在-1和0处的taylor展开式对原函数的近似要精确,而且taylor展开式对原函数的近似具有局部性。

注:taylor展开式的一般形式为taylor(f(x),n,x,x0)%将函数f(x)在x0点按变量x展开直到n-1阶6. 正态分布的密度函数和分布函数分别为:2222()()2211(),,F().22x t xf x ex x e dt μμσσπσπσ-----∞=-∞<<∞=⎰我们知道: 正态分布的密度函数是对称函数, 且对称轴为x μ=, 当μ取定时, σ越小, 图形越尖锐; 当σ越大时, 图形越平缓. 请利用求正态分布密度函数的命令normpdf 和分布函数命令normcdf, 通过图形验证正态分布的密度函数和分布函数与参数,μσ的关系, 并用 Matlab 命令求正态分布的期望和方差. 解:使用Matlab 程序解得:x=[-5:0.02:5]';y1=[];y2=[];mu1=[-1 0 0 0 1];sig1=[1,0.1,1,10,1];sig1=sqrt(sig1); for i=1:length(mu1)y1=[y1,normpdf(x,mu1(i),sig1(i))];y2=[y2,normcdf(x,mu1(i),sig1(i))]; endplot(x,y1),figure;plot(x,y2)求正态分布的期望和方差的命令如下:2[M,N]=stat(,)μσ7. (1) 一般说来多项式拟合的次数越高, 对原函数的近似就越精确. 以()sin()x y f x e x -==为例, 求其五次拟合多项式和八次多项式, 并将它们和原函数画在一张图上进行比较. 解:Matlab 程序如下: x=0:0.1:10;y=exp(-x).*sin(x);p1=polyfit(x,y,5);%返回y 的5次拟合多项式 p2=polyfit(x,y,8); %返回y 的8次拟合多项式 y1=polyval(p1,x);%计算5次拟合多项式在x 处的值 y2=polyval(p2,x); %计算8次拟合多项式在x 处的值 plot(x,y1,'r*',x,y2,'g.') hold on ;fplot('exp(-x).*sin(x)',[0 10])结果见下图(2) 给定实验数据如表2所示表2x 1 2 3 4 5 6 7 8y 15.3 20.5 27.4 36.6 49.1 65.6 87.8 117.6试用polyfit() 命令将以上数据拟合成指数函数()bx g x ae =(a,b 均为常数). 解:由于polyfit() 命令只能将数据点拟合成多项式的形式,因此我们需要对()bx g x ae =做一个对数变换,两边同取自然对数得ln ()ln g x a bx =+,令ln (),ln u g x k a ==,则()bx g x ae =变为u bx k =+,于是,x k 是线性关系,此时我们就可以利用 polyfit() 来拟合,x u ,且拟合出的一次多项式的常数项即为k ,一次项即为b ,再利用ln k a =求出a 即可。

Matlab 程序如下 x=1:8;y=[15.3 20.5 27.4 36.6 49.1 65.6 87.8 117.6]; u=log(y);p=polyfit(x,u,1); a=exp(p(2)); b=p(1);y1=a*exp(b*x); plot(x,y,'r.'); hold on ; plot(x,y1)。

相关主题