Simulink user defined block

I wanted to calculate the average of a particular array recursively, I am using this code shown below and I am using the user defined function on simulink to do this. I am getting the out of bounds error while i run the simulation, and when i debug, the averaging formula shown below is the problem. What could the reason be, although i feel like its a simple mistake that i am making
function poutavg = fcn(pout)
tstop=2*10^-3;
fsamp=4000000;
for i=2:tstop*fsamp
poutavg =((i-1)/i)*mean(pout(1,i-1))+ (pout(1,i))/i;
i=i+1;
end

1 Comment

K E
K E on 28 Mar 2012
When I run this in Matlab it works fine, as long as length(pout) >= length(2:tstop*fsamp). So, check that the dimensions of pout are what you would expect.

Sign in to comment.

Answers (0)

Categories

Find more on Simulink in Help Center and File Exchange

Products

Tags

Asked:

on 28 Mar 2012

Community Treasure Hunt

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

Start Hunting!