Multiplication of column elements of a matrix

1 visualizzazione (ultimi 30 giorni)
Hi
If I am having a marix of size "m*n"
I have to find the product of column elements of each row (But the number of columns selected for multiplication has to be user selected)
for example :
if the matrix is A=[1 2 3;4 5 6;7 8 9]
I want find the resultant vector containing [1 2*5*7 3*6] (multiplication of 1 element in the ist row, 2 elements in the second row, 3 elements in the 3rd row)
for this is have used the code
A=[1 2 3;4 5 6;7 8 9];
row_elemens=[1 3 2];
for i=1:3
result=prod(A(i,1:row_elemens(i)));
end
is there any simple solution for this problem without using any loop and with a single line

Risposta accettata

Ameer Hamza
Ameer Hamza il 19 Apr 2020
Your question mentioned "without using any loop and with a single line". Try this
A=[1 2 3;4 5 6;7 8 9];
row_elemens=[1 3 2];
result = arrayfun(@(i) prod(A(i,1:row_elemens(i))), 1:3);

Più risposte (0)

Categorie

Scopri di più su Operating on Diagonal Matrices in Help Center e File Exchange

Tag

Prodotti


Release

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by