资源简介
Sobol全局敏感性分析Matlab代码,输出一阶敏感度Sol_1及总敏感度Sol_t。 对简单函数来说,自己仿照构造一个目标函数Sobol_obj即可; 如果分析对象是Matlab外部的模型,其实就不需要Sobol_obj了,代码中的kp就是模型参数值,output、c_out_1和c_out_2就是kp代入模型算出来的模型输出,用实际数据替换一下就行了。 本程序参考文献:Bilal, N. (2014). Implementation of Sobol's Method of Global Sensitivity Analysis to a Compressor Simulation
代码片段和文件信息
%% Sobol主程序
%样例目标函数Sobol_obj: y=x1+ x2*x3^2,可自行更改
%若用于复杂模型,kp为全样本空间,将kp代入模型计算,根据输入和输出构造函数Sobol_obj。
clear all; close all; clc;
n_p = 3; % 待分析参数数目
PS=[]; % 参数样本空间(一)
comp_PS=[]; % 参数样本空间(二),用于Monte Carlo采样
n_base= 1000; % 参数样本数目
N = n_base*(n_p*2+1); % 模型/函数运行总次数
% 设置参数上下限,此处1 PS=[ceil((1 + 1000.*rand(n_base1))) ceil((10 + 90.*rand(n_base1))) ceil((1+ 10.*rand(n_base1)))]; % 对参数随机抽样
comp_PS=[ceil((1 + 1000.*rand(n_base1))) ceil((10 + 90.*rand(n_base1))) ceil((1 + 10.*rand(n_base1)))]; % 对参数随机抽样
output=[];
c_out_1=[];
c_out_t=[];
% 计算模型输出
t=0;
for i=1:n_base
t=t+1;
kp(t:)=PS(i:);
output(i:)=Sobol_obj(kp(t:)); %代入目标函数/模型计算
for j=1:n_p
t=t+1;
kp(t:)=[comp_PS(i1:j-1)PS(ij)comp_PS(ij+1:n_p)]; % 构造Sobol抽样
c_out_1(i:j)=Sobol_obj(kp(t:)); %代入目标函数/模型计算
t=t+1;
kp(t:) = [PS(i1:j-1)comp_PS(ij)PS(ij+1:n_p)]; %
- 上一篇:matlab中LS_SVMlab工具箱
- 下一篇:MATLAB小波三级分解图像
相关资源
- MATLAB工具包mmread函数mmread.zip
- PCA主成分分析实现方法Matlab
- MATLAB神经网络30个案例分析
- Computer Programming with MATLAB
- 基于监控视频的前景目标提取matlab
- zw_MATLAB应用精讲:图像处理与GUI设计
- MATLAB控制系统仿真与详解 夏玮
- matlab神经网络30例电子书+源代码
- Matlab图像处理-图像去噪边缘增强
- EEG脑电处理matlab工具包-eeglab
- 《卡尔曼滤波原理及应用-MATLAB仿真》
- 贝叶斯抠图算法matlab实现
- 基于BP神经网络的验证码识别matlab
- 杜勇-数字通信同步技术的MATLAB与FPG
- 数值分析及其Matlab实现
- DSP程序开发:MATLAB调试及直接目标代
- MATLAB优化算法案例分析与应用进阶篇
- DPM算法实现:voc-release5(Win7+matlab20
- 基于稀疏表示和正则化的图像超分辨
- 0积分 系统辨识与自适应控制MATLAB仿真
- 图像处理matlab道路小车跟踪
- 全面详解LTE MATLAB建模、仿真与实现
- adaboost 的matlab代码
- 《信号与系统》MATLAB教程.pdf
- 卷积神经网络完成程序matlab.zip
- matlab图像检索
- 卷积神经网络经典代码
- 现代通信系统第二版MATLAB版) 包括全
- 卡尔曼滤波 Matlab程序
- 稀疏编码matlab 教程
评论
共有 条评论