📄 bp.m
字号:
clear
echo on
clc
%BP建模,网络仿真求安全系数,进行可靠度分析
%原始数据归一化 c,phi,fos
m_data=[
20.000 7.200 0.850 ;
20.000 7.641 0.867 ;
20.000 8.082 0.885 ;
20.000 8.522 0.902 ;
20.000 8.963 0.920 ;
20.000 9.404 0.937 ;
20.000 9.845 0.955 ;
20.000 10.286 0.971 ;
20.000 10.727 0.988 ;
20.000 11.167 1.006 ;
20.000 11.608 1.023 ;
20.000 12.049 1.041 ;
20.000 12.490 1.058 ;
20.000 12.931 1.070 ;
20.000 13.371 1.088 ;
20.000 13.812 1.106 ;
20.000 14.253 1.123 ;
20.000 14.694 1.141 ;
20.000 15.135 1.158 ;
20.000 15.576 1.176 ;
20.000 16.016 1.194 ;
20.000 16.457 1.206 ;
20.000 16.898 1.224 ;
20.000 17.339 1.241 ;
20.000 17.780 1.259 ;
20.000 18.000 1.262 ;
20.000 18.220 1.276 ;
20.000 18.661 1.294 ;
20.000 19.102 1.312 ;
20.000 19.543 1.329 ;
20.000 19.984 1.342 ;
20.000 20.425 1.360 ;
20.000 20.865 1.378 ;
20.000 21.306 1.395 ;
20.000 21.747 1.413 ;
20.000 22.188 1.431 ;
20.000 22.629 1.448 ;
20.000 23.069 1.460 ;
20.000 23.510 1.478 ;
20.000 23.951 1.496 ;
20.000 24.392 1.513 ;
20.000 24.833 1.531 ;
20.000 25.274 1.549 ;
20.000 25.714 1.566 ;
20.000 26.155 1.584 ;
20.000 26.596 1.597 ;
20.000 27.037 1.615 ;
20.000 27.478 1.633 ;
20.000 27.918 1.650 ;
20.000 28.359 1.668 ;
20.000 28.800 1.686 ;
19.000 7.200 0.818 ;
19.000 7.641 0.836 ;
19.000 8.082 0.853 ;
19.000 8.522 0.870 ;
19.000 8.963 0.888 ;
19.000 9.404 0.906 ;
19.000 9.845 0.923 ;
19.000 10.286 0.941 ;
19.000 10.727 0.957 ;
19.000 11.167 0.974 ;
19.000 11.608 0.992 ;
19.000 12.049 1.009 ;
19.000 12.490 1.027 ;
19.000 12.931 1.040 ;
19.000 13.371 1.058 ;
19.000 13.812 1.075 ;
19.000 14.253 1.093 ;
19.000 14.694 1.110 ;
19.000 15.135 1.128 ;
19.000 15.576 1.140 ;
19.000 16.016 1.158 ;
19.000 16.457 1.176 ;
19.000 16.898 1.194 ;
19.000 17.339 1.211 ;
19.000 17.780 1.229 ;
19.000 18.000 1.231 ;
19.000 18.220 1.246 ;
19.000 18.661 1.264 ;
19.000 19.102 1.282 ;
19.000 19.543 1.294 ;
19.000 19.984 1.312 ;
19.000 20.425 1.330 ;
19.000 20.865 1.347 ;
19.000 21.306 1.365 ;
19.000 21.747 1.383 ;
19.000 22.188 1.401 ;
19.000 22.629 1.412 ;
19.000 23.069 1.431 ;
19.000 23.510 1.448 ;
19.000 23.951 1.466 ;
19.000 24.392 1.483 ;
19.000 24.833 1.501 ;
19.000 25.274 1.519 ;
19.000 25.714 1.536 ;
19.000 26.155 1.549 ;
19.000 26.596 1.567 ;
19.000 27.037 1.585 ;
19.000 27.478 1.603 ;
19.000 27.918 1.620 ;
19.000 28.359 1.638 ;
19.000 28.800 1.656 ;
18.000 7.200 0.787 ;
18.000 7.641 0.805 ;
18.000 8.082 0.822 ;
18.000 8.522 0.840 ;
18.000 8.963 0.857 ;
18.000 9.404 0.875 ;
18.000 9.845 0.892 ;
18.000 10.286 0.909 ;
18.000 10.727 0.926 ;
18.000 11.167 0.944 ;
18.000 11.608 0.961 ;
18.000 12.049 0.979 ;
18.000 12.490 0.997 ;
18.000 12.931 1.009 ;
18.000 13.371 1.027 ;
18.000 13.812 1.045 ;
18.000 14.253 1.062 ;
18.000 14.694 1.080 ;
18.000 15.135 1.097 ;
18.000 15.576 1.110 ;
18.000 16.016 1.128 ;
18.000 16.457 1.146 ;
18.000 16.898 1.163 ;
18.000 17.339 1.181 ;
18.000 17.780 1.198 ;
18.000 18.000 1.203 ;
18.000 18.220 1.216 ;
18.000 18.661 1.234 ;
18.000 19.102 1.247 ;
18.000 19.543 1.264 ;
18.000 19.984 1.282 ;
18.000 20.425 1.300 ;
18.000 20.865 1.318 ;
18.000 21.306 1.335 ;
18.000 21.747 1.353 ;
18.000 22.188 1.365 ;
18.000 22.629 1.383 ;
18.000 23.069 1.401 ;
18.000 23.510 1.418 ;
18.000 23.951 1.436 ;
18.000 24.392 1.454 ;
18.000 24.833 1.471 ;
18.000 25.274 1.489 ;
18.000 25.714 1.502 ;
18.000 26.155 1.520 ;
18.000 26.596 1.538 ;
18.000 27.037 1.555 ;
18.000 27.478 1.573 ;
18.000 27.918 1.591 ;
18.000 28.359 1.609 ;
18.000 28.800 1.621 ;
21.000 7.200 0.884 ;
21.000 7.641 0.902 ;
21.000 8.082 0.919 ;
21.000 8.522 0.937 ;
21.000 8.963 0.954 ;
21.000 9.404 0.972 ;
21.000 9.845 0.989 ;
21.000 10.286 1.005 ;
21.000 10.727 1.018 ;
21.000 11.167 1.036 ;
21.000 11.608 1.053 ;
21.000 12.049 1.070 ;
21.000 12.490 1.088 ;
21.000 12.931 1.105 ;
21.000 13.371 1.123 ;
21.000 13.812 1.136 ;
21.000 14.253 1.153 ;
21.000 14.694 1.171 ;
21.000 15.135 1.188 ;
21.000 15.576 1.206 ;
21.000 16.016 1.224 ;
21.000 16.457 1.241 ;
21.000 16.898 1.259 ;
21.000 17.339 1.271 ;
21.000 17.780 1.289 ;
21.000 18.000 1.294 ;
21.000 18.220 1.307 ;
21.000 18.661 1.324 ;
21.000 19.102 1.342 ;
21.000 19.543 1.360 ;
21.000 19.984 1.377 ;
21.000 20.425 1.390 ;
21.000 20.865 1.408 ;
21.000 21.306 1.425 ;
21.000 21.747 1.443 ;
21.000 22.188 1.461 ;
21.000 22.629 1.478 ;
21.000 23.069 1.496 ;
21.000 23.510 1.508 ;
21.000 23.951 1.526 ;
21.000 24.392 1.544 ;
21.000 24.833 1.562 ;
21.000 25.274 1.579 ;
21.000 25.714 1.597 ;
21.000 26.155 1.615 ;
21.000 26.596 1.632 ;
21.000 27.037 1.645 ;
21.000 27.478 1.663 ;
21.000 27.918 1.681 ;
21.000 28.359 1.698 ;
21.000 28.800 1.716 ;
22.000 7.200 0.917 ;
22.000 7.641 0.934 ;
22.000 8.082 0.952 ;
22.000 8.522 0.969 ;
22.000 8.963 0.987 ;
22.000 9.404 1.004 ;
22.000 9.845 1.017 ;
22.000 10.286 1.034 ;
22.000 10.727 1.050 ;
22.000 11.167 1.068 ;
22.000 11.608 1.085 ;
22.000 12.049 1.102 ;
22.000 12.490 1.120 ;
22.000 12.931 1.137 ;
22.000 13.371 1.155 ;
22.000 13.812 1.172 ;
22.000 14.253 1.185 ;
22.000 14.694 1.203 ;
22.000 15.135 1.220 ;
22.000 15.576 1.238 ;
22.000 16.016 1.255 ;
22.000 16.457 1.273 ;
22.000 16.898 1.290 ;
22.000 17.339 1.303 ;
22.000 17.780 1.321 ;
22.000 18.000 1.325 ;
22.000 18.220 1.338 ;
22.000 18.661 1.356 ;
22.000 19.102 1.374 ;
22.000 19.543 1.391 ;
22.000 19.984 1.409 ;
22.000 20.425 1.421 ;
22.000 20.865 1.439 ;
22.000 21.306 1.457 ;
22.000 21.747 1.475 ;
22.000 22.188 1.492 ;
22.000 22.629 1.510 ;
22.000 23.069 1.528 ;
22.000 23.510 1.540 ;
22.000 23.951 1.558 ;
22.000 24.392 1.575 ;
22.000 24.833 1.593 ;
22.000 25.274 1.611 ;
22.000 25.714 1.628 ;
22.000 26.155 1.646 ;
22.000 26.596 1.664 ;
22.000 27.037 1.676 ;
22.000 27.478 1.694 ;
22.000 27.918 1.712 ;
22.000 28.359 1.730 ;
22.000 28.800 1.747 ;
25.000 7.200 1.014 ;
25.000 7.641 1.032 ;
25.000 8.082 1.049 ;
25.000 8.522 1.067 ;
25.000 8.963 1.084 ;
25.000 9.404 1.102 ;
25.000 9.845 1.119 ;
25.000 10.286 1.135 ;
25.000 10.727 1.152 ;
25.000 11.167 1.170 ;
25.000 11.608 1.183 ;
25.000 12.049 1.200 ;
25.000 12.490 1.217 ;
25.000 12.931 1.235 ;
25.000 13.371 1.253 ;
25.000 13.812 1.270 ;
25.000 14.253 1.288 ;
25.000 14.694 1.300 ;
25.000 15.135 1.318 ;
25.000 15.576 1.335 ;
25.000 16.016 1.353 ;
25.000 16.457 1.370 ;
25.000 16.898 1.388 ;
25.000 17.339 1.405 ;
25.000 17.780 1.418 ;
25.000 18.000 1.427 ;
25.000 18.220 1.436 ;
25.000 18.661 1.453 ;
25.000 19.102 1.471 ;
25.000 19.543 1.488 ;
25.000 19.984 1.506 ;
25.000 20.425 1.524 ;
25.000 20.865 1.536 ;
25.000 21.306 1.554 ;
25.000 21.747 1.572 ;
25.000 22.188 1.590 ;
25.000 22.629 1.607 ;
25.000 23.069 1.625 ;
25.000 23.510 1.643 ;
25.000 23.951 1.655 ;
25.000 24.392 1.673 ;
25.000 24.833 1.690 ;
25.000 25.274 1.708 ;
25.000 25.714 1.725 ;
25.000 26.155 1.743 ;
25.000 26.596 1.761 ;
25.000 27.037 1.778 ;
25.000 27.478 1.791 ;
25.000 27.918 1.809 ;
25.000 28.359 1.827 ;
25.000 28.800 1.845 ;
29.000 7.200 1.153 ;
29.000 7.641 1.170 ;
29.000 8.082 1.188 ;
29.000 8.522 1.205 ;
29.000 8.963 1.222 ;
29.000 9.404 1.240 ;
29.000 9.845 1.257 ;
29.000 10.286 1.275 ;
29.000 10.727 1.291 ;
29.000 11.167 1.308 ;
29.000 11.608 1.326 ;
29.000 12.049 1.338 ;
29.000 12.490 1.356 ;
29.000 12.931 1.373 ;
29.000 13.371 1.391 ;
29.000 13.812 1.408 ;
29.000 14.253 1.426 ;
29.000 14.694 1.443 ;
29.000 15.135 1.456 ;
29.000 15.576 1.473 ;
29.000 16.016 1.491 ;
29.000 16.457 1.508 ;
29.000 16.898 1.526 ;
29.000 17.339 1.543 ;
29.000 17.780 1.561 ;
29.000 18.000 1.567 ;
29.000 18.220 1.578 ;
29.000 18.661 1.596 ;
29.000 19.102 1.608 ;
29.000 19.543 1.626 ;
29.000 19.984 1.644 ;
29.000 20.425 1.661 ;
29.000 20.865 1.679 ;
29.000 21.306 1.696 ;
29.000 21.747 1.714 ;
29.000 22.188 1.726 ;
29.000 22.629 1.744 ;
29.000 23.069 1.762 ;
29.000 23.510 1.780 ;
29.000 23.951 1.797 ;
29.000 24.392 1.815 ;
29.000 24.833 1.832 ;
29.000 25.274 1.845 ;
29.000 25.714 1.863 ;
29.000 26.155 1.880 ;
29.000 26.596 1.898 ;
29.000 27.037 1.916 ;
29.000 27.478 1.933 ;
29.000 27.918 1.951 ;
29.000 28.359 1.963 ;
29.000 28.800 1.981 ;
15.000 7.200 0.699 ;
15.000 7.641 0.717 ;
15.000 8.082 0.734 ;
15.000 8.522 0.752 ;
15.000 8.963 0.769 ;
15.000 9.404 0.787 ;
15.000 9.845 0.803 ;
15.000 10.286 0.821 ;
15.000 10.727 0.839 ;
15.000 11.167 0.856 ;
15.000 11.608 0.874 ;
15.000 12.049 0.886 ;
15.000 12.490 0.904 ;
15.000 12.931 0.922 ;
15.000 13.371 0.939 ;
15.000 13.812 0.957 ;
15.000 14.253 0.975 ;
15.000 14.694 0.987 ;
15.000 15.135 1.005 ;
15.000 15.576 1.023 ;
15.000 16.016 1.041 ;
15.000 16.457 1.058 ;
15.000 16.898 1.076 ;
15.000 17.339 1.094 ;
15.000 17.780 1.105 ;
15.000 18.000 1.112 ;
15.000 18.220 1.123 ;
15.000 18.661 1.141 ;
15.000 19.102 1.159 ;
15.000 19.543 1.176 ;
15.000 19.984 1.194 ;
15.000 20.425 1.212 ;
15.000 20.865 1.224 ;
15.000 21.306 1.242 ;
15.000 21.747 1.260 ;
15.000 22.188 1.278 ;
15.000 22.629 1.295 ;
15.000 23.069 1.313 ;
15.000 23.510 1.331 ;
15.000 23.951 1.348 ;
15.000 24.392 1.366 ;
15.000 24.833 1.378 ;
15.000 25.274 1.396 ;
15.000 25.714 1.414 ;
15.000 26.155 1.432 ;
15.000 26.596 1.450 ;
15.000 27.037 1.467 ;
15.000 27.478 1.485 ;
15.000 27.918 1.503 ;
15.000 28.359 1.521 ;
15.000 28.800 1.532 ;
11.000 7.200 0.603 ;
11.000 7.641 0.619 ;
11.000 8.082 0.636 ;
11.000 8.522 0.652 ;
11.000 8.963 0.669 ;
11.000 9.404 0.686 ;
11.000 9.845 0.701 ;
11.000 10.286 0.718 ;
11.000 10.727 0.730 ;
11.000 11.167 0.746 ;
11.000 11.608 0.763 ;
11.000 12.049 0.780 ;
11.000 12.490 0.796 ;
11.000 12.931 0.808 ;
11.000 13.371 0.824 ;
11.000 13.812 0.841 ;
11.000 14.253 0.858 ;
11.000 14.694 0.874 ;
11.000 15.135 0.891 ;
11.000 15.576 0.902 ;
11.000 16.016 0.919 ;
11.000 16.457 0.936 ;
11.000 16.898 0.952 ;
11.000 17.339 0.969 ;
11.000 17.780 0.986 ;
11.000 18.000 0.987 ;
11.000 18.220 1.003 ;
11.000 18.661 1.013 ;
11.000 19.102 1.030 ;
11.000 19.543 1.046 ;
11.000 19.984 1.063 ;
11.000 20.425 1.080 ;
11.000 20.865 1.096 ;
11.000 21.306 1.113 ;
11.000 21.747 1.123 ;
11.000 22.188 1.140 ;
11.000 22.629 1.157 ;
11.000 23.069 1.174 ;
11.000 23.510 1.190 ;
11.000 23.951 1.207 ;
11.000 24.392 1.224 ;
11.000 24.833 1.241 ;
11.000 25.274 1.252 ;
11.000 25.714 1.269 ;
11.000 26.155 1.285 ;
11.000 26.596 1.302 ;
11.000 27.037 1.319 ;
11.000 27.478 1.335 ;
11.000 27.918 1.352 ;
11.000 28.359 1.366 ;
11.000 28.800 1.381 ;
11.367 18.000 1.009 ;
11.735 18.000 1.019 ;
12.102 18.000 1.029 ;
12.469 18.000 1.038 ;
12.837 18.000 1.048 ;
13.204 18.000 1.064 ;
13.571 18.000 1.073 ;
13.939 18.000 1.083 ;
14.306 18.000 1.093 ;
14.674 18.000 1.103 ;
15.041 18.000 1.113 ;
15.408 18.000 1.123 ;
15.776 18.000 1.133 ;
16.143 18.000 1.148 ;
16.510 18.000 1.158 ;
16.878 18.000 1.168 ;
17.245 18.000 1.179 ;
17.612 18.000 1.189 ;
17.980 18.000 1.200 ;
18.347 18.000 1.210 ;
18.714 18.000 1.226 ;
19.082 18.000 1.236 ;
19.449 18.000 1.247 ;
19.816 18.000 1.258 ;
20.184 18.000 1.269 ;
20.551 18.000 1.280 ;
20.918 18.000 1.291 ;
21.286 18.000 1.302 ;
21.653 18.000 1.313 ;
22.020 18.000 1.329 ;
22.388 18.000 1.340 ;
22.755 18.000 1.352 ;
23.122 18.000 1.363 ;
23.490 18.000 1.375 ;
23.857 18.000 1.386 ;
24.225 18.000 1.398 ;
24.592 18.000 1.409 ;
24.959 18.000 1.421 ;
25.327 18.000 1.433 ;
25.694 18.000 1.450 ;
26.061 18.000 1.462 ;
26.429 18.000 1.474 ;
26.796 18.000 1.486 ;
27.163 18.000 1.498 ;
27.531 18.000 1.511 ;
27.898 18.000 1.523 ;
28.265 18.000 1.536 ;
28.633 18.000 1.549 ;
29.000 18.000 1.566
];
%输入随机变量C,phi,输出安全系数FOS
clc
para1=m_data(:,1:2);
fos1=m_data(:,3);
para=para1';fos=fos1';
[pn,minp,maxp,tn,mint,maxt]=premnmx(para,fos)
%设置网络隐单元的神经元数(5~30验证后5个最好)
n=10;
%建立相应的BP网络
clc
%把输入变量正交化处理
net=newff(minmax(pn),[2,n,1],{'purelin','tansig','purelin'},'traingdm');
inputWeights=net.IW{1,1};
inputbias=net.b{1};
layerWeights=net.IW{1,1};
layerbias=net.b{2};
clc
% 训练网络
net.trainParam.show=50;
net.trainParam.lr=0.05;
net.trainParam.mc=0.9;
net.trainParam.epochs=20000;
net.trainParam.goal=1e-4;
pause
clc
%调用TRAINGDM算法训练BP网络
net=train(net,pn,tn);
%对BP网络进行仿真
A=sim(net,pn);
E=A-tn;
M=sse(E)
N=mse(E)
clc
%根据输入的c,phi,用训练好的网络预测安全系数值
p2=[
20.000 7.200 ;
20.000 7.641 ;
20.000 8.082 ;
20.000 8.522 ;
20.000 8.963 ;
20.000 9.404 ;
20.000 9.845 ;
20.000 10.286 ;
20.000 10.727 ;
20.000 11.167 ;
20.000 11.608 ;
20.000 12.049 ;
20.000 12.490 ;
20.000 12.931 ;
20.000 13.371 ;
20.000 13.812 ;
20.000 14.253 ;
20.000 14.694 ;
20.000 15.135 ;
20.000 15.576 ;
20.000 16.016 ;
20.000 16.457 ;
20.000 16.898 ;
20.000 17.339 ;
20.000 17.780 ;
20.000 18.000 ;
20.000 18.220 ;
20.000 18.661 ;
20.000 19.102 ;
20.000 19.543 ;
20.000 19.984 ;
20.000 20.425 ;
20.000 20.865 ;
20.000 21.306 ;
20.000 21.747 ;
20.000 22.188 ;
20.000 22.629 ;
20.000 23.069 ;
20.000 23.510 ;
20.000 23.951 ;
20.000 24.392 ;
20.000 24.833 ;
20.000 25.274 ;
20.000 25.714 ;
20.000 26.155 ;
20.000 26.596 ;
20.000 27.037 ;
20.000 27.478 ;
20.000 27.918 ;
20.000 28.359 ;
20.000 28.800
];
p2=p2';
p2n=tramnmx(p2,minp,maxp);
a2n=sim(net,p2n);
a2=postmnmx(a2n,mint,maxt)
echo off
pause
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -