【MATLAB第66期】#源码分享 | 基于MATLAB的PAWN全局敏感性分析模型(有条件参数和无条件参数)

【MATLAB第66期】#源码分享 | 基于MATLAB的PAWN全局敏感性分析模型(有条件参数和无条件参数)

文献参考
Pianosi, F., Wagener, T., 2015. A simple and efficient method for
global sensitivity analysis based on cumulative distribution functions.
Environ. Model. Softw. 67, 1�11. doi:10.1016/j.envsoft.2015.01.004

一、有条件参数

clear;% Ishigami-Homma function
f = @(x,p) sin(x(1)) + p.a * sin(x(2)^2) + p.b * x(3)^4 * sin(x(1));
p.a = 2; p.b = 1;
ih = @(x) f(x, p);% Bounds
lb = ones(1,3) * -pi; ub = ones(1,3) * pi;% Parameters from Figure 4's caption
n=15;
Nu = 100;
Nc = 100; % Is actually 50 in the paper% Other parameters
npts = 100; seed = 4;[KS,xvals,y_u, y_c, par_u, par_c, ft] = PAWN(f, p, lb, ub, Nu, n, Nc, npts, seed);m1 = min([y_c, y_u']);
m2 = max([y_c, y_u']);
[f,ci] = ksdensity(y_u, linspace(m1,m2,npts), 'Function', 'cdf');% Begin Plotting
subplot(331); ylabel('y'); hold on;box on;
subplot(334); ylabel('CDF'); hold on;  box on;
subplot(337); ylabel('KS'); hold on; xlabel('x_1'); box on;
subplot(338); xlabel('x_2'); hold on;box on;
subplot(339); xlabel('x_3'); hold on;box on;
for ind=1:length(lb)subplot(330+ind)plot(par_c(:,ind),y_c, 'xk', 'markersize', 2);
endcrit_c = [1.22,1.36,1.48,1.63,1.73,1.95]; % 0.1, 0.05, 0.025, 0.010, 0.005, 0.001
critval = crit_c(2) * sqrt((Nu+Nc)/(Nu*Nc));for ind=1:length(lb)subplot(333+ind)plot([-100, 100], [1, 1], 'k--'); hold onplot(ci,ft((ind-1)*n+1:ind*n,:), 'color', [0.8,0.8,0.8]); ylim([0,1]);plot(ci,f, 'r:','linewidth',4); ylim([0,1.2])hold off
endcolData = linspace(0,n,n)'/n; colData = [colData colData colData];for ind=1:length(lb)subplot(336+ind)[xtoplot, indices] = sort(xvals(ind,:));ytoplot = KS(ind, :); ytoplot = ytoplot(indices);plot([min(xvals(:)), max(xvals(:))], [critval,critval], 'k--'); hold on;plot(xtoplot, ytoplot, 'k');scatter(xtoplot, ytoplot, [],  colData, 'filled', 'markeredgecolor', 'k'); ylim([0,1])hold off
enddisp(strcat('Median of KS : ', num2str(median(KS,2)')))
disp(strcat('Max of KS : ', num2str(max(KS'))))

在这里插入图片描述

二、无条件参数

clear;%目标函数
model=@(x)x(1)^2+2*x(2)+x(3)-1;% 参数范围
lb=[0 0 0 ];%每个参数的下限向量(1xM)
ub=[10 10 10];%每个参数的上界的向量(1xM)
% 参数设置
Nu = 100;%Nu:无条件参数空间的样本数% 其他参数
npts = 100;%npts:用于核密度估计的点数
seed = 4;%seed:随机数种子[y_u,  par_u ,f,ci] = PAWN(model, lb, ub, Nu, npts, seed);
%初始化%y_u 无条件模拟的输出%par_u 样本生成%f 用核密度评估无条件样本的CDF(分布函数),表示连续型随机变量x的概率
%f返回x中样本数据的概率密度估计f。
%该估计基于正核函数,并在覆盖x中数据范围的等间距点ci处进行评估。% Begin Plotting
figure()
subplot(231); ylabel('y'); hold on;box on;
subplot(234); ylabel('CDF'); hold on;  box on;
for ind=1:length(lb)subplot(230+ind)plot(par_u(:,ind),y_u, 'xk', 'markersize', 2);xlabel(['x' num2str(ind)])
endfor ind=1:length(lb)subplot(233+ind)plot([-100, 100], [1, 1], 'k--'); hold onplot(ci,f, 'r:','linewidth',4); ylim([0,1.2])xlabel(['x' num2str(ind)])hold off
end

在这里插入图片描述

三、代码获取

后台私信“66期”获取下载链接。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/28069.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【CSS弹性盒模型 display:flex;常用参数及常见的布局】

CSS弹性盒模型 display:flex;常用参数flex-directionjustify-contentalign-itemsflex-wrapflex-flowalign-contentorderflex-growflex-shrinkflex-basis 常见的布局1. 水平居中2. 垂直居中3. 水平垂直居中4. 等分布局5. 响应式布局6. 网格布局 常见的布局封装 display:flex;常用…

zuul实现黑名单,request多次读取问题,stream close

一,背景及设计 1.需要在网关实现黑名单功能,实现拦截指定接口。黑名单用户,会加入指定黑名单列表,关联对应功能,如用户登录,用户下单,用户接单。 2.表设计 平台表:不同系统 黑名单…

Transformer架构

Transformer架构是一种重要的神经网络模型架构,最初由Vaswani等人在2017年提出,并在机器翻译任务上取得了显著的性能提升。Transformer架构在自然语言处理领域得到广泛应用,特别是在语言模型、机器翻译和文本生成等任务中。 Transformer架构…

Spring 创建 Bean 的三种方式

在使用 Spring 框架后,对象以 Bean 的形式统一交给 IOC 容器去创建和管理。现阶段主流的方式是基于 SpringBoot 框架,基于注解的方式实现 Bean 的创建,但在原生 Spring 框架中其实存在三种创建 Bean 的方式。 一、基础类 BeanProcess 实体类…

Grafana 曲线图报错“parse_exception: Encountered...”

问题现象 配置的Grafana图报错如下: 原因分析 点开报错,可以看到报错详细信息,是查询语句的语法出现了异常。 变量pool的取值为None 解决方案 需要修改变量pool的查询SQL,修改效果如下: 修改后&#x…

docker部署nginx

一、下载镜像 配置镜像加速器(见docker部署mysql的文章) docker search nginx docker pull nginx 二、创建挂载目录 mkdir -p /docker/data/nginx mkdir -p /docker/data/log mkdir -p /docker/data/html 三、查看镜像并启动容器 docker images |…

6、移除链表元素

方法1:原链表删除元素 伪代码: 首先判断头节点是否是待删除元素。(头节点和其他节点的删除方法不一样) while(head ! null && head->value target) //如果链表为 1 1 1 1 1,要删除元素1时用if就会失效 {h…

HTML5注册页面

分析 注册界面实际上是一个表格&#xff08;对齐&#xff09;&#xff0c;一行有两个单元格。 代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevic…

行业追踪,2023-08-08

自动复盘 2023-08-08 凡所有相&#xff0c;皆是虚妄。若见诸相非相&#xff0c;即见如来。 k 线图是最好的老师&#xff0c;每天持续发布板块的rps排名&#xff0c;追踪板块&#xff0c;板块来开仓&#xff0c;板块去清仓&#xff0c;丢弃自以为是的想法&#xff0c;板块去留让…

Vue2 第二十节 vue-router (四)

1.全局前置路由和后置路由 2.独享路由守卫 3.组件内路由守卫 4.路由器的两种工作模式 路由 作用&#xff1a;对路由进行权限控制 分类&#xff1a;全局守卫&#xff0c;独享守卫&#xff0c;组件内守卫 一.全局前置路由和后置路由 ① 前置路由守卫&#xff1a;每次路由…

设计模式之策略模式(Strategy)

一、概述 定义一系列的算法&#xff0c;把它们一个个封装起来,并且使它们可相互替换。本模式使得算法可独立于使用它的类而变化。 二、适用性 1.许多相关的类仅仅是行为有异。“策略”提供了一种用多个行为中的一个行为来配置一个类的方法。 2.需要使用一个算法的不同变体。…

纹理贴图和渲染

纹理贴图 纹理映射&#xff08;也就是纹理图或者叫做纹理贴图&#xff09;是一种在计算机图形学中常用的技术&#xff0c;它可以将二维的图像&#xff08;纹理&#xff09;映射到三维物体的表面上&#xff0c;以增强视觉效果。“atlas”通常是指纹理图集&#xff0c;也就是将多…

Python-OpenCV 图像的基础操作

图像的基础操作 获取图像的像素值并修改获取图像的属性信息图像的ROI区域图像通道的拆分及合并图像扩边填充图像上的算术运算图像的加法图像的混合图像的位运算 获取图像的像素值并修改 首先读入一副图像&#xff1a; import numpy as np import cv2# 1.获取并修改像素值 # 读…

如何从 Android 设备恢复已删除的文件?

从 Android 设备恢复已删除的文件很简单&#xff0c;但您需要了解内部恢复和SD 卡恢复之间的区别。 目前销售的大多数 Android 设备都配备了 SD 卡插槽&#xff08;通常为 microSD&#xff09;&#xff0c;可以轻松添加额外的存储空间。该存储空间可用于存储照片、视频、文档&a…

Web压测工具http_load原理分析

01、前言 http_load是一款测试web服务器性能的开源工具&#xff0c;从下面的网址可以下载到最新版本的http_load&#xff1a; http://www.acme.com/software/http_load/ 这个软件一直在保持着更新&#xff08;不像webbench&#xff0c;已经是十年的老古董了。 webbench的源…

SpringBoot复习:(22)ConfigurationProperties和@PropertySource配合使用及JSR303校验

一、配置类 package cn.edu.tju.config;import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.PropertySource; import org.springframework.stereotype.Component;Component ConfigurationPropertie…

HOT79-跳跃游戏 II

leetcode原题链接&#xff1a;跳跃游戏 II 题目描述 给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。 每个元素 nums[i] 表示从索引 i 向前跳转的最大长度。换句话说&#xff0c;如果你在 nums[i] 处&#xff0c;你可以跳转到任意 nums[i j] 处: 0 < j &…

zookeeper的部署

一 先下载zookeeper 二 解压包 三 修改配置文件 四 把配好文件传到其他的节点上面 五 在每个节点的dataDir指定的目录下创建一个 myid 的文件 六 配置zook的启动脚本 七 设置开机自启 八 分别启动 九查看当前状态service zookeeper status 十 总结 一 先下载zookeeper …

前端处理后端返回的数据中有\n\n字样的换行符标识

后端返回的数据&#xff1a; 上面圈着的部分就是\n&#xff0c;前端需要将数据进行换行&#xff0c;对于这类型的数据&#xff0c;在前端页面是需要进行稍微处理才能正常显示。如果没有经过处理&#xff0c;那么内容是不会在有换行符的位置进行换行显示的 解决办法1&#xff1…

UE5 半透明覆层材质

文章目录 前言介绍示例1示例2示例3 前言 本文采用虚幻5.2.1版本演示&#xff0c;介绍半透明覆层材质&#xff08;覆层材质&#xff09;。 介绍 半透明覆层材质是 UE5.1 版本 更新的功能&#xff0c;使用半透明覆层材质&#xff0c;可以轻松的给物体表面附着一层材质。 在UE5…