# How to multiply data from cells?

13 Ansichten (letzte 30 Tage)
Abirami am 28 Jan. 2015
Kommentiert: Giorgi am 28 Jan. 2015
Hello,
Consider I have a cell array of size (1x20). I want to multiply all the elements of the cell and display it as a single output. For eg:
X= 1 2 7 7 8 9 6 7 8 9 2 1 3 1 4 6 7 4 5 3
I want my output to be stored in a new variable say 'a'
a=1,290,482,565,120.
##### 1 Kommentar-1 ältere Kommentare anzeigen-1 ältere Kommentare ausblenden
Guillaume am 28 Jan. 2015
Bearbeitet: Guillaume am 28 Jan. 2015
The proper syntax for declaring a cell array is:
X = {1 2 7 7 8 9 6 7 8 9 2 1 3 1 4 6 7 4 5 3};
If you don't use the right syntax in your examples, then we're left wondering what you really mean.
So the first question is: why are you using a cell array? In this particular example, a plain matrix would be sufficient.
Second question, the product of a bunch of numbers is just one single number, so what are the multiple values in your second cell array (or is a matrix?)?
edit: I've just worked out that your a is a scalar and you've just separated the thousands by a comma. It is just so much clearer, if you use proper matlab syntax throughout your question.

Melden Sie sich an, um zu kommentieren.

### Akzeptierte Antwort

Guillaume am 28 Jan. 2015
Bearbeitet: Guillaume am 28 Jan. 2015
There is no point in having a cell array of scalar double, a matrix is more efficient.
Your cell array can be converted into a matrix / vector with cell2mat. To calculate the product of the elements of a vector, you use prod. So:
X= {1 2 7 7 8 9 6 7 8 9 2 1 3 1 4 6 7 4 5 3};
a = prod(cell2mat(X))
##### 1 Kommentar-1 ältere Kommentare anzeigen-1 ältere Kommentare ausblenden
Giorgi am 28 Jan. 2015
Well you are right my solution was wrong :)

Melden Sie sich an, um zu kommentieren.

### Kategorien

Mehr zu Cell Arrays 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