Info

This question is closed. Reopen it to edit or answer.

Dimensionality issue with Matlab Function

1 view (last 30 days)
want2know
want2know on 4 Nov 2013
Closed: MATLAB Answer Bot on 20 Aug 2021
I thought this should be fairly simple, I really have no idea what went wrong, been trying for a week, gosh!! so ashamed of myself.
I define the following at Workspace: I=[5 5.1 5.2 5.2]; V=[95 80 85 20];
I expect an output like this: at t=0, arr=20, at t=1, arr=30, at t=2, arr=40,
When I run the simulation, what I got is: at t=0, arr=20, 0, 0, 0, at t=1, arr=0, 10, 0, 0, at t=2, arr=0, 0, 10, 0,
There are few problems with this result: 1. I expect only one arr value at a particular time, but it came out four arr values at a time
I wonder why the arr never adds up to 30 and 40 etc My system is as follow: http://imgur.com/nEKDqqS
The codes are here: http://imgur.com/Cipjbyn
  6 Comments
want2know
want2know on 5 Nov 2013
Edited: want2know on 5 Nov 2013
function ar = fcn(signal, V, count)
integ_signal=zeros(4,1); arr=zeros(4,1);
if count<=(length(signal)) if count==1 integ_signal(count,1) = 20; % Initial Condition arr(count,1)= integ_signal(count,1); else integ_signal(count,1) = arr(count-1,1) + 10; arr(count,1)= integ_signal(count,1); end end
ar = arr(count,1);
end
want2know
want2know on 5 Nov 2013
I run the codes in m file without any function, it did gives me correct value, 20, 30,40. but i dont know why when I combine all the blocks in Simulink, the value stays at 10 all the time

Answers (0)

Community Treasure Hunt

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

Start Hunting!