relative error: Error using ==> mtimes

6 Ansichten (letzte 30 Tage)
NH
NH am 16 Sep. 2012
Hello I am trying to get the relative error for sinx=sqrt(1-cos^2(x) and getting error with this matlab code:
clear
clc
x=logspace(-1,-10,10);
lhs=sin(x);
t=cos(x);
rhs=sqrt(1-cos(x)*cos(x));
abserr=abs(lhs-rhs);
Rel=abs((lhs-rhs)/lhs);
disp('x error rel.error')
disp('--------------------')
for i=1:10
disp(sprintf('%22.15e %22.15e %22.15e\n',x(i),abserr(i),Rel(i)))
end
end
??? Error using ==> mtimes Inner matrix dimensions must agree.
Error in ==> Q at 6 rhs=sqrt(1-cos(x)*cos(x));
any idea? thanks

Akzeptierte Antwort

Jan
Jan am 16 Sep. 2012
Bearbeitet: Jan am 16 Sep. 2012
rhs = sqrt(1 - cos(x) .* cos(x))
While * performs the matrix multiplication, .* multiplies elementwise.

Weitere Antworten (1)

NH
NH am 16 Sep. 2012
thank you thats solved the problem. Now after i run it i get this new error:
?? Attempted to access Rel(2); index out of bounds because numel(Rel)=1.
Error in ==> Q at 11 disp(sprintf('%22.15e %22.15e %22.15e/n',x(i),abserr(i),Rel(i)))
clear
clc
x=logspace(-1,-10,10);
lhs=sin(x);
rhs=sqrt(1-cos(x).*cos(x));
abserr=abs(lhs-rhs);
Rel=abs((lhs-rhs)/lhs);
disp('x error rel.error')
disp('--------------------')
for i=1:10
disp(sprintf('%22.15e %22.15e %22.15e\n',x(i),abserr(i),Rel(i)))
end
end
  2 Kommentare
Jan
Jan am 17 Sep. 2012
Bearbeitet: Jan am 17 Sep. 2012
  1. Please post a new thread for a new problem.
  2. Use the debugger to find the reasons for the size of Rel: Set a breakpoint in the line Rel=abs((lhs-rhs)/lhs) to find out, that exactly the same argument of matrix versus elementwise operations concerns the division also. Therefore you need ./ instead of / . Surprised?
NH
NH am 17 Sep. 2012
1. Thank you, next time I will. 2. Wow! thank you fore your advice exactly what I needed.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Operators and Elementary Operations finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by