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 Comments

What is this: a(n).b(n)
is that supposed to be: a(n)*b(n)
Is the '?' the summation operator?
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.
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
Did you try the codes below?
Thanks, I just tried it. Its working. Matlabs really powerful. I am grateful for showing me the snippet.

Sign in to comment.

 Accepted Answer

Assuming the '?' is the summation operator, then:
sum(a.*b./sqrt(a.^2 + b.^2))

1 Comment

Beat me too it! I was too slow deciphering the question, I guess.

Sign in to comment.

More Answers (1)

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!