converting symbolic to string and printing to a file without 'piecewise' expression

3 views (last 30 days)
I am attempting to print a symbolic expression to a file as a string. This piece of code worked correctly for me and then for some unknown reason didn't:
fprintf(fid,'''%s'';\n\n',char(C(i,j,2)));
By working correctly i mean that it printed out without a 'piecewise' in front of it...Does anyone know why its all of a sudden printing the output as 'piecewise'.
Thanks

Answers (1)

Walter Roberson
Walter Roberson on 25 May 2011
What does disp(C) show you ? If there is a conditional portion to the expression, it should show you piecewise(). Unless, that is, you want the formatted multi-line version that shows one case per line.
Possibly evalc(C(i,j,2)) would be useful for you
  3 Comments
Kyle Stanhouse
Kyle Stanhouse on 25 May 2011
i guess i must have absentmindedly changed the file that computes and prints C, thats the only explanation....
Walter Roberson
Walter Roberson on 25 May 2011
If you are printing a large symbolic matrix to a file so that you can use eval(), then you should consider instead using matlabFunction() to convert the matrix to a function handle or to write the function body to a file.

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!