求matlab的神经网络对实验数据进行拟合程序
我做的是pt100标定试验,数据如下,温度=[03.94.17.38.413.114.816.417.71919.720.321.224.526.327.828.9292...
我做的是pt100标定试验,数据如下,温度=[0 3.9 4.1 7.3 8.4 13.1 14.8 16.4 17.7 19 19.7 20.3 21.2 24.5 26.3 27.8 28.9 29 29.8 31.1 32.8 33.5 34.5 35.6 36.2 37.6 37.8 38.7 39.4 40.3 41 41.4 42.5 43.9 45 45.7 46.9 47.8 49 49.4 51.4 53 54 55.6 56.9 57.5 58.9 59.7 61.4]';
>> 电阻=[100.16 101.87 101.97 102.99 103.43 105.23 105.89 106.54 107.01 107.52 107.77 108.01 108.39 109.64 110.33 110.90 111.32 111.41 111.86 112.53 112.63 113.10 113.52 113.94 114.39 114.52 114.92 115.26 115.87 115.90 116.27 116.96 117.32 117.71 118.13 118.34 118.62 118.96 119.59 120.20 120.68 121.33 121.90 122.17 122.94 123.27 123.85]';
温度电阻的关系式R=0.0002t^2+0.3676t+100.3780
急求基于matlab的神经网络数据拟合程序 展开
>> 电阻=[100.16 101.87 101.97 102.99 103.43 105.23 105.89 106.54 107.01 107.52 107.77 108.01 108.39 109.64 110.33 110.90 111.32 111.41 111.86 112.53 112.63 113.10 113.52 113.94 114.39 114.52 114.92 115.26 115.87 115.90 116.27 116.96 117.32 117.71 118.13 118.34 118.62 118.96 119.59 120.20 120.68 121.33 121.90 122.17 122.94 123.27 123.85]';
温度电阻的关系式R=0.0002t^2+0.3676t+100.3780
急求基于matlab的神经网络数据拟合程序 展开
1个回答
展开全部
%你没说神经网络类型,就使用最简单的前向反馈网络拟合。
t=[0 3.9 4.1 7.3 8.4 13.1 14.8 16.4 17.7 19 19.7 20.3 21.2 24.5 26.3 27.8 28.9 29 29.8 31.1 32.8 33.5 34.5 35.6 36.2 37.6 37.8 38.7 39.4 40.3 41 41.4 42.5 43.9 45 45.7 46.9 47.8 49 49.4 51.4 53 54 55.6 56.9 57.5 58.9 ];%这里发现t有49个数据,而R就47个,因此将后两个删除
R=[100.16 101.87 101.97 102.99 103.43 105.23 105.89 106.54 107.01 107.52 107.77 108.01 108.39 109.64 110.33 110.90 111.32 111.41 111.86 112.53 112.63 113.10 113.52 113.94 114.39 114.52 114.92 115.26 115.87 115.90 116.27 116.96 117.32 117.71 118.13 118.34 118.62 118.96 119.59 120.20 120.68 121.33 121.90 122.17 122.94 123.27 123.85];
net = newff(t,R,20);%隐层预设20个
net = train(net,t,R);
simplefitOutputs = sim(net,t);
t=[0 3.9 4.1 7.3 8.4 13.1 14.8 16.4 17.7 19 19.7 20.3 21.2 24.5 26.3 27.8 28.9 29 29.8 31.1 32.8 33.5 34.5 35.6 36.2 37.6 37.8 38.7 39.4 40.3 41 41.4 42.5 43.9 45 45.7 46.9 47.8 49 49.4 51.4 53 54 55.6 56.9 57.5 58.9 ];%这里发现t有49个数据,而R就47个,因此将后两个删除
R=[100.16 101.87 101.97 102.99 103.43 105.23 105.89 106.54 107.01 107.52 107.77 108.01 108.39 109.64 110.33 110.90 111.32 111.41 111.86 112.53 112.63 113.10 113.52 113.94 114.39 114.52 114.92 115.26 115.87 115.90 116.27 116.96 117.32 117.71 118.13 118.34 118.62 118.96 119.59 120.20 120.68 121.33 121.90 122.17 122.94 123.27 123.85];
net = newff(t,R,20);%隐层预设20个
net = train(net,t,R);
simplefitOutputs = sim(net,t);
更多追问追答
追问
出现这个问题了,改成列矩阵也不行啊, Error using ==> newff
Input ranges is not a two column matrix.在有,麻烦说的详细点,我没接触过神经网络,用这个拟合完能得到一个函数么,还有曲线表示什么意思啊?这个可以用BP网络来拟合么》
追答
1、你也不看的,我这里不是贴上去了,你最后有'表示转置,但是newff要求列向量,所以不能转置;
2、你没接触过神经网络怎么做起实验来了。这我都看不懂你说的话。即使我注释了,你也看不懂啊!
------------------------------------------------------------------------------------------------------------------
曲线表示一个函数的图像;上面的程序就是BP前向反馈网络。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询