how to convert the entries of a structure from single to double?

조회 수: 12 (최근 30일)
David Pesetsky
David Pesetsky 2019년 3월 21일
댓글: yonatan s 2019년 12월 31일
Hello,
I have a big structure. First column is numbers, but other columns (each cell of the column) are each a vector. Those vectors show as single, I want to convert them all to double. There are almost 300 of those vector-cells.
Can you help there?

답변 (2개)

Walter Roberson
Walter Roberson 2019년 3월 21일
new_cell_array = cellfun(@double, existing_cell_array, 'uniform', 0);
  댓글 수: 4
Walter Roberson
Walter Roberson 2019년 3월 21일
I do not understand what you mean by "column" with respect to a struct ? You have a structure array, and a column of a structure array would be like YourStructure(:, 3) for column three, giving a scalar struct (since you only have one row), but a struct itself cannot be numeric type.
Are you talking about fields? That fields number 2, 3, 4, 5, 6, 7 show up as single ?
Would it be acceptable to convert all of the fields to double, or are there some non-numeric fields?
yonatan s
yonatan s 2019년 12월 31일
to fix Error using cellfun Input #2 expected to be a cell array, was struct instead, try:
new_cell_array = structfun(@double, existing_cell_array, 'uniform', 0);

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


David Pesetsky
David Pesetsky 2019년 3월 21일
For each of the 6 columns that are vectors, this works:
for i=1:50
tmp_serie(i).Fedge = cast(tmp_serie(i).Fedge, 'double');
end
I'm all set.

카테고리

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