Using print command recursively.
Afficher commentaires plus anciens
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));
Réponses (1)
Fangjun Jiang
le 2 Nov 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 commentaires
Walter Roberson
le 2 Nov 2011
And to get the string to appear on the output,
fprintf('%s\n', pre_f);
or
fprintf('%s\n', NewString)
as appropriate.
Soudeh
le 3 Nov 2011
Catégories
En savoir plus sur Loops and Conditional Statements dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!