what is wrong in this code in matlab?

hi can you tell me what is wrong in this code becouse o got wrong message which is (??? Undefined function or method 'sqr' for input arguments of type 'double')
for (c1=sqr(features1(:,j)- mean_of_column1); and
p1=0;
p2=0;
for j=1:c
c1=sqr(features1(:,j)- mean_of_column1);
c2=sqr(features2(:,j)- mean_of_column2);
p1=p1+c1;
p2=p2+c2;
end;
denominator=sqrt(p1)* sqrt(p2);

1 Comment

'and' is not valid at that position in the code.

Sign in to comment.

 Accepted Answer

You probably mean to use the SQRT function to find the square root.
In response to your clarifying comment,
sqr = @(x) x.^2; % Define this first, before you use it!
sqr(5)

7 Comments

Another example of the poor search capabilities on TMW website. Searching for sqrt in "latest documentation" doesn't turn up the non-symbolic form of this function in the first three pages!
no, i want to use example if x=5
sqr(x)must = 25 how can i use it in matlab
In that case:
sqr = @(x) x.^2; % Define this first.
sqr(5)
hi Matt
so how can i use this in my code
many thanks
Just like I showed you! First define the function, then use the function. Put the function definition line
sqr = @(x) x.^2; % Define this first.
anywhere in the code BEFORE you use it.
hi matt
i got another wrong message which is (??? Error using ==> mtimes
Inner matrix dimensions must agree.) for denominator=sqrt(p1)* sqrt(p2); in the same code.
can you solve it to me?
thanks
Yes, whenever you are working with arrays and need to do element by element multiplication, use this instead:
sqrt(p1).* sqrt(p2); % Notice the .* instead of * only.
The same goes for / and ^.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!