导航:首页 > 五金知识 > matlab神经网络工具箱如何拟合数据

matlab神经网络工具箱如何拟合数据

发布时间:2022-03-11 05:09:00

⑴ 求matlab的神经网络对实验数据进行拟合程序

%你没说神经网络类型,就使用最简单的前向反馈网络拟合。
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);

⑵ matlab 神经网络 数据拟合

用polyfit就行吧,没必要动用神经网络吧。。。

⑶ matlab2014曲线拟合工具箱怎么输入数据

您好,这样的:一、 单一变量的曲线逼近
Matlab有一个功能强大的曲线拟合工具箱 cftool ,使用方便,能实现多种类型的线性、非线
性曲线拟合。下面结合我使用的 Matlab R2007b 来简单介绍如何使用这个工具箱。
假设我们要拟合的函数形式是 y=A*x*x + B*x, 且A>0,B>0 。
1、在命令行输入数据:

》x=[110.3323 148.7328 178.064 202.8258033 224.7105 244.5711 262.908 280.0447
296.204 311.5475]

》y=[5 10 15 20 25 30 35 40 45 50]

2、启动曲线拟合工具箱
》cftool

3、进入曲线拟合工具箱界面“Curve Fitting tool”
(1)点击“Data”按钮,弹出“Data”窗口;
(2)利用X data和Y data的下拉菜单读入数据x,y,可修改数据集名“Data set name”,然
后点击“Create data set”按钮,退出“Data”窗口,返回工具箱界面,这时会自动画出数
据集的曲线图;
(3)点击“Fitting”按钮,弹出“Fitting”窗口;
(4)点击“New fit”按钮,可修改拟合项目名称“Fit name”,通过“Data set”下拉菜单
选择数据集,然后通过下拉菜单“Type of fit”选择拟合曲线的类型,工具箱提供的拟合类
型有:
Custom Equations:用户自定义的函数类型
Exponential:指数逼近,有2种类型, a*exp(b*x) 、 a*exp(b*x) + c*exp(d*x)
Fourier:傅立叶逼近,有7种类型,基础型是 a0 + a1*cos(x*w) + b1*sin(x*w)
Gaussian:高斯逼近,有8种类型,基础型是 a1*exp(-((x-b1)/c1)^2)
Interpolant:插值逼近,有4种类型,linear、nearest neighbor、cubic spline、shape-
preserving
Polynomial:多形式逼近,有9种类型,linear ~、quadratic ~、cubic ~、4-9th degree ~
Power:幂逼近,有2种类型,a*x^b 、a*x^b + c
Rational:有理数逼近,分子、分母共有的类型是linear ~、quadratic ~、cubic ~、4-5th
degree ~;此外,分子还包括constant型
Smoothing Spline:平滑逼近(翻译的不大恰当,不好意思)
Sum of Sin Functions:正弦曲线逼近,有8种类型,基础型是 a1*sin(b1*x + c1)
Weibull:只有一种,a*b*x^(b-1)*exp(-a*x^b)
选择好所需的拟合曲线类型及其子类型,并进行相关设置:
——如果是非自定义的类型,根据实际需要点击“Fit options”按钮,设置拟合算法、修改
待估计参数的上下限等参数;
——如果选Custom Equations,点击“New”按钮,弹出自定义函数等式窗口,有“Linear
Equations线性等式”和“General Equations构造等式”两种标签。
在本例中选Custom Equations,点击“New”按钮,选择“General Equations”标签,输入函
数类型y=a*x*x + b*x,设置参数a、b的上下限,然后点击OK。
(5)类型设置完成后,点击“Apply”按钮,就可以在Results框中得到拟合结果,如下例:
general model:
f(x) = a*x*x+b*x
Coefficients (with 95% confidence bounds):
a = 0.009194 (0.009019, 0.00937)
b = 1.78e-011 (fixed at bound)
Goodness of fit:
SSE: 6.146
R-square: 0.997
Adjusted R-square: 0.997
RMSE: 0.8263
同时,也会在工具箱窗口中显示拟合曲线。
这样,就完成一次曲线拟合啦,十分方便快捷。当然,如果你觉得拟合效果不好,还可以在“
Fitting”窗口点击“New fit”按钮,按照步骤(4)~(5)进行一次新的拟合。
不过,需要注意的是,cftool 工具箱只能进行单个变量的曲线拟合,即待拟合的公式中,变
量只能有一个。对于混合型的曲线,例如 y = a*x + b/x ,工具箱的拟合效果并不好。下一
篇文章我介绍帮同学做的一个非线性函数的曲线拟合。

