How to create this function in Matlab?

1 vue (au cours des 30 derniers jours)
vish
vish le 25 Mar 2011
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 commentaires
Matt Fig
Matt Fig le 26 Mar 2011
Did you try the codes below?
vish
vish le 26 Mar 2011
Thanks, I just tried it. Its working. Matlabs really powerful. I am grateful for showing me the snippet.

Connectez-vous pour commenter.

Réponse acceptée

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

Connectez-vous pour commenter.

Plus de réponses (1)

Matt Fig
Matt Fig le 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));
  2 commentaires
Sean de Wolski
Sean de Wolski le 25 Mar 2011
I would use:
./hypot(a,b)
Matt Fig
Matt Fig le 25 Mar 2011
That too...

Connectez-vous pour commenter.

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by