Parameter Estimation of non-linear system

Hi!! Iam trying to estimate the parametersorder and coefficientsof non-linear system using neural network.How could I feed the input -output dataset,coefficient and order in training phase of network?Thank you in advance.

댓글 수: 2

Greg Heath
Greg Heath 2019년 6월 13일
편집: Greg Heath 2019년 6월 13일
Show what you have done so far
Greg
We had developes a nonlinear model and want to estimate the parameters using deep learning. During the training phase we don't know how to feed the coefficients and order of the system.
clear all;
close all;
clc;
%Order of the nonlinear system
order = 20;
disp(order);
%Generating coefficients of the polynomial
for i= 1:order+1
coeff(i) = 0.0001 * randn();
end
%Impulse function
h = rand(10,1);
for i = 1:10000
%Generating input
sigma = 5;
X = sigma*randn(100,1);
in(:,i) = X;
%Output of a nonlinear System
z =0;
for k = 1:order+1
sum = coeff(k) * X.^(k-1);
z = z+sum;
end
%Output of a linear system
y = conv(z,h);
out(:,i) = y;
end
x = in;
t = out;
% Choose a Training Function
trainFcn = 'trainbr';
% Create a Fitting Network
hiddenLayerSize = 10;
net = feedforwardnet(hiddenLayerSize);
net = init(net);
%Create a neuralnetwork estimator
net_estimator = neuralnet(net);
% Setup Division of Data for Training, Validation, Testing
net.divideParam.trainRatio = 70/100;
net.divideParam.valRatio = 15/100;
net.divideParam.testRatio = 15/100;
% Train the Network
net.trainParam.epochs = 1;
[net,tr] = train(net,x,t);
% Test the Network
y = net(x);
e = gsubtract(t,y);
performance = perform(net,t,y)
% View the Network
view(net);

댓글을 달려면 로그인하십시오.

답변 (1개)

Edoardo Catenaro
Edoardo Catenaro 2019년 11월 1일

0 개 추천

Hi! I'm also stucked on a similar problem. Did you find the solution to your problem ?
Thanks in advance

카테고리

도움말 센터File Exchange에서 Deep Learning Toolbox에 대해 자세히 알아보기

질문:

2019년 6월 13일

답변:

2019년 11월 1일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by