数学建模作业
数学建模课后习题作业

【陈文滨】1、在稳定的椅子问题中,如设椅子的四脚连线呈长方形,结论如何?【模型假设】(1)椅子四条腿一样长,椅脚与地面接触处视为一点,四脚的连线呈长方形.(2)地面高度是连续变化的,沿任何方向都不会出现间断 (没有像台阶那样的情况),即从数学的角度看,地面是连续曲面.这个假设相当于给出了椅子能放稳的必要条件.(3)椅子在任何位置至少有三只脚同时着地.为保证这一点,要求对于椅脚的间距和椅腿的长度而言,地面是相对平坦的.因为在地面上与椅脚间距和椅腿长度的尺寸大小相当的范围内,如果出现深沟或凸峰(即使是连续变化的),此时三只脚是无法同时着地的。
【模型建立】在上述假设下,解决问题的关键在于选择合适的变量,把椅子四只脚同时着地表示出来.首先,引入合适的变量来表示椅子位置的挪动.生活经验告诉我们,要把椅子通过挪动放稳,通常有拖动或转动椅子两种办法,也就是数学上所说的平移与旋转变换.然而,平移椅子后问题的条件没有发生本质变化,所以用平移的办法是不能解决问题的.于是可尝试将椅子就地旋转,并试图在旋转过程中找到一种椅子能放稳的情形.注意到椅脚连线呈长方形,长方形是中心对称图形,绕它的对称中心旋转180度后,椅子仍在原地.把长方形绕它的对称中心O旋转,这可以表示椅子位置的改变。
于是,旋转角度θ这一变量就表示了椅子的位置.为此,在平面上建立直角坐标系来解决问题.如下图所示,设椅脚连线为长方形ABCD,以对角线AC所在的直线为x轴,对称中心O为原点,建立平面直角坐标系.椅子绕O点沿逆时针方向旋转角度θ后,长方形ABCD转至A1B1C1D1 的位置,这样就可以用旋转角θ(0≤θ≤π)表示出椅子绕点O旋转θ后的位置.其次,把椅脚是否着地用数学形式表示出来.我们知道,当椅脚与地面的竖直距离为零时,椅脚就着地了,而当这个距离大于零时,椅脚不着地.由于椅子在不同的位置是θ的函数,因此,椅脚与地面的竖直距离也是θ的函数.由于椅子有四只脚,因而椅脚与地面的竖直距离有四个,它们都是θ的函数.而由假设(3)可知,椅子在任何位置至少有三只脚同时着地,即这四个函数对于任意的θ,其函数值至少有三个同时为0.因此,只需引入两个距离函数即可.考虑到长方形ABCD是中心对称图形,绕其对称中心 O沿逆时针方向旋转180°后,长方形位置不变,但A,C和B,D对换了.因此,记A、B两脚与地面竖直距离之和为f(θ),C、D两脚与地面竖直距离之和为g(θ),其中θ∈[0,π],从而将原问题数学化。
数学建模作业及答案

