运用matlab写出单纯形法代码,不列表格的单纯形法,值得一看

今天刚好写完了作业闲的没事干所以来分享一下代码:

这次是单纯形法的matlab代码,和常见的代码不是很一样,没有选主元的过程,虽然繁琐了一些但是写起代码来还是比较容易。

A matrix b列向量 c列向量

给大家一个这种单纯形法的例题感受一下:

是不是很有意思,所以我们来看代码: 

function [x,z] = SM(A,b,c)
[m,n]=size(A);
fullA=zeros(m,m+n);  %改变这几个矩阵的样式
fullA(:,1:n)=A;
fullA(:,n+1:n+m)=eye(m);
fullc=zeros(n+m,1);
fullc(1:n)=c;
JB=[n+1:n+m];  %构建JB和JD
B=fullA(:,JB);
JD=[1:n];
D=fullA(:,JD);
xB=zeros(n+m,1);
xB(JB)=inv(B)*b;
e=fullc(JD)'-fullc(JB)'*inv(B)*D;
[emin,k]=min(e);
while emin<0    %这里开始进入循环了嗷
    jenter=JD(k);
    y=inv(B)*fullA(:,JD(k));
    Y=find(y>0);
    X=xB(

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值