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

34 views (last 30 days)
Kyle Stanhouse
Kyle Stanhouse on 25 May 2011
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
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!

Translated by