⑷ matlab神经网络工具箱训练出来的函数,怎么输出得到函数代码段

这样:

clear;

%输入数据矩阵

p1=zeros(1,1000);

p2=zeros(1,1000);

%填充数据

for i=1:1000

p1(i)=rand;

p2(i)=rand;

end

%输入层有两个,样本数为1000

p=[p1;p2];

%目标(输出)数据矩阵,待拟合的关系为简单的三角函数

t = cos(pi*p1)+sin(pi*p2);

%对训练集中的输入数据矩阵和目标数据矩阵进行归一化处理

[pn, inputStr] = mapminmax(p);

[tn, outputStr] = mapminmax(t);

%建立BP神经网络

net = newff(pn, tn, [200,10]);

%每10轮回显示一次结果

net.trainParam.show = 10;

%最大训练次数

net.trainParam.epochs = 5000;

%网络的学习速率

net.trainParam.lr = 0.05;

%训练网络所要达到的目标误差

net.trainParam.goal = 10^(-8);

%网络误差如果连续6次迭代都没变化,则matlab会默认终止训练。为了让程序继续运行,用以下命令取消这条设置

net.divideFcn = '';

%开始训练网络

net = train(net, pn, tn);

%训练完网络后要求网络的权值w和阈值b

%获取网络权值、阈值

netiw = net.iw;

netlw = net.lw;

netb = net.b;

w1 = net.iw{1,1}; %输入层到隐层1的权值

b1 = net.b{1} ; %输入层到隐层1的阈值

w2 = net.lw{2,1}; %隐层1到隐层2的权值

b2 = net.b{2} ; %隐层1到隐层2的阈值

w3 = net.lw{3,2}; %隐层2到输出层的权值

b3 = net.b{3} ;%隐层2到输出层的阈值

%在默认的训练函数下,拟合公式为,y=w3*tansig(w2*tansig(w1*in+b1)+b2)+b3;

%用公式计算测试数据[x1;x2]的输出,输入要归一化,输出反归一化

in = mapminmax('apply',[x1;x2],inputStr);

y=w3*tansig(w2*tansig(w1*in+b1)+b2)+b3;

y1=mapminmax('reverse',y,outputStr);

%用bp神经网络验证计算结果

out = sim(net,in);

out1=mapminmax('reverse',out,outputStr);

(4)matlab神经网络工具箱如何拟合数据扩展阅读:

注意事项

一、训练函数

1、traingd

Name:Gradient descent backpropagation (梯度下降反向传播算法 )

Description:triangd is a network training function that updates weight and bias values according to gradient descent.

2、traingda

Name:Gradient descentwith adaptive learning rate backpropagation(自适应学习率的t梯度下降反向传播算法)

Description:triangd is a network training function that updates weight and bias values according to gradient descent with adaptive learning rate.it will return a trained net (net) and the trianing record (tr).

3、traingdx (newelm函数默认的训练函数)

name:Gradient descent with momentum and adaptive learning rate backpropagation(带动量的梯度下降的自适应学习率的反向传播算法)

Description:triangdx is a network training function that updates weight and bias values according to gradient descent momentumand an adaptive learning rate.it will return a trained net (net) and the trianing record (tr).

4、trainlm

Name:Levenberg-Marquardtbackpropagation(L-M反向传播算法)

Description:triangd is a network training function that updates weight and bias values according toLevenberg-Marquardt optimization.it will return a trained net (net) and the trianing record (tr).

注:更多的训练算法请用matlab的help命令查看。

二、学习函数

1、learngd

Name:Gradient descent weight and bias learning function(梯度下降的权值和阈值学习函数)

Description:learngd is the gradient descentweight and bias learning function, it willreturn theweight change dWand a new learning state.

2、learngdm

Name:Gradient descentwith momentumweight and bias learning function(带动量的梯度下降的权值和阈值学习函数)

Description:learngd is the gradient descentwith momentumweight and bias learning function, it willreturn the weight change dW and a new learning state.

注:更多的学习函数用matlab的help命令查看。

三、训练函数与学习函数的区别

函数的输出是权值和阈值的增量,训练函数的输出是训练好的网络和训练记录,在训练过程中训练函数不断调用学习函数修正权值和阈值,通过检测设定的训练步数或性能函数计算出的误差小于设定误差,来结束训练。

或者这么说:训练函数是全局调整权值和阈值,考虑的是整体误差的最小。学习函数是局部调整权值和阈值,考虑的是单个神经元误差的最小。

