Using print command recursively.

3 visualizaciones (últimos 30 días)
Soudeh
Soudeh el 2 de Nov. de 2011
I have a code with a for loop. In each iteration I need to print the results in a file. How can I use the printed results of previous iteration in the current iteration. Suppose that for the first iteration I have:
fprintf('f(%d) is %fI(x>f)',t,a(t),b(t));
which gives me:
f(1) is 0.6931I(x<3.5000)
Now for the second iteration my f(2) is f(1)+sth. Instead of writing
fprintf('f(%d) is %fI(x>%f)+%fI(x>%f)',t,a(t-1),b(t-1),a(t),b(t));
can I save my previous print as a variable called 'pre_f' and call it in my new fprintf command? for example:
fprintf('f(%d) is %?+%fI(x>%f)',t,pre_f,a(t),b(t));

Respuestas (1)

Fangjun Jiang
Fangjun Jiang el 2 de Nov. de 2011
use sprintf() to print to a variable of string.
pre_f=sprintf('f(%d) is %fI(x>f)',t,a(t),b(t));
use %s to print a string.
NewString=sprintf('Previous string is : %s',pre_f);
What is the purpose of your code?
  2 comentarios
Walter Roberson
Walter Roberson el 2 de Nov. de 2011
And to get the string to appear on the output,
fprintf('%s\n', pre_f);
or
fprintf('%s\n', NewString)
as appropriate.
Soudeh
Soudeh el 3 de Nov. de 2011
Really thanks Fangjun! It worked for me!
It is a Machine Learning code. In each iteration the results should be printed. Moreover, in each iteration the result is previous result + new part. So imagine for the iteration 20 if you hadn't helped me I must have written all the previous results from 19 iterations.

Iniciar sesión para comentar.

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by