MATLAB 实现sobol参数敏感性分析

 1 % sobol 参数敏感性分析
 2 %参考:
 3 % csdn : https://blog.csdn.net/xiaosebi1111/article/details/46517409
 4 % wiki: https://en.wikipedia.org/wiki/Variance-based_sensitivity_analysis
 5 %运行环境 matlab2016b
 6 %作者 blzhu@buaa.edu.cn 2020年6月7日
 7 %% 初始化
 8 clc;
 9 clear all;
10 close all;
11 %% 设定:给定参数个数和各个参数的范围
12 D=3;% 维度3,几个参数
13 M=D*2;% 
14 nPop=4;% 采样点个数,也就是参数水平数 ,取大了好,比如4000,但慢
15 VarMin=[0 0 0 ];%各个参数下限
16 VarMax=[1 1 1];%各个参数上限
17 %% 产生所需的各水平参数
18 VarMin=[VarMin,VarMin];
19 VarMax=[VarMax,VarMax];
20 p= sobolset(M);% https://www.cnblogs.com/zhubinglong/p/12260292.html
21 % R=p(1:nPop,:);% 我只用前nPop个
22 R=[];
23 for i=1:nPop
24     r=p(i,:);
25     r=VarMin+r.*(VarMax-VarMin);
26     R=[R; r];
27 end
28 % plot(R(:,1),'b*')
29 % 拆分为A B
30 A=R(:,1:D);% 每行代表一组参数,其中每列代表每组参数的一个参数;行数就代表共有几组参数
31 B=R(:,D+1:end);
32 % 根据A B 产生矩阵AB
33 AB=zeros(nPop,D,D);
  • 14
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值