How to make a function that makes matlabFunctions?
1 view (last 30 days)
Show older comments
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
Answers (0)
See Also
Categories
Find more on Physical Channels in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!