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

11 visualizzazioni (ultimi 30 giorni)
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?

Risposte (2)

Walter Roberson
Walter Roberson il 21 Mar 2019
new_cell_array = cellfun(@double, existing_cell_array, 'uniform', 0);
  4 Commenti
Walter Roberson
Walter Roberson il 21 Mar 2019
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 il 31 Dic 2019
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);

Accedi per commentare.


David Pesetsky
David Pesetsky il 21 Mar 2019
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.

Categorie

Scopri di più su Structures in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by