- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验二用Mathematica实现单纯形法.doc
实验二 用Mathematica实现单纯形法
一、实验目的
(1)学习并学会使用Mathematica软件。
(2)掌握单纯形法的计算机实现的方法。
二、实验原理
算法的具体步骤如下:书30页
Matnmatica中基本语法的补充:
LinnearProgramming[c,m,b],其中c是行向量,b是列向量,m是矩阵,自变量用列向量x表示,在满足mx=b且x=0的区域,求cx的最小值点。
需要注意的几点是=号,以及目标函数求最小值。
举例说明:
分析与求解:
第三个式子可以改造成两个
和
最后得到用于编写程序的表示形式为
输入c={1,-2,-3};
b={-6,12,20,-20};
A={{-1,-1,-1},{1,-2,4},{3,2,4},{-3,-2,-4}};
LinearProgramming[c,A,b]
得到最优解x={0,2,4} f=-16
通用表的生成函数Table.
表是存储多个数、变量或算式等对象的一种数据结构一个表用一对花括号表示,它的成员在括号内用逗号隔开,同一个表的成员可以有不同的据类型,表的成员还可以是一个表(子表)。t[[n]]”来提取表t中的第n个元素。Mathematica中常用的建表函数是“Table”,其调用格式如下:
Table[f,{i,imin,imax,stepi},{j,jmin,jmax,stepj}]
表的通项为f(f是变量i和j的函数),min,max,step规定了初值、终值、步长,min和step的默认值为1。},{y,3}]
则输出 {{1,2,3},{2,4,6},{3,6,9}}
(三) 表作为向量和矩阵
一层表在线性代数中表示向量, 二层表表示矩阵. 例如,矩阵
可以用数表{{2,3},{4,5}}表示.
输入A={{2,3},{4,5}}
则输出{{2,3},{4,5}}
命令MatrixForm[A]把矩阵A显示成通常的矩阵形式. 例如,输入命令:
MatrixForm[A]
则输出
注:一般情况下,MatrixForm[A]所代表的矩阵A不能参与运算.
(四)求矩阵A的转置的命令:Transpose[A].
(五)求方阵A的逆的命令:Inverse[A]
(六)()圆括号表示项的结合顺序,如(x+(y^x+1/(2x)));[]方括号表示函数,如Log[x],BesselJ[x,1];{}大括号表示一个“表”(),如{2x,Sin[12 Pi],{1+A,y*x}};[[]]双方括号表示“表”或“表达式”的下标,如a[[2,3]]、{1,2,3}[[1]]=1。
(七)每次运行完成后程序会自动在输入的式子前面加上In[n],n表示输入命令的序列号,在输出的答案上自动加上out[n]。
三、单纯形法解题
编写程序如下
A={{8,4,5,3,2,1,0,0,0,0},
{4,5,7,6,3,0,1,0,0,0},
{3,10,9,5,9,0,0,1,0,0},
{6,9,5,8,9,0,0,0,1,0},
{8,4,5,3,2,0,0,0,0,1}};
c={70,120,100,100,150,0,0,0,0,0};
b={360,200,300,150,100};
a2=Length[b];
a3=Dimensions[A][[2]];
b1=Table[i+a3-a2,{i,a2}];
b2=Table[i,{i,a3-a2}];
b3=Table[i,{i,a3}];
x=Table[0,{i,a3}];
b4=Table[0,{i,a2}];
c1=c[[b2]]-c[[b1]].Inverse[Transpose[Transpose[A][[b1]]]].Transpose[Transpose[A][[b2]]];
Label[100];
For[i=1,i≤Length[b2],i=i+1,{
c1=c[[b2]]-c[[b1]].Inverse[Transpose[Transpose[A][[b1]]]].Transpose[Transpose[A][[b2]]];
If[c1[[i]] ≤0,{Goto[endif]},{
For[j=1,j≤a2,j=j+1,{
If[(Inverse[Transpose[Transpose[A][[b1]]]].Transpose[A][[b2[[i]]]])[[j]] ≤0,{b4[[j]]=∞},
{b4[[j]]=((Inverse[Transpose[Transpose[A][[b1]]]].b)[[j]]) ((Inverse[Transpose[Transpos
您可能关注的文档
- 姚明退役引发的几点思考.doc
- 婚礼照丢失引发精神赔偿.doc
- 媒介伦理学.ppt
- 媒体宣传对企业招商的作用.ppt
- 孔子教育思想的现代诠释.doc
- 孔子的教育思想总结.ppt
- 孔子的教育思想精髓.ppt
- 孔屏--解读儿童课件.ppt
- 孕妇生产时要准备(完整版).doc
- 存在、此在与生存:海德格尔的基础存在论.doc
- 河南省洛阳市第二十二中学2021-2022学年高二物理期末试题含解析.docx
- 沪科版九年级下册数学期末测试卷.docx
- 广东新中考英语“回答问题”专项综合训练(文末附答案).docx
- 山西省忻州市偏关县2022-2023学年六年级数学第一学期期末教学质量检测试题含解析.doc
- 外研版三年级英语下册期末《情景交际(二)》专项试卷附答案.doc
- 执业药师药学专业知识一(药效学)模拟试卷11(题后含答案及解析).doc
- 小学数学西师大版第六册第五单元-小数的初步认识小数的认识和读写-章节测试习题(2).doc
- 水溶液中的离子平衡补充习题.doc
- 数据结构课后习题答案.doc
- 执业兽医资格考试(预防科目)模拟试卷2(题后含答案及解析).doc
文档评论(0)