数学建模作业姓名:叶勃学号:班级:024121一:层次分析法1、 分别用和法、根法、特征根法编程求判断矩阵1261/2141/61/41A ⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦11/2433217551/41/711/21/31/31/52111/31/5311A ⎡⎤⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎣⎦的特征根和特征向量(1)冪法求该矩阵的特征根和特征向量 程序为:#include<iostream> #include<math.h> using namespace std;#define n 3 //三阶矩阵#define N 20 #define err 0.0001 //幂法求特征值特征向量 void main(){cout<<"**********幂法求矩阵最大特征值及特征向量***********"<<endl; int i,j,k;double A[n][n],X[n],u,y[n],max;cout<<"请输入矩阵:\n"; for(i=0;i<n;i++) for(j=0;j<n;j++)cin>>A[i][j]; //输入矩阵 cout<<"请输入初始向量:\n"; for(i=0;i<n;i++)cin>>X[i]; //输入初始向量 k=1; u=0;while(1){ max=X[0]; for(i=0;i<n;i++) {if(max<X[i]) max=X[i]; //选择最大值 }for(i=0;i<n;i++)y[i]=X[i]/max; for(i=0;i<n;i++)X[i]=0;for(j=0;j<n;j++)X[i]+=A[i][j]*y[j]; //矩阵相乘}if(fabs(max-u)<err){cout<<"A的特征值是 :"<<endl; cout<<max<<endl; cout<<"A的特征向量为:"<<endl; for(i=0;i<n;i++) cout<<X[i]/(X[0]+X[1]+X[2])<<" ";cout<<endl;break;}else{if(k<N) {k=k+1;u=max;} else {cout<<"运行错误\n";break;}}} }程序结果为:(2)和法求矩阵最大特征值及特征向量程序为:#include<stdio.h>#include<iostream>#include<math.h> using namespace std;#define n 3 //三阶矩阵#define N 20void main(){int i,j,k;double A[n][n],w[n],M[n],u[n],W[n][n],max;cout<<"********和法求矩阵的特征根及特征向量*******"<<endl;cout<<"请输入矩阵:\n";for(i=0;i<n;i++)for(j=0;j<n;j++)cin>>A[i][j]; //输入矩阵 //计算每一列的元素和M[0]=0;M[1]=0;M[2]=0;for(i=0;i<n;i++)for(j=0;j<n;j++){M[i]+=A[j][i];}//将每一列向量归一化for(i=0;i<n;i++)for(j=0;j<n;j++){W[j][i]=A[j][i]/M[i];}//输出按列归一化之后的矩阵Wcout<<"按列归一化后的矩阵为:"<<endl;for(i=0;i<n;i++)for(j=0;j<n;j++){cout<<W[i][j]<<" ";if(j==2)cout<<endl;} //求特征向量w[0]=0;w[1]=0;w[2]=0;for(i=0;i<n;i++)for(j=0;j<n;j++){w[i]+=W[i][j];}cout<<"特征向量为:"<<endl; for(i=0;i<n;i++){u[i]=w[i]/(w[0]+w[1]+w[2]);cout<<u[i]<<" "<<endl;}//求最大特征值max=0;for(i=0;i<n;i++){w[i] = 0;for(j=0;j<n;j++){w[i] += A[i][j]*u[j];}}for(i = 0;i < n;i++){max += w[i]/u[i];}cout<<"最大特征根为:"<<endl;cout<<max/n<<endl; }运行结果为:(3)根法求矩阵最大特征值及特征向量:程序为:#include<stdio.h>#include<iostream>#include<math.h>using namespace std;#define n 3 //三阶矩阵#define N 20void main(){int i,j;double A[n][n],w[n],M[n],u[n],W[n][n],max;cout<<"********根法求矩阵的特征根及特征向量*******"<<endl; cout<<"请输入矩阵:\n";for(i=0;i<n;i++)for(j=0;j<n;j++)cin>>A[i][j]; //输入矩阵//计算每一列的元素和M[0]=0;M[1]=0;M[2]=0;for(i=0;i<n;i++)for(j=0;j<n;j++){M[i]+=A[j][i];}//将每一列向量归一化for(i=0;i<n;i++)for(j=0;j<n;j++){W[j][i]=A[j][i]/M[i];}//输出按列归一化之后的矩阵Wcout<<"按列归一化后的矩阵为:"<<endl;for(i=0;i<n;i++)for(j=0;j<n;j++){cout<<W[i][j]<<" ";if(j==2)cout<<endl;}//求特征向量//w[0]=A[0][0];w[1]=A[0][1];w[2]=A[0][2];w[0]=1;w[1]=1;w[2]=1;for(i=0;i<n;i++){for(j=0;j<n;j++){w[i]=w[i]*W[i][j];}w[i]=pow(w[i], 1.0/3);}cout<<"特征向量为:"<<endl;for(i=0;i<n;i++){u[i]=w[i]/(w[0]+w[1]+w[2]);cout<<u[i]<<" "<<endl;}//求最大特征值max=0;for(i=0;i<n;i++){w[i] = 0;for(j=0;j<n;j++){w[i] += A[i][j]*u[j];}}for(i = 0;i < n;i++){max += w[i]/u[i];}cout<<"最大特征值为:"<<endl; cout<<max/n;}运行结果为:2、编程验证n阶随机性一致性指标RI:运行结果:3、考虑景色、费用、居住、饮食、旅途五项准则,从桂林、黄山、北戴河三个旅游景点选择最佳的旅游地。
数学建模一周作业题目

对作业题目的说明1. 本次数学建模周一共提供十五道题目供大家选择。
每支队伍(2-3人/队)必须从以下题目中任意选取一题(只须选择一道),并完成一篇论文,对论文的具体要求参阅《论文格式规范》。
2. 题目标注为“A ”的为有一定难度的题目,指导老师会根据题目的难度对论文最后的评分进行调整。
(一)乒乓球赛问题 (A)A 、B 两乒乓球队进行一场五局三胜制的乒乓球赛,两队各派3名选手上场,并各有3种选手的出场顺序(分别记为123,,ααα 和123,,βββ)。
根据过去的比赛记录,可以预测出如果A 队以i α次序出场而B 队以j β次序出场,则打满5局A 队可胜ija 局。
由此得矩阵()ij R a =如下:123123214034531R βββααα⎛⎫=⎪ ⎪ ⎪⎝⎭(1) 根据矩阵R 能看出哪一队的实力较强吗?(2) 如果两队都采取稳妥的方案,比赛会出现什么结果? (3) 如果你是A 队的教练,你会采取何种出场顺序?(4) 比赛为五战三胜制,但矩阵R 中的元素却是在打满五局的情况下得到的,这样的数据处理和预测方式有何优缺点?(二)野兔生长问题在某地区野兔的数量在连续十年的统计数量(单位十万)如下:分析该数据,得出野兔的生长规律。
并指出在哪些年内野兔的增长有异常现象,预测T=10 时野兔的数量。
(三)停车场的设计问题在New England的一个镇上,有一位于街角处面积100 200平方英尺的停车场,场主请你代为设计停车车位的安排方式,即设计在场地上划线的方案。
容易理解,如果将汽车按照与停车线构成直角的方向,一辆紧挨一辆地排列成行,则可以在停车场内塞进最大数量的汽车,但是对于那些缺乏经验的司机来说,按照这种方式停靠车辆是有困难的,它可能造成昂贵的保险费用支出。
为了减少因停车造成意外损失的可能性,场主可能不得不雇佣一些技术熟练的司机专门停车;另一方面,如果从通道进入停车位有一个足够大的转弯半径,那么,看来大多数的司机都可以毫无困难地一次停车到位。
数学建模作业练习

