MATLAB数学实验报告

更新时间:2023-08-19 01:32:01 阅读量: 高中教育 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

MATLAB数学实验报告

姓名:李帆

班级:机械(硕)

学号: 21 2120104008

第一次数学实验报告

——线性规划问题

一, 实验问题

1, 某饲养场饲养动物出售,设每头动物每天至少需要700g蛋白质,30g矿物质,100mg维生素。现有五种饲料可供选择,各种饲料的每千克营养成分含量和单价如下表。是确定既能满足动物生长的营养需要,游客是费用最省的选用饲料方案。

2,某工厂生产甲、乙、丙三种产品,单位产品所需工时分别为2、3、1个;单位产品所需原料分别为3、1、5公斤;单位产品利润分别为2、3、5元。工厂每天可利用的工时为12个,可供应的原料为15公斤。为使总利润为最大,试确定日生产计划和最大利润。

二, 问题分析

1,1) 该题属于采用线性规划的方式求出最优解的数学问题。该题有以下特点,1.

目标函数有线性,是求目标函数的最小值;2.约束条件为线性方程组;3.未知变量都有非负限制。

1,2) 求解该类问题的方法有图解法,理论解法和软件解法。图解法常用于解变量较

少的线性规划问题。理论解法要构建完整的理论体系。目前用于解线性规划的理论解法有:单纯形法,椭球算法等。在此,我们采用单纯形法的MATLAB软件解法来求解该问题。

1,3) 此题中,要求既要满足动物生长的营养需要,又要使费用最省,则使每种饲料

的选用量为变量,以总费用的最小值为所求量,同时每种饲料的使用量要符合营养成分的要求。

1,4) 在此,首先确定建立线性规划模型。设饲料i选用量为xi公斤,i=1,2,3,4,5.则

有模型:

Minz=0.2x1+0.7x2+0.4x3+0.3x4+0.8x5

s.t. {3x1+2x2+6x4+18x5>=700;

x1+0.5x2+0.2x3+2x4+0.5x5>=30

0.5x1+x2+0.2x3+2x4+0.8x5>=100

Xj>=0,j=1,2,3,4,5

解之得:x1=x2=x3=0

X4=39.74359

X5=25.14603

Zmin=32.43590

2, 1)该问题与第一题分析步骤相似,故只在此写出其线性规划模型 Z=2x+3y+5z

2x+3y+z<=12

3x+y+5z<=15

三, 程序设计流程图

第一题:

c=[0.2,0.7,0.4,0.3,0.8]

A=[3,2,1,6,18;1,0.5,0.2,2,0.5;0.5,1,0.2,2,0.8;1,0,0,0,0;0,1

,0,0,0;0,0,1,0,0;0,0,0,1,0;0,0,0,0,1]

b=[700,30,100,0,0,0,0,0]

[x,fval]=linprog(c,-A,-b)

c =

0.2000 0.7000 0.4000 0.3000 0.8000

A =

3.0000 2.0000 1.0000 6.0000 18.0000

1.0000 0.5000 0.2000 2.0000 0.5000

0.5000 1.0000 0.2000 2.0000 0.8000

1.0000 0 0 0 0

0 1.0000 0 0 0

0 0 1.0000 0 0

0 0 0 1.0000 0

0 0 0 0 1.0000

b =

700 30 100 0 0 0 0 0

Optimization terminated.

x =

0.0000

-0.0000

0.0000

39.7436

25.6410

fval =

32.4359

第二题

c=[-2 -3 -5]

A=[2 3 1;3 1 5]

b=[12;15]

lb=[0 0 0]

[x,Z,exitflag,output]=linprog(c,A,b,[],[],lb,[])

将上述程序输入matlab。就可得出结果。结果如下:

x =

0.0000

3.2143

2.3571

Z =

-21.4286

四,结果分析和结论

1. 由上述实验结果可知,当x1=x2=x3=0,x4=39.74539公斤,x3=25.64103公斤时,费用取得最小值32.43590元。

2. 由上述结果可以知道当甲、乙、丙分别生产0, 3.2143, 2.3571 公斤时,总利润最大,可达到21.4286

四, 总结和体会

通过该次试验,我们掌握了采用线性规划方式解决求最优解的数学问题的方法,同时,对于建立数学模型有了一个初步的认识。对于以后的数学学习起到了非常大的帮助。并且,我们掌握了使用MATLAB软件解决问题的一些方法,学到了关于其操作的一些软件语言,开辟了解决数学相关问题的一种新方法。这对于我们来说,是一次极大的收获。

当然,由于我们自身知识的有限,对于解决一些较为复杂的问题还有一些难度,同时,对于其中的一些符号语言以及一些表示方法还不够熟悉,需要我们以后进行进一步的学习。

第二次数学实验报告

——曲线拟合

一,实验问题

