题目如上:

将其化为:

min f=-50x1-40x1

-x1-x2<=-50

大M法函数代码如下:

function [ A,b,c ] = M ( a,B,C)   %使用前提:化为min z,Aixj之和<=0/=0,xj>0
M=10000;
[m,n]=size(a);
x=eye(m);
A=[a,x];
b=B;
c=[C,ones(1,m)*M];  %生成含M子块并加入子块到A和c中
i=1;
[m,n]=size(A);
for i=1:m      %先把M消除化出单位子块c=c-M.*A(i,:);b(m+1)=b(m+1)-M*b(i);
end
while ~isempty(find(c<0))&&i<20  %消除底行所有负数,避免陷入死循环,最大循环20次
for i=1:nif c(i)<0   %找到最左边的负数xishu=zeros(m,1)+10000000;   %设置存储比值的矩阵以便找出最小值for j=1:mif A(j,i)>0xishu(j,1)=b(j,1)/A(j,i); %存储所在列的正数与该正数所在行右部行头比值endend[R,~]=find(xishu==min(xishu));  %找出比值最小值那行h=1/A(R(1),i);A(R(1),:)= A(R(1),:).*h;   %比值最小值所在行的那个数化为1b(R(1))=b(R(1))*h;    for z=1:m          %其他行的数化为0if z~=R(1)h=A(z,i);A(z,:)=A(z,:)-A(R(1),:)*h;b(z)=b(z)-b(R(1))*h;endendh=c(1,i);    %底行也化为0c(1,:)=c(1,:)-h*A(R(1),:); b(m+1)=b(m+1)-h*b(R(1));end
endi=i+1;  %循环次数加1
endend

调用:

clear
clc
A=[3,-5;0,1;8,5;-1,-1];
b=[150,20,300,-50,0]';
c=[-50,40];[A,b,c]=M(A,b,c);
A
c
b

结果如下:

显然c中M未全部在人工变量x4,x5,x6下,无解

若c中有负数,则没有边界

大M法的简单matlab程序相关推荐

  1. matlab大津法函数,matlab 大津阈值分割【相关词_ 大津法阈值分割matlab】

    阈值法 阈值分割程序 Otsu Thresholding 赞(0) 踩(0) 收藏(0) 说明:大津法实现图像阈值分割的matlab源程序代码 (Otsu Thresholding Image sou ...

  2. 自相关法基音提取的matlab程序,自相关函数法基音检测matlab程序

    自相关函数法基音检测matlab程序 AudioFilename = 'shiyan1.wav'; FrameShift = 0.012; %(s) FrameLength = 0.024; %(s) ...

  3. 非线性方程的数值解法:牛顿法及牛顿下山法(含Matlab程序)

    牛顿法及牛顿下山法 简介:牛顿迭代法是求解单变量非线性方程f(x)=0中最实用的方法,该方法在单根附近二阶收敛.但应用时要选用较好的初值x0近似才能保证迭代收敛.为克服这一缺点,可使用牛顿下山法.下面 ...

  4. matlab 牛顿法 初值,非线性方程的数值解法:牛顿法及牛顿下山法(含Matlab程序)...

    牛顿法及牛顿下山法 简介:牛顿迭代法是求解单变量非线性方程f(x)=0中最实用的方法,该方法在单根附近二阶收敛.但应用时要选用较好的初值x0近似才能保证迭代收敛.为克服这一缺点,可使用牛顿下山法.下面 ...

  5. MATLAB幂法原点平移法,幂法及其MATLAB程序.doc

    幂法及其MATLAB程序 5.2 幂法及其MATLAB程序 5.2.2 幂法的MATLAB程序 用幂法计算矩阵的主特征值和对应的特征向量的MATLAB主程序 function [k,lambda,Vk ...

  6. 大津阈值分割matlab实验,OTSU(大津法)分割源程序(MATLAB版)

    接下来介绍OTSU方法的原理: ************************************************************************************ ...

  7. matlab用进退法写程序,进退法matlab程序

    极小值点包含于区间 [ x(1) , x(3) ]或[ x(3) , x(1) ] (3)算法的 MATLAB 实现在 MATLAB 中编程实现的进退函数为: min JT 功能:用进退法求解.... ...

  8. matlab中ahp方法,AHP及matlab程序.doc

    层次分析法(AHP)及matlab程序 层次分析法是一种新的定性分析与定量分析相结合的系统分析方法,是将人的主观判断用数量形式表达和处理的方法,简称AHP(The Analytic Hierarchy ...

  9. 小程序源码:仿各大APP种树-多玩法安装简单

    这是一款仿各大APP的种树获取水果的一款微信小程序 可以对树浇水,杀虫,修剪等等 另外还有夺宝,更多小程序推荐 支持流量主模式等等 可以进行邀请好友加快树木的成长速度 小程序源码下载地址: 小程序源码 ...

最新文章

  1. mac mysql5.7 my_【mysql】Mac下安装mysql5.7 完整步骤,大坑已解决
  2. 这些MySQL配置“修改条令”,你有必要熟识默记!
  3. 学习python需要什么基础-自学python需要什么基础,要掌握哪些知识?
  4. Python爬取京东商品信息以及评论存进MySQL
  5. 百万数据报表读取:步骤分析以及自定义事件处理器
  6. ubuntu制作usb启动盘
  7. python默认参数只被解释一次_深入讲解Python函数中参数的使用及默认参数的陷阱...
  8. 一个诡异的可见性问题
  9. themyleaf 图片上传_javaEE --springboot #实现图片上传和回显 #单文件上传 #多文件上传 #ajax异步文件上传 (非常详细,从创建项目开始)...
  10. linux自动挂载usb打印机,Linux下使用Usbmount实现USB设备自动挂载
  11. java 假设当前时间_Java中与日期和时间相关的类和方法
  12. 禁止i5笔记本按Ctrl+Alt+向下键翻转屏幕
  13. Redis系列-Redis笔记(一)
  14. ios QQ下拉列表 UITableViewHeaderFooterView
  15. 树形DP·1771仓库选址
  16. Failed to decode response: zlib_decode(): data error Retrying with degraded;
  17. 论文查重时图片会不会被检测?
  18. 浅析互联网产品设计中的色彩心理学
  19. thinkphp使用phpoffice读取Excel并写入数据库
  20. 火焰焰心matlab,[转载]酒精灯火焰的温度真的是外焰最高吗?

热门文章

  1. 如何禁止某个linux用户访问某些文件夹及执行某些命令
  2. 【机器学习】欠拟合 过拟合 正则化
  3. python视频搬运_Python-自动下载抖音无水印高清视频
  4. Django2.2框架小白项目心得(一)
  5. kylin系统gcc编译报错fatal error:stadio.h: 没有那个文件或目录解决办法
  6. 使用世界银行的GDP数据进行可视化(Python,tableau,地图可视化等)
  7. JQuery实现的登陆注册页面表单
  8. python tkinter库实现华氏温度摄氏温度转换
  9. 会计学利用计算机思维,会计思维确定性
  10. 软件项目管理 7.5.项目进度模型(SPSP)