Using print command recursively.
조회 수: 1 (최근 30일)
이전 댓글 표시
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));
댓글 수: 0
답변 (1개)
Fangjun Jiang
2011년 11월 2일
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
Walter Roberson
2011년 11월 2일
And to get the string to appear on the output,
fprintf('%s\n', pre_f);
or
fprintf('%s\n', NewString)
as appropriate.
참고 항목
카테고리
Help Center 및 File Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!