模拟应力集中系数的问题
我是用神经网络方法在matlab中模拟应力集中系数的表达式,会模拟但是不知道怎么用图象表示出来,下面这个图是以前的师兄做出来的,但是我不知道他怎么作出来的,有没有懂的好心人帮帮忙啊,先谢了如果我改变传递函数对图形的影响也很大,甚至会出现应力集中系数为负数的情况,这是为什么啊程序的代码如下:
clear
echo on
clc
%BP建模
%原始数据归一化
m_data=[0.010 2.0 2.8;
0.020 2.0 2.13;
0.06 2.0 1.64;
0.08 2.0 1.53;
0.10 2.0 1.46;
0.14 2.0 1.35;
0.16 2.0 1.32;
0.20 2.0 1.26;
0.24 2.0 1.22;
0.28 2.0 1.19;
0.02 1.33 2.02;
0.04 1.33 1.74;
0.06 1.33 1.60;
0.08 1.33 1.49;
0.12 1.33 1.36;
0.16 1.33 1.27;
0.20 1.33 1.24;
0.24 1.33 1.19;
0.28 1.33 1.17;
0.02 1.20 1.93;
0.04 1.20 1.64;
0.06 1.20 1.50;
0.10 1.20 1.33;
0.14 1.20 1.24;
0.18 1.20 1.18;
0.22 1.20 1.15;
0.26 1.20 1.135;
0.02 1.09 1.5;
0.04 1.09 1.3;
0.06 1.09 1.24;
0.10 1.09 1.17;
0.14 1.09 1.14;
0.18 1.09 1.12;
0.22 1.09 1.10;
0.26 1.09 1.10];
%定义网络输入p和期望输出t
pause
clc
p1=m_data(:,1:2);
t1=m_data(:,3);
p=p1';t=t1';
=premnmx(p,t)
%设置网络隐单元的神经元数(5~30验证后5个最好)
n=10;
%建立相应的BP网络
pause
clc
net=newff(minmax(pn),,{'logsig','tansig'},'trainlm');
inputWeights=net.IW{1,1};
inputbias=net.b{1};
layerWeights=net.LW{2,1};
layerbias=net.b{2};
pause
clc
% 训练网络
net.trainParam.show=50;
net.trainParam.lr=0.2;
net.trainParam.mc=0.9;
net.trainParam.epochs=15000;
net.trainParam.goal=1e-5;
pause
clc
%调用TRAINGDM算法训练BP网络
net=train(net,pn,tn);
=meshgrid(0.00:0.05:0.3,1.00:0.2:2.00);
p3=;
x3=x2(:)';y3=y2(:)';
p4=;
figure;a4=sim(net,p4);
a41=reshape(a4,size(x2));
surf(x2,y2,a41)
[ 本帖最后由 eight 于 2007-6-15 10:47 编辑 ] 顶一个,正在学习,希望好心人解释一下! 原帖由 hrbeu221 于 2009-1-23 15:13 发表 http://www.chinavib.com/forum/images/common/back.gif
顶一个,正在学习,希望好心人解释一下!
解释什麽?
页:
[1]