How to create this function in Matlab?

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 25 Mär. 2011
What is this: a(n).b(n)
is that supposed to be: a(n)*b(n)
Walter Roberson
Walter Roberson am 25 Mär. 2011
Is the '?' the summation operator?
vish
vish am 26 Mär. 2011
Sorry, the '?' is a summation operator. Its still showing me the operator but I believe the symbol is not recognizable in other computers.
summation of n=0 to limit...
summation of a(n)*b(n)/(sqrt((a(n)^2) + (b(n)^2)))
limit is the size of matrix a and b.
vish
vish am 26 Mär. 2011
I will try to explain in a better way. if x= 4 then i want to do
a(1)*b(1)/(sqrt((a(1)^2) + (b(1)^2))) + a(2)*b(2)/(sqrt((a(2)^2) + (b(2)^2))) + a(3)*b(3)/(sqrt((a(3)^2) + (b(3)^2))) + a(4)*b(4)/(sqrt((a(4)^2) + (b(4)^2))).
In my actual program the value of x is more than 1000, so its not possible for me to do it manually. I am sorry I cudnt explain properly earlier.
a and b are 1x4 matrix
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

0 Stimmen

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

0 Stimmen

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