【MATLAB第107期】基于MATLAB的Morris局部敏感性分析模型(无目标函数)
【MATLAB第107期】基于MATLAB的Morris局部敏感性分析模型(无目标函数)
更正: 局部敏感性分析方法
一、原理介绍
1.基本原理:
Morris方法采用概率均匀抽样的方式估计每个模型输入因子在输出结果中的重要性,通过比较系统在不同输入参数值上的输出结果变化来度量每个参数的敏感性 。
该方法的原理与局部敏感性分析中的“一次变化一个因子”方法相似,通过计算所谓的基本效应(elementary effect, EE)来衡量每个参数对模型输出的全序影响。
如式(1)所示, 对初始状态进行多次反复采样, 求各次采样的基效应,
并用式(2)求其均值 μi, 衡量每个参数对模型输出的全序影响。

在具体实施过程中,Morris方法通过对每个输入变量进行随机抽样(本文使用LHC抽样,并提供多种抽样方法如sobol /halton),并在这些抽样点上加上随机扰动来分析输入变量对输出的影响。计算每个输入变量的平均值和标准差,然后计算变量在不同取值下的输出变化率。通过比较各个变量的输出变化率来确定其对输出的敏感性。
Morris方法将每个输入变量分为几个等级,通过随机选取初始值、加上随机扰动得到新值、计算新值对应的输出值及其变化量,重复这一过程以获得一定数量的变化量,再计算这些变化量的平均值和标准差。最终,根据变量的平均变化量和标准差来计算变量的元素敏感度和总体敏感度,从而确定不同输入变量的相对重要性。
2.算法步骤:
进行参数采样,通常采用拉丁超立方抽样方法以保证参数的均匀分布 。
对每个候选参数向量进行扰动计算,即改变其中一个参数的值按照一定的步长。
计算扰动后的输出值,并使用所谓的“元距离”(Elementary Effect)来度量输出结果的变化 。
重复计算以提高结果的准确性,多次重复上述步骤以获取一组灵敏度度量值 。
灵敏度度量:Morris方法通过计算每个参数的平均元距离和标准差来评估参数的敏感性,这些度量值反映了参数变化对输出结果的影响程度 。
二、morris方法与sobol方法对比
Morris方法和Sobol方法都是全局敏感性分析的常用技术,它们各自有不同的特点和应用场景:
Morris方法:上文已介绍
Sobol方法:Sobol方法基于方差分解,通过计算每个参数或参数组合对输出方差的份额来确定其对输出的敏感性。这种方法可以识别参数之间的相互作用,并量化它们对输出总方差的贡献。Sobol方法通常采用蒙特卡洛随机采样法生成样本 。
两种方法的主要差异包括:
抽样方法:Morris方法通常使用分层抽样,如拉丁超立方抽样,而Sobol方法则多采用随机采样。
计算成本:Morris方法通常计算成本较低,适合初步筛选重要的输入参数,而Sobol方法计算成本较高,但可以提供更全面和深入的敏感性分析。
结果解释:Morris方法的结果较容易解释,通常使用均值和标准差来表示参数的敏感性;Sobol方法则提供了一阶和总效应指数,可以区分参数的独立影响和相互作用。
适用性:Morris方法适用于模型输入参数数量较多的情况,而Sobol方法适用于需要深入理解参数影响和参数间相互作用的情况。
三、无目标函数实现思路
借鉴往期文章, 如用BP神经网络对输入与输出数据进行非线性函数拟合,通过LHC函数抽样参数,调用BP训练模型进行计算。
nfac = 7; % 输入参数数量
npoint = 1000; % 每个参数的采样点数
VarMin=[137 0 0 160 4.4 708 650];%各个参数下限
VarMax=[374 193 260 240 19 1049.90 902];%各个参数上限
四、代码展示

