what is wrong in this code in matlab?

3 visualizzazioni (ultimi 30 giorni)
Taleb Almajrbi
Taleb Almajrbi il 14 Apr 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);

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
Taleb Almajrbi
Taleb Almajrbi il 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 il 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 ^.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Linear Algebra in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by