它的基本思想是学习过程由信号的正向传播与误差的反向传播两个过程组成。

正向传播时,输入样本从输入层传入,经各隐层逐层处理后,传向输出层。若输出层的实际输出与期望的输出(教师信号)不符,则转入误差的反向传播阶段。

反向传播时,将输出以某种形式通过隐层向输入层逐层反传,并将误差分摊给各层的所有单元,从而获得各层单元的误差信号,此误差信号即作为修正各单元权值的依据。

⑸ matlab中如何用神经网络求得数据拟合函数

我是做这个方向的,神经网络拟合出的曲线是没有相应的函数的,他是根据许多的权重值,阀值和偏置值的训练确定的曲线。还有什么相关问题可以问我,我的QQ378257104。

⑹ matlab神经网络工具箱怎么输出得到函数代码段

神经网络训练出来的是权值矩阵,我想你是想在matlab外用训练好的神经网络。首先你要在外部实现神经网络算法,之后你把神经网络训练出来的权值矩阵读取到你在外部实现的神经网络算法中,然后你就可以使用这个神经网络了。

⑺ 如何使用matlab 2014a 做数据曲线拟合

方法/步骤
输入数据
做数据曲线拟合,当然该有数据,本经验从以如下数据作为案例。

添加数据到curve fitting程序
这一步就是将你要拟合的数据添加到curve fitting程序中,同时给你拟合的曲线命名。

选择曲线拟合的方法类型
常见的拟合曲线有多项式的、指数的、对数的等等。curve fitting程序提供了很多的方法。你可以根据自己的数据具体选择。

选择好方法后,按照提供的公式选择具体的选项
本文的数据近似为线性的,我们选择多项式拟合的一阶方法。

拟合结果查看
拟合后,curve fitting会给你具体的函数表达式,你可以将他给出的参数的值带入你选择的方法中。

结果说明
在结果中,不仅可以看到函数的表达式,同时他还给出了95%置信区间的参数值,以及拟合好坏的一些指标,如:
SSE:
R-square:
Adjusted R-square:
RMSE:

画出图像
虽然在curve fitting程序有自带的图像显示,但是一般最好将拟合结果显示到单独的图像窗口。

保存结果

曲线拟合结束后,你可以保存你的拟合结果。选择你保存的路径即可。

⑻ matlab 神经网络工具箱可以拟合带虚数变量吗

方法/步骤

1
单击Apps,在搜索框中输入neu,下方出现了所有神经网络工具箱。neural net fitting 是我们要使用的神经网络拟合工具箱。

2
在如下界面中点击next

单击load example data set,得到我们需要的测试数据。

单击import

单击next

单击next

数字“10”表示有10个隐含层。单击next。

单击train,开始训练。

训练过程跳出的小窗口。

训练结果。其中MSE表示均方差,R 表示相关系数。单击next。

这里可以调整神经网络,也可以再次训练。单击next。

在这里,可以保存结果。如果不需要,直接finish。

⑼ 用matlab曲线拟合工具箱拟合数据后要进行预测,应该怎么做啊哪位大神

不是matlab安装的问题,这个问题我也遇到过,遍求解答无果之后,终于自己摸索出来了。是这样的,不要用gui中的data按钮来新建数据集,而要在matlab命令窗口中,输入命令:cftool(a,b),其中a,b就是你要设置的x、y坐标的向量。这样出来散点图,之后再在cftool工具箱的gui中点fitting按钮,选择曲线拟合

阅读全文

与matlab神经网络工具箱如何拟合数据相关的资料

热点内容
机械师怎么赚钱 浏览:838
韶关体育器材维护方案怎么写 浏览:209
广东佛山电动工具招工 浏览:436
什么轴承没有支架 浏览:351
机械表夜晚怎么放 浏览:386
7215轴承多少钱 浏览:272
微机继电保护现场装置实验 浏览:517
微pe工具箱怎么安装iso 浏览:747
自卸车自动密闭装置 浏览:555
天江电力设备制造公司怎么样 浏览:309
用什么高锰钢铸造刀 浏览:933
水暖地热阀门怎么开 浏览:594
用下图所示实验装置制取干燥的气体 浏览:410
采暖立管应该设置什么阀门 浏览:375
机械识图中C表示什么 浏览:298
东莞艺神五金制品厂 浏览:100
某个同学用下图所示装置探究实验 浏览:811
楼道暖气阀门半开 浏览:228
德山五金市场在哪里 浏览:46
钻石牌座扇轴承怎么拆视频 浏览:169