clear all
% 调用Morris敏感性分析函数
nfac = 7; % 输入参数数量
npoint = 1000; % 每个参数的采样点数
VarMin=[137 0 0 160 4.4 708 650];%各个参数下限
VarMax=[374 193 260 240 19 1049.90 902];%各个参数上限
[mu, order] = morris(@fun, VarMin, VarMax,nfac, npoint); % 输出结果
result=[ order' mu'];
result_final=sortrows(result,1)
% 输出结果
disp('敏感度指数(降序排列):');
disp(mu);
disp('参数顺序(按敏感度):');
disp(order);
figure()bar(result_final(:,2));xlabel('输入变量')ylabel('评价指标')title('morris全局敏感性分析(无目标函数)')
function [mu, order] = morris(model_function,VarMin, VarMax,nfac, npoint) % 1.设置参数变化量 % 2.初始化输出矩阵 % 3.LHC生成随机采样点 % 4.计算基础输出 % 5.计算每个参数的基本效应 % 5.1正向变化 % 5.2负向变化 % 6.计算敏感度指数
五、代码获取
1.阅读首页置顶文章
2.关注CSDN
3.根据自动回复消息,回复“107期”以及相应指令,即可获取对应下载方式。
相关文章:
【MATLAB第107期】基于MATLAB的Morris局部敏感性分析模型(无目标函数)
【MATLAB第107期】基于MATLAB的Morris局部敏感性分析模型(无目标函数) 更正: 局部敏感性分析方法 一、原理介绍 1.基本原理: Morris方法采用概率均匀抽样的方式估计每个模型输入因子在输出结果中的重要性,通过比较系…...
Tomcat搭建JSPServlet
一、Tomcat环境搭建 1. 将项目变为Web项目 选中项目,点击Help中的Find Action 搜索Add Framework Support 勾选Web Application 出现这些文件就是成功了 2. 配置Tomcat 点击Edit Configurations 点击加号,选择Tomcat Server Local Deployment栏下点击…...
32位定点数和32/64位浮点数的二进制生成方法
问题由来 定点数和浮点数在嵌入式软件处理和FPGA算法方面使用比较普遍,但是遇到FPGA实现32位定点数的处理,想要仿真时,突然发现全网都在讲浮点数和定点数的格式和理论,几乎没有生成的快捷方法,好在一片文章出现了一点…...
STM32利用arm-dsp库进行FIR低通滤波【详细】
arm-dsp库官方已经封装好了,使用的时候需要把dsp库移植到工程里面,具体怎么移植网上可以找到教程 这里直接说怎么用FIR的流程: 一、Matlab里面生成所配置的阶数和系数 1、在Matlab命令窗口输入fdatool,回车,会弹出一个新窗口 2…...
Efficient-KAN 源码详解
Efficient-KAN源码链接 Efficient-KAN (GitHub) 改进细节 1.内存效率提升 KAN网络的原始实现的性能问题主要在于它需要扩展所有中间变量以执行不同的激活函数。对于具有in_features个输入和out_features个输出的层,原始实现需要将输入扩展为shape为(batch_size, out_featur…...
Jlink commander使用方法(附指令大全)
Jlinkcmd它可以方便用户在非仿真的情况下,hold内核、单步、全速、设置断点、查看内核和外设寄存器、读取flash代码等等,方便大家拥有最高的权限查看在运行中的MCU情况,查找非IDE仿真情况下,MCU运行异常的原因。 目录 驱动安装 …...
Java SpringBoot实现PDF转图片
不是单页图片,是多页PDF转成一张图片的逻辑。 我这里的场景是PDF转成图片之后返回给前端,前端再在图片上实现签字,并且可拖拽的逻辑,就是签订合同的场景。 但是这里只写后端多页PDF转图片的逻辑。 先说逻辑,后面直接…...
elasticsearch SQL:在Elasticsearch中启用和使用SQL功能
❃博主首页 : 「码到三十五」 ,同名公众号 :「码到三十五」,wx号 : 「liwu0213」 ☠博主专栏 : <mysql高手> <elasticsearch高手> <源码解读> <java核心> <面试攻关> ♝博主的话 :…...
Java 并发编程:线程变量 ThreadLocal
大家好,我是栗筝i,这篇文章是我的 “栗筝i 的 Java 技术栈” 专栏的第 029 篇文章,在 “栗筝i 的 Java 技术栈” 这个专栏中我会持续为大家更新 Java 技术相关全套技术栈内容。专栏的主要目标是已经有一定 Java 开发经验,并希望进…...
【OpenHarmony4.1 之 U-Boot 2024.07源码深度解析】018 - init_sequence_f 各函数源码分析(二)
【OpenHarmony4.1 之 U-Boot 2024.07源码深度解析】018 - init_sequence_f 各函数源码分析(二) 一、arch_cpu_init二、arch_cpu_init系列文章汇总:《【OpenHarmony4.1 之 U-Boot 源码深度解析】000 - 文章链接汇总》 本文链接:《【OpenHarmony4.1 之 U-Boot 2024.07源码深度…...
LVS原理——详细介绍
目录 介绍 lvs简介 LVS作用 LVS 的优势与不足 LVS概念与相关术语 LVS的3种工作模式 LVS调度算法 LVS-dr模式 LVS-tun模式 ipvsadm工具使用 实验 nat模式集群部署 实验环境 webserver1配置 webserver2配置 lvs配置 dr模式集群部署 实验环境 router 效果呈现…...
MYSQL 5.7.36 等保 建设记录
文章目录 前言一、开启审计日志1.1 查看当前状态1.2 开启方式1.3 查看开启后状态 二、密码有效期2.1 查看当前状态2.2 开启方式2.3 查看开启后状态 三、密码复杂度3.1 查看当前状态3.2 开启方式3.3 查看开启后状态 四、连接控制4.1 查看当前状态4.2 开启方式4.3 查看开启后状态…...
fatal: unable to access ‘https://github.com/xxxxx
ubuntu中git克隆项目异常 git clone https://github.com/xxx Cloning into ‘xxx’… fatal: unable to access ‘https://github.com/xxx/xx.git/’: Could not resolve host: github.com 解决办法使用命令: git config --global http.proxy git config --global…...
从零开始的CPP(38)——递归与动态规划
leetcode46 给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。 示例 1: 输入:nums [1,2,3] 输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]示例 2: 输入&#…...
从战略到系统架构:信息系统设计的全面解析
在当今数字化时代,信息系统已成为企业运营、管理和创新的核心驱动力。信息系统设计的重要性不仅关乎企业的技术实现,更直接影响到企业的战略执行和市场竞争能力。本文将从战略视角出发,深入探讨信息系统设计的全过程,包括从战略制…...
GEE调用中国(China Land Cover Dataset,简称CLCD)1990-2022年30米分辨率的土地分类数据
博客推荐 GEE土地分类:中国30米年度土地覆盖产品annual China Land Cover Dataset, CLCD(面积提取)_30米土地利用数据gee-CSDN博客 简介 中国陆地覆盖数据集(China Land Cover Dataset,简称CLCD)是一个用…...
三十八、大数据技术之Kafka(1)
🌻🌻 目录 一、Kafka 概述1.1 定义1.2 消息队列1.2.1 消息队列内部实现原理1.2.2 传统消息队列的应用场景1.2.3 消息队列的两种模式 1.3 Kafka 基础架构 二、 Kafka 快速入门2.1 安装前的准备2.2 安装部署2.2.1 集群规划2.2.2 单节点或集群部署2.2.3 集群…...
将 Tcpdump 输出内容重定向到 Wireshark
在 Linux 系统中使用 Tcpdump 抓包后分析数据包不是很方便。 通常 Wireshark 比 tcpdump 更容易分析应用层协议。 一般的做法是在远程主机上先使用 tcpdump 抓取数据并写入文件,然后再将文件拷贝到本地工作站上用 Wireshark 分析。 还有一种更高效的方法…...
【Python蓝屏程序(管理员)】
说明:该程序为临摹(😀)作品,源地址C蓝屏程序(非管理员) 我试图使用Python调用 NtRaiseHardError API ,实现类似的蓝屏效果。可惜我发现Python在普通权限下,直接调用 NtRaiseHardError API 是不被允许的,因为…...
OpenGL ES->GLSurfaceView绘制图形的流程
自定义View代码 class MyGLSurfaceView(context: Context, attrs: AttributeSet) : GLSurfaceView(context, attrs), GLSurfaceView.Renderer {var mProgrem 0init {// 设置 OpenGL ES 3.0 版本setEGLContextClientVersion(3)// 设置当前类为渲染器, 注册回调接口的实现类set…...
IPFS去中心化存储实战指南:黑马程序员音乐播放器项目开发完整教程
IPFS去中心化存储实战指南:黑马程序员音乐播放器项目开发完整教程 【免费下载链接】BlockChain 黑马程序员 120天全栈区块链开发 开源教程 项目地址: https://gitcode.com/gh_mirrors/blockchain95/BlockChain 你是否想过如何构建一个真正去中心化的音乐播放…...
AMLP框架实战:基于MACE构建高精度机器学习势函数
1. 项目概述:当机器学习势函数遇上自动化管道在计算化学和材料科学领域,我们长久以来面临着一个核心矛盾:精度与效率的权衡。密度泛函理论(DFT)能提供接近实验的精度,但计算成本高昂,通常只能处…...
HFSS仿真结果怎么看?以T型波导为例,读懂S参数与电场动态图
HFSS仿真结果深度解析:从S参数到电场动态图的实战指南当你第一次在HFSS中完成T型波导仿真后,面对满屏的曲线和彩色云图,是否感到既兴奋又困惑?那些起伏的S参数曲线究竟告诉你什么信息?电场图中跳跃的颜色又代表怎样的物…...
BetterJoy完整配置指南:5分钟让Switch手柄在PC上完美运行
BetterJoy完整配置指南:5分钟让Switch手柄在PC上完美运行 【免费下载链接】BetterJoy Allows the Nintendo Switch Pro Controller, Joycons and SNES controller to be used with CEMU, Citra, Dolphin, Yuzu and as generic XInput 项目地址: https://gitcode.c…...
自制BLE112串口编程器:基于Bootloader的免调试器烧录方案
1. 项目概述:为BLE112模块打造一款免调试器的RS232编程器在嵌入式开发,特别是早期的蓝牙低功耗(BLE)模块应用中,我们常常会遇到一个棘手的问题:官方开发工具链的依赖和限制。以Silicon Labs(当时…...
别再只测accuracy!DeepSeek集成测试必须监控的5个隐性指标(P99首token延迟、context bleed率、tool-call schema漂移)
更多请点击: https://intelliparadigm.com 第一章:DeepSeek集成测试的核心范式演进 DeepSeek大模型的工程化落地对集成测试提出了全新挑战:传统基于接口响应码与字段校验的测试范式已难以覆盖语义一致性、推理链鲁棒性、上下文敏感度等高阶质…...
基于MaixCam的延时摄影系统:从硬件选型到Python编程全解析
1. 项目概述:用MaixCam打造你的专属延时摄影工坊延时摄影,这个听起来有点专业、甚至带点“魔法”色彩的词,其实离我们并不遥远。想想看,把一朵花从含苞到绽放的几天时间,压缩成十几秒的惊艳绽放;或者把一座…...
phpMyAdmin CVE-2018-12613:从文件读取到RCE的伪协议利用链
1. 这个漏洞不是“能读文件”那么简单,而是后台权限的彻底失守phpMyAdmin 4.8.1里那个CVE-2018-12613,很多人扫到就报个“存在文件包含”,顺手贴个?targetphp://filter/convert.base64-encode/resource/etc/passwd截图完事。我去年在给一家教…...
基于SMD与贝壳的微型音频装置:从电路设计到嵌入式开发的完整实践
1. 项目概述:一个藏在贝壳里的声音世界你小时候有没有捡起一个海螺壳,把它贴在耳边,然后听到里面传来“呜呜”的海风声?那个瞬间,仿佛整个海洋都被装进了小小的贝壳里。今天这个项目,就是把那个童年的魔法&…...
通过Taotoken实现Hermes Agent自定义模型供应商接入
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 通过Taotoken实现Hermes Agent自定义模型供应商接入 Hermes Agent是一个流行的AI智能体开发框架,它支持通过配置自定义…...
