MATLAB Simulink fprintf logical values
조회 수: 14 (최근 30일)
이전 댓글 표시
Greetings,
May I know what is the suitable formatSpec for type 'logical'? I am running this in Simulink, Matlab 2014a.
The code:
a1 = (u > min_u); fileID = fopen('C:\Users\Desktop\myfile.txt','a'); printing = '(u > min_u) = %s'; fprintf(fileID,printing, a1); fclose(fileID);
But this returns: "An argument corresponding to the conversion character 'u' in the 'formatSpec' parameter is of type 'logical'. For code generation cast this input to 'uint8', 'uint16', 'uint32' or 'uint64'."
I have tried all possible formatSpecs as in http://www.mathworks.co.uk/help/matlab/ref/fprintf.html, but I received similar errors.
Please help. Thank you.
Regards,
Biru
댓글 수: 0
답변 (1개)
Michael Haderlein
2014년 8월 25일
I think the easiest way is to write a tiny subfunction which converts a logical true and a false to the strings "true" and "false".
function str=log2str(a)
if a
str='true';
else
str='false';
end
Then, the statement is fprintf(fileID,printing,log2str(a1)); Your printing format is fine then.
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 String에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!