Azzera filtri
Azzera filtri

Multiply the vector organs

2 visualizzazioni (ultimi 30 giorni)
Eran Shvartzman
Eran Shvartzman il 27 Dic 2017
Modificato: John D'Errico il 27 Dic 2017
How to multiply the vector parts without using a prod function
For example: s=[1 2 3 4], v=24

Risposte (2)

John D'Errico
John D'Errico il 27 Dic 2017
Modificato: John D'Errico il 27 Dic 2017
You want to multiply s*v, so perform that multiplication, but without using the * operator? May I ask why you want to do such a silly thing, instead of just doing s*v?
As long as one of them is a scalar, then conv will suffice.
conv(s,v)
It will be slower, less efficient. It will serve absolutely no purpose.
(See the comments in case I was wrong in interpreting the ambiguous question.)
  5 Commenti
Matt J
Matt J il 27 Dic 2017
Modificato: Matt J il 27 Dic 2017
Note that this survives even if one of the elements of s is zero.
So, incidentally, does exp(sum(log(s))).
>> v=exp(sum(log([0,1,2,3])))
v =
0
Negative numbers work, too.
John D'Errico
John D'Errico il 27 Dic 2017
Good point!

Accedi per commentare.


Matt J
Matt J il 27 Dic 2017
Modificato: Matt J il 27 Dic 2017
for i=1:4
v=exp(sum(log(s)));
end
  1 Commento
John D'Errico
John D'Errico il 27 Dic 2017
You may be right here. the request may be to write v=prod(s), without use of prod, instead of forming the product s*v.

Accedi per commentare.

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by