what is wrong in this code in matlab?

2 vues (au cours des 30 derniers jours)
Taleb Almajrbi
Taleb Almajrbi le 14 Avr 2011
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 commentaire
Walter Roberson
Walter Roberson le 14 Avr 2011
'and' is not valid at that position in the code.

Connectez-vous pour commenter.

Réponse acceptée

Matt Fig
Matt Fig le 14 Avr 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 commentaires
Taleb Almajrbi
Taleb Almajrbi le 14 Avr 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 le 14 Avr 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 ^.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by