使用matlab进行灵敏性分析(附源代码)

2023-10-25 21:20

本文主要是介绍使用matlab进行灵敏性分析(附源代码),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

调用单纯形程序:
function [x,z,flg,sgma]=simplexfun(A,A1,b,c,m,n,n1,cb,xx)
% A,b are the matric in Ax=b
% c is the matrix in max z=c
x
% A1 is the matric in simplex table
% m is the numbers of row in A and n is the con number in A
% n1 is the nubers of artificial variables,and artificial variables are default as the last % n1
variables in x.
% cb is the worth coefficient matrix for basic variables
% xx is the index matrix for basic variables
% B1 is the invers matrix for the basic matrix in simplex table.The initial
% matrix is default as the last m con in the matrix A.
x=zeros(n,1);
z=0;
B1=A1(:,n-m+1:n);
sgma1=c-(cb*B1)*A;
[masg,kk]=max(sgma1);
k=kk(1);
flg=0;
ll=0;
while (masg>0)&&(ll<20)
ll=ll+1;
thita=1000+zeros(m,1);
for i=1:m
if A1(i,k)>0

个人公众号 yk 坤帝
后台回复 灵敏性分析源代码 获取整理资源

thita(i)=A1(i,k)\b(i);
end
end
[r8,c8]=find(thita>999);
if sum(c8)<m
[mith,rr]=min(thita);
r=rr(1);
aa=A1(r,k);
for i=1:m
if ir b®=b®/aa;
for j=1:n
A1(r,j)=A1(r,j)/aa ;
end
end
end
for i=1:m
if i~=r
cc=A1(i,k)
b(i)=b(i)-b®*cc;
for j=1:n
A1(i,j)=A1(i,j)-A1(r,j)cc;
end
end
end
cb®=c(k);
xx®=k;
B1=A1(:,n-m+1:n);
sgma1=c-(cb
B1)*A;
[masg,kk]=max(sgma1);
k=kk(1);
thita=100+zeros(m,1);
else
flg=3;
masg=-1;
x=‘unbound solution’;
z=‘inf’;
end
end
if flg~=3
if n1
0
sgma1=c-(cbB1)A
[rc,ccc]=find(sgma1<-0.0000000001);
if sum(rc)==n-m
flg=1;
else
flg=2;
end
x=zeros(n,1);
for i=1:m
x(xx(i))=b(i);
end z=c
x;
else
x=zeros(n,1);
for i=1:m
x(xx(i))=b(i);
end
xa=x((n-n1+1):n,:);
ra=find(xa);
if sum(ra)==0
sgma1=c-(cb
B1)A;
[rc,ccc]=find(sgma1<-0.00000001);
if sum(rc)==n-m
flg=1;
else
flg=2;
end
z=c
x;
else
flg=4;
x=‘nothing’;
z=‘nothing’;
end
end
end
sgma=sgma1;
ll;
A=[1,2,1,0,0;4 0 0 1 0;0 4 0 0 1];
A1=A;
b=[8;16;12];
c=[2 3 0 0 0];
m=3;
n=5
cb=[0 0 0];
xx=[3,4,5];
然后调用单纯行解法 simplexfun111 ;
求出值,并返回 B1,b,
然后输入: r=1,2,3 求之。

在这里插入图片描述

这篇关于使用matlab进行灵敏性分析(附源代码)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/285245

相关文章

Spring中@Lazy注解的使用技巧与实例解析

《Spring中@Lazy注解的使用技巧与实例解析》@Lazy注解在Spring框架中用于延迟Bean的初始化,优化应用启动性能,它不仅适用于@Bean和@Component,还可以用于注入点,通过将... 目录一、@Lazy注解的作用(一)延迟Bean的初始化(二)与@Autowired结合使用二、实例解

SpringBoot使用Jasypt对YML文件配置内容加密的方法(数据库密码加密)

《SpringBoot使用Jasypt对YML文件配置内容加密的方法(数据库密码加密)》本文介绍了如何在SpringBoot项目中使用Jasypt对application.yml文件中的敏感信息(如数... 目录SpringBoot使用Jasypt对YML文件配置内容进行加密(例:数据库密码加密)前言一、J

Java中有什么工具可以进行代码反编译详解

《Java中有什么工具可以进行代码反编译详解》:本文主要介绍Java中有什么工具可以进行代码反编译的相关资,料,包括JD-GUI、CFR、Procyon、Fernflower、Javap、Byte... 目录1.JD-GUI2.CFR3.Procyon Decompiler4.Fernflower5.Jav

MySQL表锁、页面锁和行锁的作用及其优缺点对比分析

《MySQL表锁、页面锁和行锁的作用及其优缺点对比分析》MySQL中的表锁、页面锁和行锁各有特点,适用于不同的场景,表锁锁定整个表,适用于批量操作和MyISAM存储引擎,页面锁锁定数据页,适用于旧版本... 目录1. 表锁(Table Lock)2. 页面锁(Page Lock)3. 行锁(Row Lock

Spring Boot 中正确地在异步线程中使用 HttpServletRequest的方法

《SpringBoot中正确地在异步线程中使用HttpServletRequest的方法》文章讨论了在SpringBoot中如何在异步线程中正确使用HttpServletRequest的问题,... 目录前言一、问题的来源:为什么异步线程中无法访问 HttpServletRequest?1. 请求上下文与线

在 Spring Boot 中使用异步线程时的 HttpServletRequest 复用问题记录

《在SpringBoot中使用异步线程时的HttpServletRequest复用问题记录》文章讨论了在SpringBoot中使用异步线程时,由于HttpServletRequest复用导致... 目录一、问题描述:异步线程操作导致请求复用时 Cookie 解析失败1. 场景背景2. 问题根源二、问题详细分

从零教你安装pytorch并在pycharm中使用

《从零教你安装pytorch并在pycharm中使用》本文详细介绍了如何使用Anaconda包管理工具创建虚拟环境,并安装CUDA加速平台和PyTorch库,同时在PyCharm中配置和使用PyTor... 目录背景介绍安装Anaconda安装CUDA安装pytorch报错解决——fbgemm.dll连接p

Vue项目的甘特图组件之dhtmlx-gantt使用教程和实现效果展示(推荐)

《Vue项目的甘特图组件之dhtmlx-gantt使用教程和实现效果展示(推荐)》文章介绍了如何使用dhtmlx-gantt组件来实现公司的甘特图需求,并提供了一个简单的Vue组件示例,文章还分享了一... 目录一、首先 npm 安装插件二、创建一个vue组件三、业务页面内 引用自定义组件:四、dhtmlx

使用Python创建一个能够筛选文件的PDF合并工具

《使用Python创建一个能够筛选文件的PDF合并工具》这篇文章主要为大家详细介绍了如何使用Python创建一个能够筛选文件的PDF合并工具,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录背景主要功能全部代码代码解析1. 初始化 wx.Frame 窗口2. 创建工具栏3. 创建布局和界面控件4

一文详解如何在Python中使用Requests库

《一文详解如何在Python中使用Requests库》:本文主要介绍如何在Python中使用Requests库的相关资料,Requests库是Python中常用的第三方库,用于简化HTTP请求的发... 目录前言1. 安装Requests库2. 发起GET请求3. 发送带有查询参数的GET请求4. 发起PO