How to multiply data from cells?

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.
How do i do it? Please help. Thanks in advance.

1 件のコメント

Guillaume
Guillaume 2015 年 1 月 28 日
編集済み: Guillaume 2015 年 1 月 28 日
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.

サインインしてコメントする。

 採用された回答

Guillaume
Guillaume 2015 年 1 月 28 日
編集済み: Guillaume 2015 年 1 月 28 日

1 投票

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 件のコメント

Giorgi
Giorgi 2015 年 1 月 28 日
Well you are right my solution was wrong :)

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeMultidimensional Arrays についてさらに検索

質問済み:

2015 年 1 月 28 日

コメント済み:

2015 年 1 月 28 日

Community Treasure Hunt

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

Start Hunting!

Translated by