数学建模选修课第二次作业
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.数学模型是如何分类的? 答:
用字母、数字和其他数学符号构成的等式或不等式,或用图表、图 像、框图、数理逻辑等来描述系统的特征及其内部联系或与外界联系的 模型。它是真实系统的一种抽象。数学模型是研究和掌握系统运动规律 的有力工具,它是分析、设计、预报或预测、控制实际系统的基础。
3. 建立数学模型一般应遵循什么原则? 答:
11 辛普森积分结果为: S2 = 65.2824
(3)结果分析:
上面结果是用两种方法来进行计算的,第一个是一维线性插值,第二个 是辛普森积分,运行结果如上图,但是无法再给图像命名时再给两个图 填充颜色,原因未知。结果是第一个的结果没有第二个结果好。
四、多项式拟合
对于以下实验数据 x=(1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6 7 8 9 10 11) y=(4 4.6 8 8.4 9.28 9.5 9.7 9.86 10 10.2 10.32 10.30 10.24 10.18 10.00 9.40) 给出拟合多项式,计算x=6.5,12处的值,并绘制相应曲线图。
(3)结果分析:
开始时我用了四个不同次数多项式来进行拟合结果如第一个图,但是由 于最后要计算x=6.5,12处的值,我取了误差最小的四次多项式来进行计 算,拟合,结果如第二个图。
5、 常微分方程数值解
用预估校正Euler法,求解定解问题 求出步长为1的所有点的值,并绘制图形。
解:
(1)程序代码:
clc; clear all; f=inline('y^2-2*x/y'); xx=0:1:10; x=xx; x(1)=0; y(1)=1; h=1; n=10; fprintf('每个节点的结果为:\n\n')%%输出语句 for i=1:1:n+1 x(i+1)=x(i)+h; y(i+1)=y(i)+h*f(x(i),y(i)); xx=x(i) yy=y(i) end; fprintf('最后的结果为:\n\n')%%输出语句 m=y(n) plot(x,y,'-mo') % 绘图,原始数据+拟合曲线 xlabel('x'); ylabel('y'); title('预估校正Euler法解定解问题的曲线');
解:
(1)程序代码:
clear all; clc; x=[1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6 7 8 9 10 11]; y=[4 4.6 8 8.4 9.28 9.5 9.7 9.86 10 10.2 10.32 10.30 10.24 10.18 10.00 9.40]; a=polyfit(x,y,5); % 拟合出的五次函数的系数 fprintf('运行结果为:\n\n')%%输出语句 disp('构造的二次插值多项式P2(x)为:')%%输出语句 f=poly2str(a,'x')%%将拟合后的多项式系数(双精度数组)转换为字符形 式的函数 poly2sym(a);%%将该向量转换为多项式 fprintf('x=6.5的近似值为:\n') m=polyval(a,6.5)%%用于对已经拟合后的多项式系数, fprintf('x=12的近似值为:\n') n=polyval(a,12)%%用于对已经拟合后的多项式系数, xx=linspace(min(x),max(x)); % 绘图用到的点的横坐标 yy=polyval(a,xx); % 拟合曲线的纵坐标 %subplot(2,2,4);
(2)运行结果:
运行结果为: 构造的二次插值多项式P2(x)为: f= 0.00038416 x^5 - 0.01707 x^4 + 0.28271 x^3 - 2.2403 x^2 + 8.6685 x - 3.1048 x=6.5的近似值为: m= 10.2120
x=12的近似值为: n= 8.4585
数学建模作业
一、回答以下问题
1.什么是数学模型? 答:
所谓数学模型,是指针对或参照现实世界中某类事物系统的主要特 征、主要关系,经过简化与抽象,用形式化的数学语言概括或近似地加以 表述的一种数学结构.一般表现为数理逻辑的逻辑表达式、各种数学方 程(如代数方程、微分方程、积分方程等)及反映量与量之间相互关系的 图形、表格等形式.它或者能解释特定现象的现实状态,或者能预测对象 的未来状态,或者能提供处理对象的最优决策与控制.好的数学模型应具 备可靠性和可解性(也叫适用性)两方面的特性:可靠性指在允许的误差范 围内,能反映出该系统有关特性的内在联系;可解性指易于数学处理与计 算.数学 模型方法将复杂的研究对象简单化、抽象化,撇开对象的一些具体 特征,减少其参数,只抽取其主要量、量的变化及量与量之间的相互关系, 在“纯粹”的形态上进行研究,突出主要矛盾,忽略次要矛盾,用数学语言刻 画出客观对象量的规律性,简洁明了地描述现实原形,揭示出其本质的规 律,并在对模型修正、求解的基础上使原问题得以解决.可以说,数学模型 是对现实原形的一种理想化处理是一个科学的抽象过程,因而具有高度 的抽象性与形式化特征.这一特征使其成为一种经典的数学方法,并随着 科学技术的数学化趋势,超越数学范畴,广泛地应用于自然科学、工程技 术和社会科学的一切领域.。
5.建立数学模型的一般步骤是什么? 答:
建模的具体步骤大致如下: 1、 实际问题通过抽象、简化、假设,确定变量、参数; 2、 建立数学模型并数学、数值地求解、确定参数; 3、 用实际问题的实测数据等来检验该数学模型;
2、 多项式插值
由函数y=sin x在三点0,π/4,π/2处的函数值,构造二次插值多项式 P2(x),计算sin(π/8)的近似值,并估计截断误差。
模型假设是整个建模的起点,是模型建立的基础,不同的人对同一事 物的认识因其角度及深度不一致而产生不同的假设条件,从而导致不同 的模型建立恰当进行模型假设是极为重要的。同时模型假设和模型建立 是一个不易分离的整体过程。 . 在进行模型假设和模型建立的过程中,我们应遵从以下两个基本原 则,并按两个基本原则的顺序进行反复的操作。 (1) 分割原则 分割成若干个独立的研究对象并说明对象间应有联系可 用图来表示对象间联系。 (2) 联系原则 构造出对象之间的联系的具体方式或细节 分割的复杂性在于不存在绝对的客观分割的标准因为任何一个分割方 式都带有一定的主观性, 分割问题不单纯是数学问题,还需要有其他学科的观点,这就构成模 型假设的复杂性。对其复杂性我们有必要作深入探讨和研究。
解:
(1)程序代码:
x=linspace(0,8.534,13)%由0到8.534将其分为13等份计算其相应的坐标点 y=[0 0.914 5.060 7.772 8.717 9.083 9.144 9.083 8.992 8.687 7.376 2.073 0]; x0=0:0.001:8.534; y1=interp1(x,y,x0);%%一维线性插值函数
(2)运行结果:
运行结果为:
构造的二次插值多项式P2(x)为: f= -0.33575 x^2 + 1.164 x - 2.8824e-016 sin(π/8)的近似值为: m= 0.4053 sin(π/8)的真实值为: n= 0.3827 截断误差Rn(x)为: R= 0.0226
(3)结果分析:
fprintf('梯形积分结果为:\n\n')%%输出语句 x=[x,fliplr([x(1),x,x(end)])]; y=[y/2,fliplr([y(1)/2,-y/2,y(end)/2])]; subplot(1,2,1); plot(x,y,'-r')%,x0,y1,'-r') S=trapz(y1)*0.001%%积分函数 title('用梯形积分结果图'); xlabel('x'); ylabel('y'); y=[0.914,5.060,7.772,8.717,9.083,9.144,9.083,8.992,8.687,7.376,2.073]; n=length(y) x=linspace(0,8.534,n); pp=spline(x,y);%%求样条函数表达式 fprintf('辛普森积分结果为:\n\n')%%输出语句 S2=quadl(@ppval,0,8.534,[],[],pp)%%高阶法数值积分 %%%绘制甲板的图形 subplot('position',[200,150,900,400])%%subplot('Position',[left bottom %width height]) %figure的位置和大小,距离屏幕左边200,底部150,宽900,高400, 默认单位是像素 xx=[x,fliplr([x(1),x,x(end)])];%%把x矩阵的第1个到最后一个元素沿垂直 轴左右翻转 yy=[y/2,fliplr([y(1)/2,-y/2,y(end)/2])];%实现矩阵的左右翻转 subplot(1,2,2) plot(xx,yy) title('用辛普森积分结果图'); xlabel('x'); ylabel('y');
4.建立数学模Байду номын сангаас一般都有什么方法? 答:
建模的一般方法: 机理分析:根据对现实对象特性的认识,分析其因果关系,找出反映内 部机理的规律,所建立的模型常有明确的物理或现实意义。 测试分析方法:将研究对象视为一个“黑箱”系统,内部机理无法直接寻 求,通过测量系统的输入输出数据,并以此为基础运用统计分析方法, 按照事先确定的准则在某一类模型中选出一个数据拟合得最好的模型。 测试分析方法也叫做系统辩识。 将这两种方法结合起来使用,即用机理分析方法建立模型的结构,用系 统测试方法来确定模型的参数,也是常用的建模方法。 在实际过程中用那一种方法建模主要是根据我们对研究对象的了解程度 和建模目的来决定建立数
在编写程序时用了poly2str和poly2sym函数,开始时没有运用第二个将 该向量转换为多项式的函数,即无法计算,经查资料后修改得到结果如 上。
三、数值积分
轮船的甲板成近似半椭圆面形,为了得到甲板的面积,首先测得横向 最大相间8.534米,然后等距离的测得纵向高度,自左向右分别为 0.914,5.060,7.772,8.717,9.083,9.144,9.083,8.992,8.687,7.376,2.073米,计 算甲板的面积。
解:
令, 则
(1)程序代码:
clear all; clc; x=[0 pi/4 pi/2];%%计算各个插值点的x的值 y=sin(x);%%sin中一定要带括号 p=polyfit(x,y,2);%%构造二次插值多项式 f=inline('sinx');%%将sinx定义成内联函数以便使用 fprintf('运行结果为:\n\n')%%输出语句 disp('构造的二次插值多项式P2(x)为:')%%输出语句 f=poly2str(p,'x')%%将拟合后的多项式系数(双精度数组)转换为字符形 式的函数 poly2sym(p);%%将该向量转换为多项式 fprintf('sin(π/8)的近似值为:\n') m=polyval(p,pi/8)%%用于对已经拟合后的多项式系数, %%当给出某个点时求其函数值;计算插值多项式在pi/8处的值 fprintf('sin(π/8)的真实值为:\n') n=sin(pi/8) fprintf('截断误差Rn(x)为:\n')%%输出语句 R=abs(n-m)
plot(x,y,'m.',xx,yy,'b'); % 绘图,原始数据+拟合曲线 xlabel('x'); ylabel('y'); legend('原始数据','拟合曲线'); % 图示 title('五次多项式拟合曲线'); hold on; x=[6.5 12]; y=[m n]; plot(x,y,'gs')
(2)运行结果:
x= Columns 1 through 11 0 5.6893 0.7112 6.4005 1.4223 7.1117 2.1335 2.8447 3.5558 4.2670 4.9782
Columns 12 through 13 7.8228 8.5340
梯形积分结果为: S= 54.6894 n=