1、数学建模与实验实验报告 数学建模与实验实验报告授课教师 计算机科学与工程学院计算机科学与技术系oxstar实验13.4节“企业利润合理使用”例题的求解 1实验2Hill密码加密、解密 2实验3习题5.3“样条差值法绘制公路”求解 3实验4Volterra方程组求解(改进欧拉公式与龙格-库塔公式比较) 5实验5习题6.8“饮酒驾车的药物注射模型”求解 7 实验6银行贷款利息的计算9实验13.4节“企业利润合理使用”例题的求解实验目的运用幂法求解矩阵的最大特征值、特征向量、一致性指标和随机一致性比率。实验原理 1、判断矩阵A只有一个最大特征根,且。 2、可以使用迭代法求解: (1)任取一个初始向量
2、 (2) k=1,2, 3、一致性指标和随机一致性比率代码实现%Eigen.m 函数定义function w,m,CI,CR=Eigen(AC)n=numel(AC)0.5; % 获得矩阵行、列数w=AC(:,1:1); % 初始向量x0flag=0;while flag=n flag=0; m=0; % wc=w; %上一轮计算的uk v=AC*w; % vk = Auk-1 for k=1:n m=m+v(k); end w=v/m; % uk = vk / mk l=abs(wc-w)./w; % uk变化速度(相对误差) for k=1:n if l(k)=X1(i)&Z1(k)=X2
3、(i)&Z2(k)=X2(i+1)S2(k)=M2(i)*(X2(i+1)-Z2(k)3/(6*h2(i)+M2(i+1)*(Z2(k)-X2(i)3/(6*h2(i)+(Y2(i)-M2(i)*h2(i)2/6)*(X2(i+1)-Z2(k)/h2(i)+(Y2(i+1)-M2(i+1)*h2(i)2/6)*(Z2(k)-X2(i)/h2(i); break end endend % 获得S1(x)各点值plot(Z1,S1,Z2,S2,X,Y,o) % 绘图% 估算公路长度L=0;for t=1:477 L=L+(Z1(t)-Z1(t+1)2+(S1(t)-S1(t+1)2)0.5;end
4、for t=1:277 L=L+(Z2(t)-Z2(t+1)2+(S2(t)-S2(t+1)2)0.5;end执行结果公路绘制:(见右图)公路长度约为1016.3米L = 1.0163e+003实验4Volterra方程组求解(改进欧拉公式与龙格-库塔公式比较)实验目的使用“改进的欧拉公式”和“4阶龙格-库塔公式”分别对Volterra方程求解,绘制解曲线、相轨线,并将结果进行比较。实验原理 改进的欧拉公式局部截断误差为O(h3),而4阶龙格-库塔公式截断误差达到O(h5)。 在本例中将两公式推广到解微分方程组。代码实现% Volterra.m 函数定义function as=Volterra
5、(t,x)as(1)=x(1)*(1-0.1*x(2);as(2)=x(2)*(-0.5+0.02*x(1);% 执行文件h=0.1;t=0:h:15;% 改进的欧拉公式x1=25,2;for i=1:150 k1=Volterra(t(i),x1(i:i,:); k2=Volterra(t(i+1),x1(i:i,:)+h*k1); x1(i+1:i+1,:)=x1(i:i,:)+h*(k1+k2)/2;end% 4阶龙格-库塔方法x2=25,2;for i=1:150 k1=Volterra(t(i),x2(i:i,:); k2=Volterra(t(i)+h/2,x2(i:i,:)+h*
6、k1/2); k3=Volterra(t(i)+h/2,x2(i:i,:)+h*k2/2); k4=Volterra(t(i)+h,x2(i:i,:)+h*k3); x2(i+1:i+1,:)=x2(i:i,:)+h*(k1+2*k2+2*k3+k4)/6;end% 绘制解曲线和相轨线subplot(2,2,1)plot(t,x1)subplot(2,2,2)plot(t,x2)subplot(2,2,3)plot(x1(1:110,1:1),x1(1:110,2:2)subplot(2,2,4)plot(x2(1:110,1:1),x2(1:110,2:2)执行结果曲线绘制:改进的欧拉公式的
7、解曲线、相轨线 4阶龙格-库塔方法的解曲线、相轨线计算结果比较:tX1X2X1X2改进的欧拉公式4阶龙格-库塔方法改进的欧拉公式4阶龙格-库塔方法025.000025.00002.00002.00000.127.080027.08182.00402.00410.229.330729.33452.01672.01700.331.762931.76902.03902.03940.434.387534.39602.07202.07260.537.214637.22572.11702.11780.640.253440.26732.17572.17680.743.511843.52832.25022.2
8、5150.846.995047.01412.34292.34460.950.705150.72652.45702.4591154.639654.66272.59652.59911.158.789458.81322.76612.76931.263.137163.16022.97192.97591.367.653867.67413.22143.22631.472.295972.31053.52403.53011.577.001177.00623.89123.89871.681.683381.67384.33714.34631.786.227886.19734.87904.89021.890.485
9、890.42695.53725.55071.994.271494.17556.33526.3510297.360797.21947.29867.31662.199.498299.30468.45338.47282.2100.4128100.16399.82169.84092.399.847199.546511.416611.43322.497.601597.262013.235013.24502.593.587693.231515.248415.24732.687.877287.533117.398417.38192.780.726080.422419.596619.56212.872.553
10、872.311121.733621.68132.963.878263.703323.696423.6297355.220555.106825.387125.31193.147.018946.951326.739126.66181013.703313.71472.20122.197710.114.817314.83112.15432.151010.216.028916.04552.11342.110310.317.346217.36582.07842.075510.418.777718.80072.04972.047010.520.332520.35942.02732.024810.622.02
11、0322.05142.01172.009510.723.851023.88692.00332.001310.825.835125.87622.00252.0008实验5习题6.8“饮酒驾车的药物注射模型”求解实验目的运用药物注射模型,使用曲线拟合方法,解释饮酒驾车的一些实际问题。实验原理 由于酒精不需要进入肠道即可被吸收,且胃对其吸收速率也非常快,本题应采用“快速静脉注射模型”。酒精主要存在于血液中,故本例应计算吸收室的血药浓度c1(t)=A1e-t+B1e-t相关系数可以通过拟合法求解。代码实现、执行结果及分析format short g% 题中提供的某人喝了两瓶啤酒后血液酒精浓度随时间变化
12、表t= 0.25; 0.5; 0.75; 1; 1.5; 2; 2.5; 3; 3.5; 4; 4.5; 5; 6; 7; 8; 9; 10; 11; 12; 13; 14; 15; 16 ;c= 30; 68; 75; 82; 84; 77; 70; 68; 58; 51; 50; 41; 38; 35; 28; 25; 18; 15; 12; 10; 7; 7; 4 ;% 根据此变化表拟合求解相关系数ft =fittype(A1*exp(-a*x)+B1*exp(-b*x);options = fitoptions(Method,NonlinearLeastSquares);options
13、.StartPoint = 0 -1000 0 0;cfit = fit(t,c,ft,options);plot( cfit, t, c, o );A1=cfit.A1B1=cfit.B1a=cfit.ab=cfit.b由此解得:(拟合曲线见右图)A1 = 110.55B1 = -151.46a = 0.17949b = 2.8243%-1-%问题:某人中午12点喝了一瓶啤酒,下午6点检查合格,晚饭又喝一瓶,次日凌晨2点检查未通过,请对此情况做出解释。t11_1=6;c11_1=(A1*exp(-a*t11_1)+B1*exp(-b*t11_1)/2%下午6点酒精浓度 除以2是因为此人只喝了
14、一瓶,浓度减半t11_2=13.2;c11_2=(A1*exp(-a*t11_2)+B1*exp(-b*t11_2)/2 %中午喝酒在次日凌晨2点残留酒精浓度t12=7.2;c12=(A1*exp(-a*t12)+B1*exp(-b*t12)/2 %晚饭喝酒在次日凌晨2点残留酒精浓度c12A=c12+c11_2 %次日凌晨2点总残留酒精浓度由此解得:c11_1 =18.829 %下午6点酒精浓度20,检测不合格本例中实际计算的时间其实未到达次日凌晨2点,按照这组数据得到次日凌晨2点的酒精浓度将低于20,原因在于题目中提供数据的饮酒者耗散酒精的能力可能比本例中的人要强。数据仅仅体现一种趋势,实际数字因人而异。他第二次检测不合格的根本原因在于中午摄入的酒精仍有残余,提高了整体酒精浓度。%-2-%问题:短时间内喝啤酒3瓶多长时间之后才能驾车?t2=0.2:0.1:24;for i=1:239 c2(i)=(A1*exp(-a*t2(i)+B1*exp(-b*t2(i)*3/2;endplot(t2,c2,t2,20);从右图绘制曲线的交点可以看出,喝啤酒3瓶后约12小时之后血液酒精浓度才会低于20,符合驾车标准。%-3-%问题:怎样估计血液中的酒精含量在什么时候最高?通过前面的两张图我们已经可以看出酒精含量的变化趋势,血液中酒精含量大
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2