- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2017年数学建模学习
数模学习总结
前言:我参加过数模比赛共3次,对建模过程和写作过程比较了解,所以我在这段时间学的偏重于MATLAB编程。
7月7日:
今天学习的是数据拟合方法。数据拟合主要是计算出反映数据的基本趋势。判断拟合程度好与不好的标准有偏差的绝对值之和最小、使偏差的最大绝对值最小和使偏差的平方和最小(即最小二乘法),平时我们用得最多是最后一种方法。
拟合有多项式拟合、指定函数拟合等。实现方法是曲线拟合工具箱。依次单击Start,Toolboxes,Curve Fitting,Curve Fitting Tool(cftool)即可使用曲线拟合工具线。
我根据以下表格进行拟合:
x 1 2 3 4 5 6 7 8 9 y 9 7 6 3 -1 2 5 7 20 代码为:
X=[1 2 3 4 5 6 7 8 9];
Y=[9 7 6 3 -1 2 5 7 20];P=polyfit(x,y,3);xi=0:.2:10;yi=polyval(P,xi);plot(xi,yi,x,y,’r*’);
我分别进行了线性、二阶、三阶对数据进行了多项式拟合,发现三阶的多项式拟合效果最好。
7月8日:
今天学习的数据拟合实践应用。如人口预测模型。实际上人口随时间的变化呈非线性变化,而且存在一个与横坐标轴平行的渐近线,所以用在人口预测模型是Logistic曲线模型。其形式为:。
另外,数据还可以进行可视化处理,使模型生动形象呈现出来。一般会用到Matlab的meshgrid函数进行实现。
7月9日:
今天学习数学建模当中一个较为重要的模型——线性规划模型,最主要的是其代码格式:
其代码为:
c=[2;3;1];a=[1,4,2;3,2,0];b=[8;6];[x,y]=linprog(c,-a,-b,[],[],zeros(3,1))
结果如下:
x =
0.8066
1.7900
0.0166
y =
7.0000
7月10日:
今天学习非线性规划。一般说来,解非线性规划要比解线性规划问题困难得多,而且非线性规划也不像线性规划那样有单纯形法这一通用方法。非线性规划目前还没有适于各种问题的一般算法,各种方法都有自己特定的适用范围。步骤大致分为:1.编写M文件,定义目标函数;2.编写M文件,定义约束条件;3.编写主程序(既可编写M文件,又可以在Command Window直接输入命令)
7月11日:
今天学习整数规划。规划仲的变量(部分或全部)限制为整数时,称为整数规划。若在线性规划模型中,变量限制为整数,则称为整数线性规划。目前所流行的求解整数规划的方法,往往只适用于于整数线性规划。常见的整数规划问题的求解算法有一下几种:
分枝定界法:可求纯或混合整数线性规划。
割平面法:可求纯或混合整数线性规划。
隐枚举法:用于求解0-1整数规划,有过滤隐枚举法和分枝隐枚举法。
匈牙利法:解决指派问题(0-1规划特殊情形)。
蒙特卡罗法:求解各种类型规划。
7月12日:
今天继续深入学习整数规划——0-1整数规划。0-1整数规划是整数规划中的特殊情形,它的变量仅取值0或1,这是称为0-1变量,或称二进制变量。仅取值0或1,这个条件可由下述约束条件表示:01,或。在实际问题中,如果引入0-1变量,就可以把有各种情况需要区别讨论的线性规划问题统一在一个问题中讨论了。
7月13日:
今天根据以下方程组编写出如下代码:
首先编写M文件mengte.m,定义吗,目标函数f和约束向量函数g,程序如下:
Function[f,g]=mengte(x);
f=x(1)^x+x(2)^2+3*x(3)^2+4*x(4)^2+2*x(5)*2-8*x(1)-2*x(2)-3*x(3)-x(4)-2*x(5);
g(1)=sum(x)-400;
g(2)=x(1)+2*x(2)+2*x(3)+x(4)+6*x(5)-800
g(3)=2*x(1)+x(2)+6*x(3)-200;
g(4)=x(3)+x(4)+5*x(5)-200;
rand(state,sum(clock));
p0=0;
tic
for i=1:10^5
x1=floor(x);x2=ceil(x);
[f,g]=mengte(x1);
if sum(g0=)==4
if p0=f
x0=x1;p0=f;
end
end
[f,g]=mengte(x2);
if sum(g=0)==4
if p0=f
x0=x2;p0=f;
end
end
end
x0,p0
Toc
运行程序结果如下:
ans=
44 94
文档评论(0)