2014 数学建模练习题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

练习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为名的函数文件。

相关文档
最新文档