1、数学模型课程实验实验 07 施肥效果分析姓名:孟蕾学号:201510802008所在院系:数学与计算机学院专 业:信息与计算科学指导老师:林宗兵摘要: 对土豆和生菜分别绘制出他们的产量与三种营养元素之间关系的散图,拟合两变量之间的关系式。首先分别确定产量与施肥量之间的函数曲线类型,然后根据曲线类型对所求函数的对应关系进行假设,并利用已知数据计算出所需参数,最终确定变量之间的函数关系,得到最佳施肥量和最优产量。关键词: 施肥方案 散点图 曲线拟合 matlab一、 问题重述:某地区作物生长所需的营养素主要是氮( N )、钾( K )、磷( P )。某作物研究所在某地区对土豆与生菜做了一定数量的实
2、验,实验数据如下列表所示,其中 ha 表示公顷, t 表示吨, kg 表示公斤。当一个营养素的施肥量变化时,总将另两个营养素的施肥量保持在第七个水平上,如对土豆产量关于 N 的施肥量做实验时, P 与 K 的施肥量分别取为 196kg ha 与 372kg ha 。若氮( N )、钾( K )、磷( P )和土豆、生菜的市场价格如表 1 所示:表 1 市场价格(元/吨)商品 N P K 土豆 生菜 价格 350 320 640 800 200试分析施肥量与产量之间关系,并对所得结果从应用价值与如何改进等方面做出估计。 表 2 土豆产量与施肥量的关系施肥量( N)(kg/ha) 产量 (t/ha
3、) 施肥量( P) (kg/ha) 产量 (t/ha) 施肥量(K) (kg/ha) 产量 (t/ha) 0 15.18 0 33.46 0 18.98 34 21.36 24 32.47 47 27.35 67 25.72 49 36.06 93 34.86 101 32.29 73 37.96 140 39.52 135 34.03 98 41.04 186 38.44 202 39.45 147 40.09 279 37.73 259 43.15 196 41.26 372 38.43 336 43.46 245 42.17 465 43.87 404 40.83 294 40.36 5
4、58 42.77 471 30.75 342 42.73 651 46.22 表 3 生菜产量与施肥量的关系施肥量(N)(kg/ha) 产量 (t/ha) 施肥量( P) (kg/ha) 产量 (t/ha) 施肥量(K) (kg/ha) 产量 (t/ha) 0 11.02 0 6.39 0 15.75 28 12.70 49 9.48 47 16.76 56 14.56 98 12.46 93 16.89 84 16.27 147 14.33 140 16.24 112 17.75 196 17.10 186 17.56 168 22.59 294 21.94 279 19.20 224 21
5、.63 391 22.64 372 17.97 280 19.34 489 21.34 465 15.84 336 16.12 587 22.07 558 20.11 392 14.11 685 24.53 651 19.40 设计任务(1)根据题目要求建立模型并求解:(2)模型的应用与改进由于当一种肥料施肥量改变时,另外的两种肥料都保持在第 7 个水平上,于是有如下 3 个方案:(n,245,465),(259,p,465) ,(259,245,k) 。对上述方案分别求出最大利润,然后进行比较就可得到最佳施肥方案。二、 问题分析:利用散点图对所拟合问题的曲线类型做出判断。当需要拟合的两变量之
6、间的函数关系式,首先要确定所求函数对应曲线的类型,然后根据曲线类型对所求函数的对应关系进行假设,并利用已知数据计算出所需参数,最终确定变量之间的函数关系。我们可以分别绘制出土豆和生菜的产量与施肥量的散点图,从图像的角度判断函数关系,再根据题目所给数据确定最终的函数。三、 模型的建立与求解:散点图:所用 matlab 程序为:k1=xlsread( E:数学建模课程设计 实验报告shuju,sheet1,$L$3:$L$12);y31=xlsread( E:数学建模课程设计 实验报告shuju,sheet1,$M$3:$M$12);plot(k1,y31,+)土豆产量与施肥量的关系由散点图猜测生
7、菜产量 y 与施肥量 N 的关系式为: 121cnbayy 与磷肥的量 P 的函数为: 22cpbayy 与钾肥的量 K 的函数为: ke331由 matlab 解出:a1=-0.0003 b1=0.1971 c1=14.7416a2=-0.0001 b2=0.0719 c2=32.9161a3=42.7 b3=0.56 c3=0.01土豆产量与施肥量的关系图:所用的 matlab 程序为:clearclcn1=xlsread( E:数学建模课程设计 实验报告shuju,sheet1,$A$3:$A$12);n2=n1.2;y11=xlsread( E:数学建模课程设计 实验报告shuju,s
8、heet1,$B$3:$B$12);p1=xlsread( E:数学建模课程设计 实验报告shuju,sheet1,$C$3:$C$12);p2=p1.2;y21=xlsread( E:数学建模课程设计 实验报告shuju,sheet1,$D$3:$D$12);k1=xlsread( E:数学建模课程设计 实验报告shuju,sheet1,$E$3:$E$12);y31=xlsread( E:数学建模课程设计 实验报告shuju,sheet1,$F$3:$F$12);c=ones(10,1);d1(:,1)=n2;d1(:,2)=n1;d1(:,3)=c;x1=inv(d1*d1)*d1*y1
9、1d2(:,1)=p2;d2(:,2)=p1;d2(:,3)=c;x2=inv(d2*d2)*d2*y21x0=42 0.55 0.05;x3=lsqnonlin (shujunihe,x0)n=0:0.001:393;p=0:0.001:686;k=0:0.001:652;y1=x1(1)*n.*n+x1(2)*n+x1(3);y2=x2(1)*p.*p+x2(2)*p+x2(3);y3=x3(1)*(1-x3(2)*exp(x3(3)*k);plot(k1,y31,+,k,y3)上述文件保存为qimobaogao.mfunction f=shujunihe(x)c1=xlsread( E:
10、数学建模课程设计 实验报告shuju,sheet1,$E$3:$LE$12);c2=xlsread( E:数学建模课程设计 实验报告shuju,sheet1,$F$3:$F$12);f=c2-x(1)*(1-x(2)*exp(x(3)*c1);上述文件保存为shujunihe.m用matlab解出最大利润为: y=37693最佳施肥方案为第一个方案(328.44,245,465)所用程序为:clearclca1=-0.0003; b1=0.1971; c1=14.742;a2=-0.0001; b2=0.0719; c2=32.916;a3=42.7; b3=0.56; c3=0.01;n=0
11、:0.01:393;p=0:0.01:686;k=0:0.01:652;y1=(a1*n.*n+b1*n+c1)*800;y11=max(y1)for i=1:length(n)if abs(y1(i)-y11)=0.001q1=n(i)breakendendy2=(a2*n.*n+b2*n+c2)*800;y22=max(y2)for i=1:length(p)if abs(y2(i)-y22)=0.001q2=p(i)breakendendy3=a3*(1-b3*exp(-c3*k);y33=max(y3)for i=1:length(k)if abs(y3(i)-y33)=0.001q3
12、=k(i)breakendend运行后的结果如图: 生菜产量与施肥量关系:由散点图猜测生菜产量 y 与施肥量 N 的关系式为: 121cnbayy 与磷肥的量 P 的函数为: 22cpbayy 与钾肥的量 K 的函数为: ke331由 matlab 解出:a1=-0.0002 b1=0.1013 c1=10.2294a2=-0.0001 b2=0.0606 c2=6.8757a3=15.8878 b3-0.0440 c3=0.0026关系图为:所用 matlab 程序为:clearclcn1=xlsread( E:数学建模课程设计 实验报告shuju,sheet1,$H$3:$H$12);n2
13、=n1.2;y11=xlsread( E:数学建模课程设计 实验报告shuju,sheet1,$I$3:$I$12);p1=xlsread( E:数学建模课程设计 实验报告shuju,sheet1,$J$3:$J$12);p2=p1.2;y21=xlsread( E:数学建模课程设计 实验报告shuju,sheet1,$K$3:$K$12);k1=xlsread( E:数学建模课程设计 实验报告shuju,sheet1,$L$3:$L$12);y31=xlsread( E:数学建模课程设计 实验报告shuju,sheet1,$M$3:$M$12);c=ones(10,1);d1(:,1)=n2
14、;d1(:,2)=n1;d1(:,3)=c;x1=inv(d1*d1)*d1*y11d2(:,1)=p2;d2(:,2)=p1;d2(:,3)=c;x2=inv(d2*d2)*d2*y21x0=42 0.55 0.05;x3=lsqnonlin (shujunihe,x0)n=0:0.001:393;p=0:0.001:686;k=0:0.001:652;y1=x1(1)*n.*n+x1(2)*n+x1(3);y2=x2(1)*p.*p+x2(2)*p+x2(3);y3=x3(1)*(1-x3(2)*exp(x3(3)*k);plot(k1,y31,+,k,y3)上述文件保存为qimobaog
15、ao.mfunction f=shujunihe(x)c1=xlsread( E:数学建模课程设计 实验报告shuju,sheet1,$L$3:$L$12);c2=xlsread( E:数学建模课程设计 实验报告shuju,sheet1,$M$3:$M$12);f=c2-x(1)*(1-x(2)*exp(x(3)*c1);上述文件保存为shujunihe.m用matlab解出最大利润为: y=18445最佳施肥方案为第一个方案(253.18,245,465)所用程序为:clearclca1=-0.0002; b1=0.1013; c1=10.2294;a2=-0.0001; b2=0.0606
16、; c2=6.8757;a3=15.8878; b3=-0.0440; c3=0.0026;n=0:0.01:393;p=0:0.01:686;k=0:0.01:652;y1=(a1*n.*n+b1*n+c1)*800;y11=max(y1)for i=1:length(n)if abs(y1(i)-y11)=0.001q1=n(i)breakendendy2=(a2*n.*n+b2*n+c2)*800;y22=max(y2)for i=1:length(p)if abs(y2(i)-y22)=0.001q2=p(i)breakendendy3=a3*(1-b3*exp(c3*k);y33=m
17、ax(y3)for i=1:length(k)if abs(y3(i)-y33)=0.001q3=k(i)breakendend运行结果如图:四、模型的评价与推广:本模型利用 Matlab 编程,曲线估计较成功地解决了施肥最佳方案问题, 方法简练, 道理清晰, 结果可信。曲线估计得到较合适的曲线,最终得到拟合曲线函数表达式。在实际工作中, 三种肥料之间除了与产量有直接的数量关系外,还有彼此之间的交互作用。因此, 本模型只是一个初步的探讨, 要得到三种营养素与产量之间的准确关系, 应该在实验之初就采取正交实验或均匀设计的方法, 得到更有价值的实验数据, 从而更好的把握变量间的数量关系, 以达到直到农业生产实践的目的。五、参考文献:熊卫国 . 数学实验教程M. 广东: 中山大学出版社 . 2006.1李玉莉 . MATLAB 函数速查手册M. 北京:化学工业出版社 . 20102姜启源 谢金星 叶俊 .数学模型M . 北京:高等教育出版社 . 20103