How to make a function that makes matlabFunctions?

1 visualizzazione (ultimi 30 giorni)
Hi there,
I'm trying to implement the work of wray and green (1994), to calculate the volterra kernels of non linear systems using a simple feedforward network. What I would now, is a function that generates a matlabFunction that computes the nth order volterra kernel.
Mathematically, these kernels can be written the following:
So the first 3 kernels then become:
Where is the nth order volterra kernel, are time constants, are the linear weights of your trained feedforward network (or just a vector), is a polynomial of your sigmoid function and bias (a matrix), are the weights from your input layer to your hidden layer for each input delay (a series of matrices).
All these values I can easily obtain from my network after training it. However, what I would like now, is a function which I can give the order as an imput and it will give me the volterra kernal for that order as a matlabFunction in its output. The problem is that I really don't know how to tackle this, as there will be more terms added for each next increment of the order that you would like.
Is there an easy way to do this in matlab?
Many thanks,
Jesse
function kernelfun = volterrakernel(N)
% Input: order of volterra kernal
% Output: matlabFunction(c,a,w1,...,wn)
???
end
  2 Commenti
per isakson
per isakson il 1 Giu 2020
A search for "volterra kernel" in the File Exchange gives eleven results.
Jesse Heckman
Jesse Heckman il 1 Giu 2020
Hi Per,
Thanks for your reply!
Although there are many ways to 'calculate'/obtain the volterra kernels. They are often imprecise and provide you with different inaccurate results. In this case, I'm looking for a very specific method, i.e. via the weights and biases of a feedforward network (which are variables that I already have obtained). So my question is not so much how to calculate the volterra kernals using any preexisting method with the input and output data of my system, but how to compute this specific function in maltab.
Best,

Accedi per commentare.

Risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by