times function for argument of type cell?

1 Ansicht (letzte 30 Tage)
Chiara Scarpellini am 31 Aug. 2021
Bearbeitet: Walter Roberson am 1 Sep. 2021
I have an argument of type cell (2785 x 20) and I need to multyply every cell per 100 and divide it per 785. Thus I need a function like times for vectors
0 Kommentare-2 ältere Kommentare anzeigen-2 ältere Kommentare ausblenden

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Star Strider am 31 Aug. 2021
It is necessary to include the cell array as an argument to cellfun:
C = num2cell(randi(9,4, 5))
C = 4×5 cell array
{[2]} {[2]} {[7]} {[7]} {[2]} {[9]} {[8]} {[1]} {[5]} {[4]} {[1]} {[4]} {[4]} {[9]} {[7]} {[3]} {[5]} {[8]} {[7]} {[4]}
percentages = cellfun(@(x)times(x,100/787), C)
percentages = 4×5
0.2541 0.2541 0.8895 0.8895 0.2541 1.1436 1.0165 0.1271 0.6353 0.5083 0.1271 0.5083 0.5083 1.1436 0.8895 0.3812 0.6353 1.0165 0.8895 0.5083
.
4 Kommentare2 ältere Kommentare anzeigen2 ältere Kommentare ausblenden
Chiara Scarpellini am 1 Sep. 2021
Operator '*' is not supported for operands of type 'cell'
Walter Roberson am 1 Sep. 2021
Bearbeitet: Walter Roberson am 1 Sep. 2021
What is the output of
unique(cellfun(@class, matrix_substances, 'uniform', 0))
The message you are getting suggests that there is at least one location inside matrix_substances where the entry is a cell array instead of being a single number or [] .

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Creating and Concatenating Matrices finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by