How to create a loop calcualtion?
167 views (last 30 days)
Hi Guys! I am writing a GUI that processes some excel data and got to a point, where I need it to do some loop calculation. However, I have absolutely no idea how to do it. I tried going through all Doug's tutorials, but could not find anything, that would explain it. So here's the idea:
Say i need a 1x20 matrix. I know the first value of this vector, but all he other values come from the calculations that require the first value. So here's the sequence of the calculation:
Take the first value > input it into formulas with other variables > get the second value > use the second value to get the 3 rd value > get the 3rd value > use the 3rd value to get the 4th value > and so on.... Then plot all the acquired values on the graph against time.
Could someone help me out with it? Tell me if I made i too confusing..
Thank you, guys!
Thomas on 19 Jul 2012
Probably something like this..
num_values=10; % total values
output=zeros(1,num_values); %preallocate space for output
output(1)=first_val; % first value of output
output(count)=output(count-1)+25; %formula current value depends on previous
Ryan on 19 Jul 2012
So you have a 1 x 20 vector you want to fill off of knowing just the first value and each previously value determines the next? Is this what you're looking for:
t = 1:1:20; % for graphing later
x = zeros(1,20);
x(1) = .5; % Assign first value of "x"
for m = 2:numel(x)
x(m) = sin(x(m-1)); % Calculates the current cell "m" off of prior cell "m-1"
C.J. Harris on 19 Jul 2012
Here is an example of a quick loop that calculates a value based on the previous value. The loop simply calculates the value as twice the previous value:
A = zeros(1,20); % Initialize array
A(1) = 1; % Set first value to 1
for nLoop = 2:length(A) % Start loop at second value
A(nLoop) = A(nLoop-1) * 2; % Answer is twice the previous value