1,下表中,X是华氏温度,Y是一分钟内一只蟋蟀的鸣叫次数,试用多项式模型拟合这些数据,画出拟合曲线,分析你的拟合模型是否很好

2、(1) 在下列数据中,W表示一条鱼的重量,l表示它的长度,使用最小二乘准则拟合模型W=kl3 长度l(英寸) 14.5 12.5 17.25 14.5 12.625 17.75 14.125 12.625 重量w(盎司) 27 17 41 26 17 49 23 16

(2)** 在下列数据中,g表示一条鱼的身围,使用最小二乘准则拟合模型W=klg2

长度l(英寸)

身围g(英寸)

重量w(盎司) 14.5 12.5 17.25 14.5 12.625 17.75 14.125 12.625 9.75 8.375 11.0 9.75 8.5 12.5 9.0 8.5 27 17 41 26 17 49 23 16

(3)** 两个模型哪个拟合数据较好?为什么?

二,问题分析

1, 1)该题属于曲线拟合问题。最佳曲线拟合问题等价于确定一条平面曲线使它和实验数据点最接近。并不要求曲线严格通过每个已知数据点,但要求曲线在各数据点处的取值与已知观测值的总体误差最小。

1,2)首先设定某一类型的函数y=f(x),,然后确定函数中的参数,使得在各点处的偏差ri=f(xi)-yi的平方和最小。

1,3)本题中采用最小二乘法的基本思想。运用MATLAB中命令polyfit编写拟合程序。其中x,y为已知的数据点横坐标向量和总坐标向量,m为要拟合的多项式次数,结果p为m次多项式系数向量,且从高次到低次存放在向量p中。

2.1)该题属于曲线拟合问题。最佳曲线拟合问题等价于确定一条平面曲线使它和实验数据点最接近。并不要求曲线严格通过每个已知数据点,但要求曲线在各数据点处的取值与已知观测值的总体误差最小。

2.2)首先设定某一类型的函数y=f(x),,然后确定函数中的参数,使得在各点处的偏差ri=f(xi)-yi的平方和最小。

三,程序设计流程图

第一题

x=[46 49 51 52 54 56 57 58 59 60 61 62 63 64 66 67 68 71 72 71]; y=[40 50 55 63 72 70 77 70 90 93 96 88 99 110 113 120 127 137 132 137]; plot(x,y,'k.','markersize',20);

axis([40 80 35 145]);

p=polyfit(x,y,8);

t=40:1:80;

s=polyval(p,t);

hold on

plot(t,s,'k-','linewidth',2)

grid

第二题

1) l=[14.5;12.5;17.25;14.5;12.625;17.75;14.125;12.625];

w=[27;17;41;26;17;49;23;16];

c=0;d1=0;

for i=1:8

c=c+l(i)^4;

d1=d1+l(i)*w(i);

end

A=c

D=d1

ab=inv(A)*D

for i=1:8

x(i)=ab(1)*l(i)^3;

end

plot(l,w,'r*--',l,x,'b.--');

2)l=[14.5 12.5 17.25 14.5 12.625 17.75 14.125 12.625]

g=[9.75 8.375 11.0 9.75 8.5 12.5 9.0 8.5]

w=[27 17 41 26 17 49 23 16]

plot3(l,g,w,'k.','markersize',25)

axis([10 20 7.5 12 15 55])

m=l.*(g.^2)

k=inv(m*(m.'))*(m)*(w.')

x=11:0.1:20

y=8:0.1:13

[X,Y]=meshgrid(x,y)

Z=k*X.*Y.^2

surf(X,Y,Z)

shading flat

四,结果分析和结论

运行结果如下图所示:

第一题:

第二题

1

求出来的答案如下:

A =

3.9125e+05

D =

3.2995e+03

k =

0.0084

2)

l =

14.5000 12.5000 17.2500 14.5000 12.6250 17.7500 14.1250 12.6250

g =

9.7500 8.3750 11.0000 9.7500 8.5000 12.5000 9.0000 8.5000

w =

27 17 41 26 17 49 23 16

m =

1.0e+003 *

1.3784 0.8768 2.0873 1.3784 0.9122 2.7734 1.1441 0.9122

k =

0.0187

(3)经过对于实验题1和实验题2的数据拟合曲线的比较,我认为第二个数学模型拟合数据较好。因为鱼的身体重不仅受到其长度的影响,也与他的身围有一定的关系。通过综合数据的拟合,能够更加准确的判断鱼的体重的影响关系。

五, 总结和体会

通过这次试验,我们对于数据拟合模型有了一定的认识,同时对于其基本原理和使用方法有了一定的掌握。我们发现,该数学模型,在我们的日常生活中,具有极大的使用范围,能够为我们带来相当大的便利。

本文来源:https://www.bwwdw.com/article/l1gj.html

Top