Clear Filters
Clear Filters

Multiply the vector organs

2 views (last 30 days)
Eran Shvartzman
Eran Shvartzman on 27 Dec 2017
Edited: John D'Errico on 27 Dec 2017
How to multiply the vector parts without using a prod function
For example: s=[1 2 3 4], v=24

Answers (2)

John D'Errico
John D'Errico on 27 Dec 2017
Edited: John D'Errico on 27 Dec 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 Comments
Matt J
Matt J on 27 Dec 2017
Edited: Matt J on 27 Dec 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.

Sign in to comment.


Matt J
Matt J on 27 Dec 2017
Edited: Matt J on 27 Dec 2017
for i=1:4
v=exp(sum(log(s)));
end
  1 Comment
John D'Errico
John D'Errico on 27 Dec 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.

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!