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);

 Risposta accettata

Matt Fig
Matt Fig il 14 Apr 2011
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 Commenti

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 ^.

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by