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 Comments

Greg Heath
Greg Heath on 13 Jun 2019
Edited: Greg Heath on 13 Jun 2019
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);

Sign in to comment.

Answers (1)

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

Categories

Find more on Deep Learning Toolbox in Help Center and File Exchange

Asked:

on 13 Jun 2019

Answered:

on 1 Nov 2019

Community Treasure Hunt

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

Start Hunting!