is it possible to convert iddata to cellstr
조회 수: 4 (최근 30일)
이전 댓글 표시
Dear matlab users,
Is it possible to convert iddata to cellstr? i tried following code but it dont works.
cellstr(num2str(data.y(:,1)))]; %
%data.y(:,1) has this form 1×1 cell array {500×1 double}
500×1 char array
'0.0833333'
' 0.166667'
' 0.25'
' 0.333333'
' 0.416667'
' 0.5'
' 0.583333'
' 0.666667'
' 0.75'
.........
in this format i want vector
Thank you very much
댓글 수: 0
채택된 답변
Star Strider
2019년 10월 29일
Another approach:
data = iddata(rand(1,10)', (0:9)', 0.1); % Create ‘iddata’ Object
y = data.OutputData; % Get ‘OutputData’ As Double Array
ycs = cellstr(num2str(y)); % Convert To Cell Array Of Strings
댓글 수: 8
Star Strider
2019년 10월 29일
@Ill ch — As always, my pleasure.
You can (and it is best to) leave them as numeric if you want to save them as a .csv file. The problem now is that saving them as strings to your .csv file creates the additional problem of converting them back to numeric data later, when the .csv file is read.
@Daniel M — Ill ch did not create the class. This is the nature of the output that the System Identification Toolbox iddata function produces.
추가 답변 (2개)
Rajiv Singh
2019년 11월 5일
From iddata object "data", you can fetch the data arrays as cells using:
y = pvget(data,'OutputData');
In your latest query, y is a cell array of iddata objects. Thus x1 = y{1} will return one iddata object. Then pvget(x1,'OutputData') will return the value of its "OutputData" property as a cell array.
Note that size of 500x1x0 for an iddata object means that the data has 500 samples, 1 output and no inputs signals. The size() operator is specialized (overridden) for iddata objects.
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Transform Data에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!