2019数学建模练习题

发布 2020-04-15 15:56:28 阅读 9713

练习1 基础练习。

一、矩阵及数组操作:

1.利用基本矩阵产生3×3和15×8的单位矩阵、全1矩阵、全0矩阵、均匀分布随机矩阵([-1,1]之间)、正态分布矩阵(均值为1,方差为4)。

2.利用fix及rand函数生成[0,10]上的均匀分布的10×10的整数随机矩阵a,然后统计a中大于等于5的元素个数。

3.在给定的矩阵中删除含有整行内容全为0的行,删除整列内容全为0的列。

二、绘图:4.在同一图形窗口画出下列两条曲线图像:

y1=2x+5; y2=x^2-3x+1,并且用legend标注。

5.画出下列函数的曲面及等高线:

z=x^2+y^2+sin(xy).

三、程序设计:

6.编写程序计算(x在[-3,3],间隔0.01)

7.有一列分数序列:

求前15项的和。

8.用至少三种方法编写函数实现求任意整数n的阶乘。

9.将任意大于6的偶数m写成两个素数p1、p2的和(试着写出所有的m=p1+p2的可能形式)。

10.是否任意3的倍数m可以写成两个素数p1、p2、p3的和(试着写出所有的m=p1+p2+p3

的可能形式)?

四、数据处理与拟合初步:

11.通过测量得到一组数据:

分别采用y=c1+c2e^(-t)和y=d1+d2te^(-t)进行拟合,并画出拟合曲线进行对比。

12.计算下列定积分:

13.微分方程组。

当t=0时,x1(0)=1,x2(0)=-0.5,求微分方程t在[0,25]上的解,并画出相空间轨道图像。

14.设通过测量得到时间t与变量y的数据:

t=[0 0.3 0.8 1.1 1.6 2.3];

y=[0.5 0.82 1.14 1.25 1.35 1.41];

分别采用多项式y=a0+a1t+a2t2

和指数函数y=b0+b1e^t+b2te^t

进行拟合,并计算均方误差、画出拟合效果图进行比较。

15.观察函数: y=e^x-1.5cos(2*pi*x)

在区间[-1,1]上的函数图像,完成下列两题:

1)用函数fzero求解上述函数在[-1,1]的所有根,验证你的结果;

2)用函数fminbnd求解上述函数在[-1,1]上的极小、极大、最小和最大值,在函数图像。

上标出你求得的最小值点作出验证。

注:可以用help fzero命令查看fzero的调用格式,fzero典型的调用方法是:

fzero(@myfun,x0) %返回函数myfun在x0附近的根;

fminbnd典型的调用方法是:

fminbnd(@myfun,x1,x2) %返回函数myfun在区间[x1,x2]上的最小值。

练习2 编程练习。

1. 题目:判断101-200之间有多少个素数,并输出所有素数。编写以fun1为名的脚本文件。

程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。

2.题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:

153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。编写以fun2为名的脚本文件。

程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。

3. 题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。编写以fun3为名的函数文件。

程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:

1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。

2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。

3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。

4. 题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。编写以fun4为名的函数文件。

5. 题目:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程找出1000以内的所有完数。编写以fun5为名的脚本文件。

6. 题目:企业发放的奖金根据利润提成。

利润x低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润x,求应发放奖金总数?

编写以fun6为名的函数文件。

7. 题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?编写以fun7为名的脚本文件。

程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上168后再开方,如果开方后的结果满足如下条件,即是结果。

8. 题目:输入三个整数x,y,z,请把这三个数由小到大输出。编写以fun15为名的函数文件。

程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换,然后再用x与z进行比较,如果x>z则将x与z的值进行交换,这样能使x最小。

9. 题目:输出9*9口诀。编写以fun9为名的脚本文件。

程序分析:分行与列考虑,共9行9列,i控制行,j控制列。

10. 题目:有一分数序列:

2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前n项之和。输入n,输出和s。

编写以fun10为名的函数文件。

程序分析:请抓住分子与分母的变化规律。

11. 题目:编写以fun11为名的函数文件。将所输入的5个字符,以相反顺序打印出来。

12. 题目:对n个数进行排序。即输入n个数,输出结果为由大到小的顺序。编写以fun12为名的函数文件。

程序分析:可以利用选择法,即从后9个比较过程中,选择一个最小的与第一个元素交换,下次类推,即用第二个元素与后8个进行比较,并进行交换。

13. 题目:编写一个函数,输入n为偶数时,求1/2+1/4+..1/n,当输入n为奇数时,求1/1+1/3+..1/n。编写以fun13为名的函数文件。

14. 题目:输入数字a,按以下规则进行。每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。编写以fun14为名的函数文件。

15. 题目:求出1到m之间(含m)能被7或11整除的所有整数放在数组a中,通过n返回这些数的个数。输入m,输出a,n。编写以fun15为名的函数文件。

16. 题目:根据以下公式计算s,计算结果作为函数值返回;n通过形参传入。

s=1+1/(1+2)+1/(1+2+3)+…1/(1+2+3+…+n)。编写以fun16为名的函数文件。

练习3 优化问题练习。

1、线性规划。

规划问题不等式约束默认是,所有不等式约束都要变成的形式。

函数原型:x=linprog(f,a,b,aeq,beq,lb,ub,x0,options)

f:目标函数的系数列向量。

a:不等式约束条件的系数矩阵。

b:不等式约束条件的。

aeq:等式约束条件的系数矩阵。

beq:等式约束条件的。

lb:未知数的下界。

ub:未知数的上界。

x0:初值。

option:选项。

例:脚本文件:

clear all,clc;

f=[-5;-4;-6];

a=[1 -1 1;3 2 4;3 2 0];

b=[20;42; 30];

lb=[0;0;0];%lb=zeros(3,1);

x,fval]=linprog(f,a,b,lb)

2、二次规划。

函数原型:x=quadprog(h,f,a,b,aeq,beq,lb,ub,x0,options)

将目标函数写成如下形式:

例:脚本文件:

clear all ,clc;

h=[1 -1;-1 2];

f=[-2; -6]

a=[1 1;-1 2];

b=[2;3];

lb=[0;0];

x,fval]=quadprog(h,f,a,b,lb)

-1规划。

2019数学建模练习题

练习1 基础练习。一 矩阵及数组操作 1 利用基本矩阵产生3 3和15 8的单位矩阵 全1矩阵 全0矩阵 均匀分布随机矩阵 1,1 之间 正态分布矩阵 均值为1,方差为4 2 利用fix及rand函数生成 0,10 上的均匀分布的10 10的整数随机矩阵a,然后统计a中大于等于5的元素个数。3 在给...

数学建模练习题

2.14成绩与体重数学建模。举重比赛按照体育运动员的体重分组,你能在一些合理 简单的假设下,建立比赛成绩与体重之间的关系吗?下面是下一届奥运会的成绩,可供检验你的模型。成绩与肌肉的力度有直接关系,随着力度的增加,成绩呈上升趋势。假设力度与肌肉横截面积成正比,而截面积和体重都与身体的某个特征尺寸有直接...

数学建模练习题

数学建模与实验 练习题。专题一初等模型。1 如图,矿物局拟自地平面上掘出一管道至地面下一点。设长,长,地平面是粘土,掘进费用,地平面以下是岩石,掘进费用是。1 建立掘进费用的数学模型 2 采用什么掘法费用最省?2 某罐装饮料厂为降低成本要将制罐材料减少到最小,假设罐装饮料筒为正圆柱体 视上 下底为平...