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

 Akzeptierte Antwort

Matt Fig
Matt Fig am 14 Apr. 2011

0 Stimmen

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 Kommentare

Matt Fig
Matt Fig am 14 Apr. 2011
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!
Taleb Almajrbi
Taleb Almajrbi am 14 Apr. 2011
no, i want to use example if x=5
sqr(x)must = 25 how can i use it in matlab
Matt Fig
Matt Fig am 14 Apr. 2011
In that case:
sqr = @(x) x.^2; % Define this first.
sqr(5)
Taleb Almajrbi
Taleb Almajrbi am 14 Apr. 2011
hi Matt
so how can i use this in my code
many thanks
Matt Fig
Matt Fig am 14 Apr. 2011
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.
Taleb Almajrbi
Taleb Almajrbi am 14 Apr. 2011
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
Matt Fig
Matt Fig am 14 Apr. 2011
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 ^.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by