优化作业(1)1.(本题只写模型不求解)某工厂向用户提供发动机,按合同规定,其交货数量和日期是:第一季度末交40台,第二季度末交60台,第三季度末交80台。
工厂的最大生产能力为每季度100台,每季度的生产费用是22.050)(x x x f +=元,其中x 为该季度生产发动机的台数。
若工厂生产得多,多余的发动机可移到下季度向用户交货,这样,工厂就需要支付存储费用,每台发动机每季度的存储费用为4元。
问该厂每季度生产多少台发动机,才能既满足交货合同,又使工厂所花费的费用最少(假定第一季度开始时发动机无存货)?2.(本题只写模型不求解)某市为方便小学生上学,拟在新建的8个居民小区821,,,A A A 增设若干所小学,经过论证知备选校址有621,,,B B B ,它们能够覆盖的居民小区如下表所列,试建立一个数学模型,确定出最小个数的建校地址,使其能覆盖所有的居民小区。
备选校址B 1 B 2 B 3 B 4 B 5 B 6 覆盖小区 A 1,A 5,A 7 A 1,A 2,A 5,A 8 A 1,A 3,A 5 A 2,A 4,A 8 A 3,A 6 A 4,A 6,A 83.写出下面LINGO 程序所对应的完整数学模型。
SETS: HANG/1..3/:B; LIE/1..4/:X,C; XISHU(HANG,LIE):A;ENDSETSDATA:A= 1 2 3 12 5 1 23 1 6 -2;B=4 5 7;C=1 3 4 5;ENDDATAmin=@sum(LIE(I):C(I)*X(I));@FOR(HANG(I):@SUM(LIE(J):A(I,J)*X(J))>B(I));4.根据下面LINGO 程序的集合段和模型段写出其所对应的数学模型。
SETS: HANG/1..3/:A;LIE/1..4/:B;XISHU(HANG,LIE):C,X;ENDSETSmin=@sum(XISHU(I,J):C(I,J)*X(I,J));@FOR(HANG(I):@SUM(LIE(J):X(I,J))=A(I));@FOR(LIE(J):@SUM(HANG(I):X(I,J))=B(J));5.某校篮球队准备从十名预备队员中选择五名作为正式队员,队员的各种情况如下表:队员号码身高(厘米)技术分位置1 185 8.6 中锋2 186 9 中锋3 193 8.4 中锋4 190 9.5 中锋5 182 9.1 前锋6 184 9 前锋7 188 8.1 前锋8 186 7.8 后卫9 190 8.2 后卫10 192 9.2 后卫队员的挑选要满足下面条件:(1)至少补充一名前锋。
数学建模案例作业

数学建模案例作业作业1 商人过河问题三名商人各带一个随从乘船渡河,一只小船只能容纳二人,由他们自己划行(六个人都会划船)。
随从们密谋,无论何时,一旦随从的人数比商人多,就杀人越货。
但是如何乘船渡河的决定权掌握在商人手中。
商人们怎样才能安全渡河?示意图如下: 随从:商人: 一、状态变量一次决策),(k k k y x S = 3,2,1=k 表示第k 次渡河时,此岸的商人数,随从数. 最初 )3,3(0=S 且为整数)3,0(≤≤k k y x)}0,0(),1,0(),2,0(),3,0(),0,1(),1,1(),2,1(),3,1(),0,2(),1,2(),2,2(),3,2(),0,3(),1,3(),2,3(),3,3{(=S要安全过河,需保证彼岸此岸都安全,及随从数不能大于商人数,所以安全的情况有10种,即)}0,0(),1,0(),2,0(),3,0(),1,1(),2,2(),0,3(),1,3(),2,3(),3,3{(=S ② 二、决策变量设),(k k k v u d =2,0(≤≤k k v u 且)21≤+≤k k v u 表示第k 次渡河时,船上的商人数和随从数 )}1,0(),0,1(),2,0(),1,1(),0,2{(=D与状态变量相结合,安全的情况有三种,即 )}1,0(),2,0(),1,1{((=D ③ 三、状态转移方程奇数次(此案到彼岸)k k k d S S -=+1 偶数次(彼岸到此案)k k k d S S +=+1 即k k k k d S S )1(1-+=+ ① 数学建模:由①确定的转移方程下,经过n 次决策,将初始状态转移到最终状态)0,0(=n S . 每次的决策取自③式,每次到达的状态在②中. 图解法:①从右上角移到左下角,每次最多移两步;②奇数次渡河往左下方,偶数次渡河往右下方。
建立平面直角坐标系如图:n S 过河方案:从A 点)3,3(0=S 出发到D 点)0,0(=n S 结束① 小船一次最多能载两人,所以每次最多移动两个格子② 由此岸即彼岸时人员减少,即奇数遍时向左下方行走;有彼岸及此岸时人员增加,即偶数遍时向右上方行走。
数学建模作业题+答案

数学建模MATLAB 语言及应用上机作业11. 在matlab 中建立一个矩阵135792468101234501234A ⎡⎤⎢⎥⎢⎥=⎢⎥-----⎢⎥⎣⎦答案:A = [1,3,5,7,9;2,4,6,8,10;-1,-2,-3,-4,-5;0,1,2,3,4]2. 试着利用matlab 求解出下列方程的解(线性代数22页例14)123412423412342583692254760x x x x x x x x x x x x x x +-+=⎧⎪--=⎪⎨-+=-⎪⎪+-+=⎩ 答案:A=[2 ,1,-5,1;1,-3,0,-6;0,2,-1,2;1,4,-7,6]; B=[8;9;-5;0]; X=A\B 或A=[2,1,-5,1;1,-3,0,-6;0,2,-1,2;1,4,-7,6] b=[8,9,-5,0]' X=inv(A)*b3. 生成一个5阶服从标准正态分布的随机方阵,并计算出其行列式的值,逆矩阵以及转置矩阵。
答案:A=randn(5) det(A) inv(A) A'4. 利用matlab 求解出110430002A -⎡⎤⎢⎥=-⎢⎥⎢⎥⎣⎦的特征值和特征向量。
答案:A=[-1,1,0;-4,3,0;0,0,2] [V,D]=eig(A)5.画出衰减振荡曲线3sin3t y et -=在[0,4]π上的图像。
要求,画线颜色调整为黑色,画布底面为白色。
(在实际中,很多打印机时黑白的,因此大多数作图要考虑黑白打印机的效果。
) 给出恰当的x ,y 坐标轴标题,图像x 轴的最大值为4π。
6. 生成一个0-1分布的具有10个元素的随机向量,试着编写程序挑选出向量中大于0.5的元素。
数学建模和Matlab 上机作业2(2016-9-20)跟老师做(不用整合进作业中):上机演示讲解:函数,递归的两个例子的写法。
附:1. Fibonacci Sequence (斐波那契数列)在数学上,费波那西数列是以递归的方法来定义: F1= 1;F2= 1;F (n )=F (n-1)+F (n-2) 2. 阶乘举例:数学描述:n!=1×2×……×n ;计算机描述:n!=n*(n-1)!自己做(需要整合进作业中,提交到系统中):1. 写一个m 文件完成分值百分制到5分制的转换(即输入一个百分制,转换后输出一个5级对应的得分,联系条件控制语句)。
数学建模作业(1)
数学建模作业(1)
数模
数模
1.学校共学校共1000名学生,235人住在宿名学生,人住在A宿名学生人住在人住B宿舍人住在C宿舍舍,333人住宿舍,432人住在宿舍人住宿舍,人住在宿舍.学生们要组织一个10人的委员会人的委员会,学生们要组织一个人的委员会,试用下列办法分配各宿舍的委员数:列办法分配各宿舍的委员数:(1)按比例分配取整数的名额后,剩下的名按比例分配取整数的名额后,按比例分配取整数的名额后额按惯例分给小数部分较大者。
额按惯例分给小数部分较大者。
(2)用Q值方法。
值方法。
用值方法
数模
如果委员会从10人增至人如果委员会从人增至15人,用以上人增至2种方法再分配名额。
将2种方法两次分配种方法再分配名额。
种方法再分配名额种方法两次分配的结果列表比较。
的结果列表比较。
(3)你能提出其它的方法吗?用你的方你能提出其它的方法吗?你能提出其它的方法吗法分配上面的名额。
法分配上面的名额。
数模
2.考察模拟水下爆炸的比例模型.爆炸物质量m,在距爆炸点距离r处设置仪器,接收到的冲击波压强为p,记大气初始压强p0,水的密度ρ,水的体积弹性模量k,用量纲分析法已经得到
p0ρrp=p0(,)km3
数模
设模拟实验与现场的p0,ρ,k相同,而爆炸物模型的质量为原模型的1/1000.为了使实验中接收到与现场相同的压强p,问实验时应如何设置接收冲击波的仪器,即求实验仪器与爆炸点之间的距离是现场的多少倍?
p0,ρ,k。
数学建模第四套
徐州工程学院个性化教育数学建模(大作业)试卷班级 学号 姓名 得分1、某农场饲养的某种动物所能达到的最大年龄为15岁,将其分成三个年龄组:第一组,0~5岁;第二组,6~10岁;第三组,11~15岁。
动物从第二年龄组开始繁衍后代,经过长期统计,第二组和第三组的繁殖率分别为4和3,第一年龄和第二年龄组的动物能顺利进入下一个年龄组的存活率分别为1/2和1/4。
假设农场现有三个年龄段的动物各100头,问15年后农场三个年龄段的动物各有多少头?解:由于年龄分为五岁一段,所以时间周期取5年。
设(k)i x 表示第k 个时间周期,第i 组年龄阶段动物的数量。
因为某一时间周期第二年龄组和第三年龄组的动物数量是由上一周期上一年龄组存活下来的动物的数量决定的,所以有(k)(k 1)(k)(k 1)213211,22x x x x --== 又因为某一时间周期,第一年龄组的动物数量是由上一时间周期各个年龄组出生的动物数量决定的,所以有(k)(k 1)(k 1)12343x x x --=+由此得到递推关系式: (k)(k 1)(k 1)123(k)(k 1)21(k)(k 1)32431214x x x x x x x ----⎧=+⎪⎪⎪=⎨⎪⎪=⎪⎩ 用矩阵表示为: (k)(k 1)11(k)(k 1)22(k)(k 1)3304310021004x x x x x x ---⎡⎤⎢⎥⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎢⎥⎣⎦即(k)(k 1)x Lx -=,其中(n)043100100,10021001004L x ⎡⎤⎢⎥⎡⎤⎢⎥⎢⎥⎢⎥==⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎢⎥⎣⎦则有()()()(3)(2)(1)(0)1437.5137.587.5x Lx L Lx L L Lx ⎡⎤⎢⎥====⎢⎥⎢⎥⎣⎦计算过程代码如下: >> x0=[100;100;100];>> L=[0,4,3;1/2,0,0;0,1/4,0]; >> x1=L*x0; >> x2=L*x1; >> x3=L*x2x3 =1.0e+03 * 1.4375 0.1375 0.0875结果分析:由于动物的数量不可能出现小数,所以根据实际,15年后农场饲养动物的数量2、深洞的估算: 假如你站在洞口且身上仅带着一只具有跑秒功能的计算器,你出于好奇心想用扔下一块石头听回声的方法来估计洞的深度,假定你捡到一块质量是1KG 的 石头,并准确的测定出听到回声的时间T=5S ,就下面给定情况,分析这一问题,给出相应的数学模型,并估计洞深。
数学建模例题和答案
数学建模例题和答案
题目:
一个汽车公司拥有两个工厂,分别生产两种型号的汽车,A型和B型,每种型号的汽车都有一定的销售价格。
现在,该公司需要在两个工厂中生产A型和B型汽车,使得总收入最大。
答案:
1、建立数学模型
设A型汽车在第一个工厂生产的数量为x,在第二个工厂生产的数量为y,A型汽车的销售价格为a,B型汽车的销售价格为b,则该公司的总收入可以表示为:
总收入=ax+by
2、确定目标函数
由于题目要求使得总收入最大,因此可以将总收入作为目标函数,即:
最大化Z=ax+by
3、确定约束条件
由于两个工厂的生产能力有限,因此可以设置约束条件:
x+y≤M,其中M为两个工厂的总生产能力
4、求解
将上述模型转化为标准的数学规划模型:
最大化Z=ax+by
s.t. x+y≤M
x≥0,y≥0
由于该模型是一个线性规划模型,可以使用数学软件进行求解,得到最优解:
x=M,y=0
即在第一个工厂生产M件A型汽车,在第二个工厂不生产B型汽车,此时该公司的总收入最大,为Ma。
数学建模作业及答案
数学建模作业姓名:叶勃学号:班级:024121一:层次分析法1、 分别用和法、根法、特征根法编程求判断矩阵1261/2141/61/41A ⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦11/2433217551/41/711/21/31/31/52111/31/5311A ⎡⎤⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎣⎦的特征根和特征向量(1)冪法求该矩阵的特征根和特征向量 程序为:#include<iostream> #include<math.h> using namespace std;#define n 3 //三阶矩阵#define N 20 #define err 0.0001 //幂法求特征值特征向量 void main(){cout<<"**********幂法求矩阵最大特征值及特征向量***********"<<endl; int i,j,k;double A[n][n],X[n],u,y[n],max;cout<<"请输入矩阵:\n"; for(i=0;i<n;i++) for(j=0;j<n;j++)cin>>A[i][j]; //输入矩阵 cout<<"请输入初始向量:\n"; for(i=0;i<n;i++)cin>>X[i]; //输入初始向量 k=1; u=0;while(1){ max=X[0]; for(i=0;i<n;i++) {if(max<X[i]) max=X[i]; //选择最大值 }for(i=0;i<n;i++)y[i]=X[i]/max; for(i=0;i<n;i++)X[i]=0;for(j=0;j<n;j++)X[i]+=A[i][j]*y[j]; //矩阵相乘}if(fabs(max-u)<err){cout<<"A的特征值是 :"<<endl; cout<<max<<endl; cout<<"A的特征向量为:"<<endl; for(i=0;i<n;i++) cout<<X[i]/(X[0]+X[1]+X[2])<<" ";cout<<endl;break;}else{if(k<N) {k=k+1;u=max;} else {cout<<"运行错误\n";break;}}} }程序结果为:(2)和法求矩阵最大特征值及特征向量程序为:#include<stdio.h>#include<iostream>#include<math.h> using namespace std;#define n 3 //三阶矩阵#define N 20void main(){int i,j,k;double A[n][n],w[n],M[n],u[n],W[n][n],max;cout<<"********和法求矩阵的特征根及特征向量*******"<<endl;cout<<"请输入矩阵:\n";for(i=0;i<n;i++)for(j=0;j<n;j++)cin>>A[i][j]; //输入矩阵 //计算每一列的元素和M[0]=0;M[1]=0;M[2]=0;for(i=0;i<n;i++)for(j=0;j<n;j++){M[i]+=A[j][i];}//将每一列向量归一化for(i=0;i<n;i++)for(j=0;j<n;j++){W[j][i]=A[j][i]/M[i];}//输出按列归一化之后的矩阵Wcout<<"按列归一化后的矩阵为:"<<endl;for(i=0;i<n;i++)for(j=0;j<n;j++){cout<<W[i][j]<<" ";if(j==2)cout<<endl;} //求特征向量w[0]=0;w[1]=0;w[2]=0;for(i=0;i<n;i++)for(j=0;j<n;j++){w[i]+=W[i][j];}cout<<"特征向量为:"<<endl; for(i=0;i<n;i++){u[i]=w[i]/(w[0]+w[1]+w[2]);cout<<u[i]<<" "<<endl;}//求最大特征值max=0;for(i=0;i<n;i++){w[i] = 0;for(j=0;j<n;j++){w[i] += A[i][j]*u[j];}}for(i = 0;i < n;i++){max += w[i]/u[i];}cout<<"最大特征根为:"<<endl;cout<<max/n<<endl; }运行结果为:(3)根法求矩阵最大特征值及特征向量:程序为:#include<stdio.h>#include<iostream>#include<math.h>using namespace std;#define n 3 //三阶矩阵#define N 20void main(){int i,j;double A[n][n],w[n],M[n],u[n],W[n][n],max;cout<<"********根法求矩阵的特征根及特征向量*******"<<endl; cout<<"请输入矩阵:\n";for(i=0;i<n;i++)for(j=0;j<n;j++)cin>>A[i][j]; //输入矩阵//计算每一列的元素和M[0]=0;M[1]=0;M[2]=0;for(i=0;i<n;i++)for(j=0;j<n;j++){M[i]+=A[j][i];}//将每一列向量归一化for(i=0;i<n;i++)for(j=0;j<n;j++){W[j][i]=A[j][i]/M[i];}//输出按列归一化之后的矩阵Wcout<<"按列归一化后的矩阵为:"<<endl;for(i=0;i<n;i++)for(j=0;j<n;j++){cout<<W[i][j]<<" ";if(j==2)cout<<endl;}//求特征向量//w[0]=A[0][0];w[1]=A[0][1];w[2]=A[0][2];w[0]=1;w[1]=1;w[2]=1;for(i=0;i<n;i++){for(j=0;j<n;j++){w[i]=w[i]*W[i][j];}w[i]=pow(w[i], 1.0/3);}cout<<"特征向量为:"<<endl;for(i=0;i<n;i++){u[i]=w[i]/(w[0]+w[1]+w[2]);cout<<u[i]<<" "<<endl;}//求最大特征值max=0;for(i=0;i<n;i++){w[i] = 0;for(j=0;j<n;j++){w[i] += A[i][j]*u[j];}}for(i = 0;i < n;i++){max += w[i]/u[i];}cout<<"最大特征值为:"<<endl; cout<<max/n;}运行结果为:2、编程验证n阶随机性一致性指标RI:运行结果:3、考虑景色、费用、居住、饮食、旅途五项准则,从桂林、黄山、北戴河三个旅游景点选择最佳的旅游地。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数学建模作业姓名:李成靖学号:1408030311班级:计科1403班日期:2015.12.301.某班准备从5名游泳队员中选4人组成接力队,参加学校的4×100m 混合泳接力比赛,5名队员4种泳姿的百米平均成绩如下表所示,问应如何选拔队员组成接力队?如果最近队员丁的蛙泳成绩有较大的退步,只有1′15"2;而队员戊经过艰苦训练自由泳成绩有所进步,达到57"5,组成接力队的方案是否应该调整?名队员4种泳姿的百米平均成绩解:(1).设c ij (秒)为队员i 第j 种泳姿的百米成绩,转化为0—1规划模型若参选择队员i 加泳姿j 的比赛,记x ij =1, 否则记x ij =0目标函数:即min=66.8*x11+75.6*x12+87*x13+58.6*x14+57.2*x21+66*x22+66.4*x23+53*x24+78*x31+67.8*x32+84.6*x33+59.4*x34+70*x41+74.2*x42+69.6*x43+57.2*x44+67.4*x51+71*x52+83.8*x53+62.4*x54;约束条件: x 11+x12+x13+x14<=1;x21+x22+x23+x24<=1; x31+x32+x33+x34<=1; x41+x42+x43+x44<=1; x51+x52+x53+x54<=1; x11+x21+x31+x41+x51=1; x12+x22+x32+x42+x52=1; x13+x23+x33+x43+x53=1;甲 乙 丙 丁 戊 蝶泳 1′06"8 57"2 1′18" 1′10" 1′07"4 仰泳 1′15"6 1′06" 1′07"8 1′14"2 1′11" 蛙泳 1′27" 1′06"4 1′24"6 1′09"6 1′23"8 自由泳58"653"59"457"21′02"4∑∑===4151j iij ij x c Z Minx14+x24+x34+x44+x54=1; lingo模型程序和运行结果因此,最优解为x14=1,x21=1,x32=1,x43=1,其余变量为0成绩为253.2(秒)=4′13"2即:甲~ 自由泳、乙~ 蝶泳、丙~ 仰泳、丁~ 蛙泳.(2).若丁的蛙泳成绩退步为1′15"2=75.2(秒),戊的自由泳成绩进步为57"5=57.5(秒),则目标函数:min=66.8*x11+75.6*x12+87*x13+58.6*x14+57.2*x21+66*x22+66.4*x23+53*x24+78*x31+67.8*x32+84.6*x 33+59.4*x34+70*x41+74.2*x42+75.2*x43+57.2*x44+67.4*x51+71*x52+83.8*x53+57.5*x54;约束条件:x11+x12+x13+x14<=1;x21+x22+x23+x24<=1;x31+x32+x33+x34<=1;x41+x42+x43+x44<=1;x51+x52+x53+x54<=1;x11+x21+x31+x41+x51=1;x12+x22+x32+x42+x52=1;x13+x23+x33+x43+x53=1;x14+x24+x34+x44+x54=1lingo模型程序和运行结果因此,最优解为x21=1,x32=1,x43=1,x54=1 ,其余变量为0;成绩为257.7(秒)= 4′17"7 ,新方案:乙~ 蝶泳、丙~ 仰泳、丁~ 蛙泳、戊~ 自由泳。
2.某工厂用A1,A2两台机床加工B1,B2,B3三种不同零件,已知在一个生产周期内A1只能工作80机时,A2只能工作100机时。
一个生产周期内加工B1为70件,B2为50件,B3为20件。
两台机床加工每个零件的时间和加工每个零件的成本,分别如下所示加工每个零件时间表(单位:机时/个)机床零件B1 B2 B3 A1 1 2 3A2 1 1 3加工每个零件成本表(单位:元/个)机床零件B1 B2 B3 A1 2 3 5A2 3 3 6 问怎样安排两台车床一个周期的加工任务,才能使加工成本最低?解:设在A1机床上加工零件B1、B2、B3的数量分别为x1、x2、x3,在A2机床上加工零件B1、B2、B3的数量分别为x4、x5、x6,可建立以下线性规划模型:目标函数:min=2*x1+3*x2+5*x3+3*x4+3*x5+6*x6约束条件:x1,x2,x3,x4,x5,x6均为整数x1+2*x2+3*x3<=80x1+x2+3*x3<=100x1+x4=70x2+x5=50x3+x6=20lingo模型程序和运行结果最优解为x1=70,x2=0,x3=3,x4=0,x5=50,x6=17;最低成本价为407元。
即:在A1机床上加工零件B1、B2、B3的数量分别为70、0、3,在A2机床上加工零件B1、B2、B3的数量分别为0、50、17。
3.某银行经理计划用一笔资金进行有价证券的投资,可供购进的证券以及其信用等级、到期年限、收益如下表所示按照规定,市政证券的收益可以免税,其他证券的收益需按50%的税率纳税。
此外还有以下限制:(1)政府及代办机构的证券总共至少要购进400万元;(2)所购证券的平均信用等级不超过1.4(信用等级数字越小,信用程度越高);(3)所购证券的平均到期年限不超过5年。
(1)若该经理有1000万元资金,应如何投资?(2)如果能够以2.75%的利率借到不超过100万元资金,该经理应如何操作?(3)在1000万元资金情况下,若证券A的税前收益增加为4.5%,投资应否改变?若证券C的税前收益减少为4.8%,投资应否改变?解:设投资证劵A、证劵B、证劵C、证劵D、证劵E的金额分别为:X1、X2、X3、X4、X5(百万元),投资之后获得的总收益为Y百万元。
(1).建立如下的线性规划模型:目标函数:maxY=0.043*X1+(0.054*0.5)*X2+(0.05*0.5)*X3+(0.044*0.5)*X4+0.045*X5 约束条件: X2+X3+X4>=4X1+X2+X3+X4+X5<=10(2*X1+2*X2+X3+X4+5*X5)/( X1+X2+X3+X4+X5)<=1.4(9*X1+15*X2+4*X3+3*X4+2*X5)/( X1+X2+X3+X4+X5)<=5整理化简可得:Max Y=0.043*X1+0.027*X2+0.025*X3+0.022*X4+0.045*X5;X2+X3+X4>=4;X1+X2+X3+X4+X5<=10;6*X1+6*X2-4*X3-X4+36*X5<=0;4*X1+10*X2-X3-2*X4-3*X5<=0;lingo模型程序和运行结果因此,最优解为Y=0.298,X1=2.182,X3=7.364,X5=0.454最优解方案不投资证劵B和证劵D,投资证劵A为218.2万元,投资证劵C为736.4万元,投资证劵E为45.4万元;总收益为29.8万元。
(2).由问题(1)得:投资金额每增加100万元,收益可增加2.98万元,而借贷100万元所要支付的利息是2.75万元,比2.98万元少,因此应该借贷这100万元去投资。
目标函数仍为:Max Y=0.043*X1+0.027*X2+0.025*X3+0.022*X4+0.045*X5;X2+X3+X4>=4;X1+X2+X3+X4+X5<=11;6*X1+6*X2-4*X3-X4+36*X5<=0;4*X1+10*X2-X3-2*X4-3*X5<=0;lingo模型程序和运行结果因此,最优解为: X1=2.40,X3=8.10,X5=0.50,Y=0.328;即应投资证劵A 240万元,证劵C 810万元,证劵E 50万元。
此时收益总额为32.8万元,再减去所要支付的利息2.75万元,还剩30.05万元,比问题(1)中的收益总额29.8万元还要多,这也证明了借贷100万元来投资是明智的。
(3). 问题(1)的灵敏度分析可得下图:则在最优解不变的条件下目标函数系数允许的变化范围:X1的系数为(0.043-0.013,0.043+0.0035),即(0.030,0.0465);X3的系数为(0.025-0.0006,0.025+0.017),即(0.02494,0.042);当证劵A的税前收益增加为4.5%时,其在目标函数中的系数为0.045,在最优解不变的条件下目标函数系数允许的变化范围内,因此投资方案不应该改变。
当证劵C的税前收益减少为4.8%时,其在目标函数中的系数为0.024,不在最优解不变的条件下目标函数系数允许的变化范围内,因此只有改变投资方案,才能使银行经理获得最大收益值。
4.某医院负责人每日至少需要下表数量的护士。
班次时间最少护士1 6时—10时602 10时—14时703 14时—18时604 18时—22时505 22时—02时206 02时—06时30每班的护士在值班开始时向病房报到,连续工作8小时,医院领导为满足每班所需要的护士数,最少需要用多少护士?解:设在i班刚加入工作的人数分别为x1、x2、x3、x4、x5、x6;目标函数为:min=x1+x2+x3+x4+x5+x6;约束条件:x1,x2,x3,x4,x5,x6均为整数x1+x2>=70x2+x3>=60x3+x4>=50x4+x5>=20x5+x6>=30x6+x1>=60lingo模型程序和运行结果因此,最优解为:x1=60、x2=10、x3=50、x4=0、x5=30、x6=0;最少需要护士150人。
5.某海岛上有12个主要的居民点,每个居民点的位置(用平面坐标x,y表示,距离单位:km)和居住的人数R如表下表所示,现在准备在岛上建一个服务中心为居民提供各种服务,那么服务中心应该建在何处?解:设第i 个居民点的位置(,),居住的人数为,i=1,2,3,4,5,6,7,8,9,10,11,12;设服务中心的位置为(a ,b ),无约束条件; 服务中心应该让所有的人都方便,因此目标函数为 min=lingo 模型程序和运行结果居民点 1 23456789101112x 0 8.20 0.50 5.70 0.77 2.87 4.43 2.58 0.72 9.76 3.19 5.55 y 00.50 4.90 5.00 6.49 8.76 3.26 9.32 9.96 3.16 7.20 7.88R600 1000 800 1400 1200 700600800 1000 1200 1000 1100因此,服务中心应该建的位置是(3.19,3.20)第十一个小岛。