How to create this function in Matlab?

1 view (last 30 days)
I want to write a mathematical function in matlab so that I can call it in my program whenever needed.
? a(n).b(n)/sqrt((a(n)^2) + (b(n)^2))
n=0 to limit. The limit is approx 1000.
a and b are 1 dimensional matrix. size of a and b is : (1xlimit)
  6 Comments
Matt Fig
Matt Fig on 26 Mar 2011
Did you try the codes below?
vish
vish on 26 Mar 2011
Thanks, I just tried it. Its working. Matlabs really powerful. I am grateful for showing me the snippet.

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 25 Mar 2011
Assuming the '?' is the summation operator, then:
sum(a.*b./sqrt(a.^2 + b.^2))
  1 Comment
Matt Fig
Matt Fig on 25 Mar 2011
Beat me too it! I was too slow deciphering the question, I guess.

Sign in to comment.

More Answers (1)

Matt Fig
Matt Fig on 25 Mar 2011
If I understand you correctly,
function S = mysum(a,b)
S = sum(a.*b./sqrt(a.^2 + b.^2));
EDIT
.
. Sean de points out known stability issues with square roots of the sum of squares.
function S = mysum(a,b)
S = sum(a.*b./hypot(a,b));

Products

Community Treasure Hunt

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

Start Hunting!