Filter löschen
Filter löschen

How to create this function in Matlab?

2 Ansichten (letzte 30 Tage)
vish
vish am 25 Mär. 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 Kommentare
Matt Fig
Matt Fig am 26 Mär. 2011
Did you try the codes below?
vish
vish am 26 Mär. 2011
Thanks, I just tried it. Its working. Matlabs really powerful. I am grateful for showing me the snippet.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Matt Fig
Matt Fig am 25 Mär. 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 Kommentare
Sean de Wolski
Sean de Wolski am 25 Mär. 2011
I would use:
./hypot(a,b)
Matt Fig
Matt Fig am 25 Mär. 2011
That too...

Melden Sie sich an, um zu kommentieren.

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by