How to change number precision with writestruct

조회 수: 6 (최근 30일)
Bruno Luong
Bruno Luong 2021년 5월 14일
댓글: Scott MacKenzie 2021년 5월 16일
The number of significant digits of writestruct is quite limited, as showed by this example
s=struct('pi',pi);
writestruct(s,'pi.xml');
type pi.xml
<?xml version="1.0" encoding="UTF-8"?> <struct> <pi>3.1416</pi> </struct>
Does anyone know how to change/control/increase it?

채택된 답변

Scott MacKenzie
Scott MacKenzie 2021년 5월 14일
편집: Scott MacKenzie 2021년 5월 14일
s=struct('pi', num2str(pi, 15)); % pi with 15 significant figures
writestruct(s, 'pi.xml');
type pi.xml
Output:
<?xml version="1.0" encoding="UTF-8"?>
<struct>
<pi>3.141592653589793</pi>
</struct>
  댓글 수: 4
Bruno Luong
Bruno Luong 2021년 5월 16일
Thanks for the effort Scott.
To me still not ideal. This XML is used as interface with other SW (otherwise I won't bother with XML). It a pain to minimze the precision output.
Scott MacKenzie
Scott MacKenzie 2021년 5월 16일
Yes, I see your point. I studied the documentation and clearly writestruct is not intended for numeric variables. The focus is on text, and xml in particular. Good luck.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Structures에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by