人体组织sc=10.m

来自「利用rbf神经网络对人体组织药业灌注这个系统的一个学习」· M 代码 · 共 182 行

M
182
字号

%RBF法建模
%标准化的建模数据集
m_data=[0 0
0.06977	0.069713409
0.13952	0.139067795
0.20928	0.207755664
0.27904	0.275432908
0.3488	0.341770314
0.41856	0.406445183
0.48832	0.469142906
0.55808	0.52955849
0.62784	0.587398046
0.6976	0.642380212
0.76736	0.694237531
0.83712	0.742717742
0.872	0.765617061
0.94176	0.808594876
1.01152	0.847639294
1.08128	0.882560385
1.15104	0.913188273
1.2208	0.939373972
1.29056	0.960990101
1.36032	0.977931509
1.43008	0.990115784
1.49984	0.997483656
1.5696	0.999999284
1.63936	0.997650432
1.70912	0.990448525
1.77888	0.978428596
1.84864	0.961649117
1.9184	0.94019171
1.98816	0.914160756
2.05792	0.883682881
2.12768	0.848906344
2.19744	0.810000316
2.2672	0.767154054
2.33696	0.720575982
2.40672	0.670492681
2.47648	0.617147778
2.54624	0.560800769
2.616	0.501725754
2.68576	0.440375307
2.75552	0.376553054
2.82528	0.31106427
2.89504	0.244062319
2.9648	0.17587313
3.03456	0.10682841
3.10432	0.037264024
3.17408	-0.032481632
3.27872	-0.136697995
3.34848	-0.205414623
3.41824	-0.273132015

];
X=m_data(:,1);T=m_data(:,2);T=T';
%随机选取中心
C=X;
%定义delta平方为样本各点的协方差之和
delta=cov(X');
delta=sum(delta);
%隐含层输出H
for i=1:1:50
  for j=1:1:50
     H(i,j)=((X(i,:)-C(j,:)))*((X(i,:)-C(j,:))');
     H(i,j)=exp(-H(i,j)./delta);
  end
end
p=H;
%建模
%
err_goal=0.01;
sc=10;
net=newrb(p,T,err_goal,sc,200,1);
Y=sim(net,p);
E=T-Y;
SSE=sse(E);
MSE=mse(E);
%拟合图
figure;
plot(T);
hold on;
plot(Y,'r:');
title('RBF网络人体组织建模拟合曲线图');
legend('理想值','实际值');
ylabel('输出样本点');
xlabel('输入样本点');
axis([1,50,-1,1]);
%RBF法预测
%标准化的预测数据集
  m_data=[0 0
      0.03488	0.034872928
0.10466	0.104469035
0.1744	0.17351727
0.2441	0.241683103
0.3139	0.308770408
0.38368	0.374335436
0.45344	0.438060492
0.5232	0.49965461
0.59296	0.558818166
0.66272	0.61526336
0.73248	0.668715615
0.80224	0.718914913
0.90688	0.787585013
0.97664	0.82862109
1.0464	0.865626353
1.11616	0.898420789
1.18592	0.926844872
1.25568	0.950760333
1.32544	0.970050834
1.3952	0.984622538
1.46496	0.994404562
1.53472	0.99934932
1.60448	0.999432759
1.67424	0.994654472
1.744	0.985037705
1.81376	0.970629237
1.88352	0.951499158
1.95328	0.927740527
2.02404	0.899031482
2.0928	0.866821853
2.16256	0.829958148
2.23232	0.789057125
2.30208	0.744317746
2.37189	0.69592174
2.4416	0.644212068
2.51136	0.589332732
2.58112	0.531586597
2.65088	0.471254566
2.72064	0.408630125
2.7904	0.34401791
2.86016	0.277732224
2.92992	0.210095514
2.99968	0.141436798
3.06944	0.072090065
3.1392	0.002392651
3.20896	-0.067316402
3.3136	-0.171160417
3.38336	-0.239418945
3.45312	-0.306512823
];
X1=m_data(:,1);T1=m_data(:,2);T1=T1';
%隐含层输出H
for i=1:1:50
  for j=1:1:50
     H1(i,j)=((X1(i,:)-C(j,:)))*((X1(i,:)-C(j,:))');
     H1(i,j)=exp(-H1(i,j)./delta);
  end
end
p1=H1;
Y1=sim(net,p1);
E1=T1-Y1;
SSE=sse(E1);
MSE=mse(E1);
E2=Y-Y1
%拟合图
figure;
plot(T1);
hold on;
plot(Y1,'r:');
title('RBF网络人体组织软测量曲线图');
legend('理想值','实际值');
ylabel('输出样本点');
xlabel('输入样本点');
axis([1,50,-1,1]);
figure;
plot(E);
title('RBF网络人体组织建模误差图');
figure;
plot(E1);
title('RBF网络人体组织软测量误差图');










⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?