Effacer les filtres
Effacer les filtres

How to multiply each element separately from row first to next row in matrix?

7 vues (au cours des 30 derniers jours)
Emilia
Emilia le 30 Mai 2018
Commenté : Emilia le 30 Mai 2018
Hello,
I want to multiply elements in the first row to the next row within the matrix to get a vector ( without Prod() function , only use of loop)
Example,
% code
matrix [1,2,3;
4,5,6;
7,8,9]
v=[(1*4*7),(2*5*8),(3*6*9)]
I have an error code
% code
a=input('Enter a matrix');
z=[]
[m,n]=size(a);
for i=1:m
c=a(i,:)
c2=a(i+1,:)
d=c.*c2
z=[z,d]
end
Thanks in advance :)

Réponses (2)

KSSV
KSSV le 30 Mai 2018
Modifié(e) : KSSV le 30 Mai 2018
a=input('Enter a matrix');
[m,n]=size(a);
iwant = zeros(1,n) ;
for j=1:n
P = 1 ;
for i = 1:m
P = a(i,j)*P ;
end
iwant(j) = P ;
end
  2 commentaires
Emilia
Emilia le 30 Mai 2018
Thank you!
If the matrix is have not nXn, then how do solve this?
KSSV
KSSV le 30 Mai 2018
Modified the code...it shall work for any dimension....:p

Connectez-vous pour commenter.


Stephen23
Stephen23 le 30 Mai 2018
Modifié(e) : Stephen23 le 30 Mai 2018
Simpler:
M = [1,2,3;4,5,6;7,8,9];
P = 1;
for k = 1:size(M,1)
P = P .* M(k,:);
end
Giving:
>> P
P = 28 80 162
and just for comparison:
>> prod(M,1)
ans = 28 80 162

Catégories

En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by