times function for argument of type cell?

1 Ansicht (letzte 30 Tage)
Chiara Scarpellini
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

Akzeptierte Antwort

Star Strider
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 Kommentare
Chiara Scarpellini
Chiara Scarpellini am 1 Sep. 2021
Operator '*' is not supported for operands of type 'cell'
Walter Roberson
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.

Weitere Antworten (0)

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