How to create a loop calcualtion?

72 次查看(过去 30 天)
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!
  1 个评论
NUR ZAFIRAH MOHD SIDEK
Hi guys, can some one help me to solve my problem?
i've be facing difficulty to find the number of function evaluation. let's say that i have f(x)=x^3+x^2-2 with initial value of x(0)=1.5
i want to calculate x(n+1)=x(n)-(f(x(n)/fprime(x(n))) until n=5
thus, i want to calculate how many time of f(x(n)) have been use until n=5. but if the first iteration has use f(x(1)) then the second iteration also use f(x(1)), it is considered as we only use f(x(1)) one time only.
can someone help me

请先登录,再进行评论。

回答(4 个)

Thomas
Thomas 2012-7-19
Probably something like this..
num_values=10; % total values
first_val=2;
output=zeros(1,num_values); %preallocate space for output
output(1)=first_val; % first value of output
for count=2:num_values
output(count)=output(count-1)+25; %formula current value depends on previous
end
output
plot(output)

Ryan
Ryan 2012-7-19
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"
end
figure,plot(t,x)

C.J. Harris
C.J. Harris 2012-7-19
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
end

Kokalz
Kokalz 2012-7-19
Thanks a lot fellas! I really don't know which question to mark up, as all of them seem to use the more or less same method, so I'l just upvote them!

类别

Help CenterFile Exchange 中查找有关 Loops and Conditional Statements 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by