how can i determine the absolute value of a vector?
so for example
if i had x=[ -0.5 .3 .5 -0.5]
how would i determine the absolute value of each individual term in the vector?
i've tried using "abs" but it spits back one value.

 채택된 답변

Roger Stafford
Roger Stafford 2014년 2월 12일

1 개 추천

That isn't true of matlab's 'abs' function. For every value in x it will return its absolute value. For every individual complex number it will return the square root of the sum of the squares of its real and imaginary parts.
I suspect you have a false 'abs' function somewhere on your system that is being called instead of the true 'abs'. You had better check on that.

댓글 수: 5

Use
>>which abs(x)
to find the version of abs() that is being called on x.
Kyle
Kyle 2014년 2월 12일
here is my code. i'm trying to do abs(((yexact-y)/yexact)) i'm getting 1 value and i don't know why.
h=0.1; t(1)=0; y(1)=1; t=0:h:5;
for i=1:(numel(t)-1);
k=2-exp(-4*t(i))-2*y(i) ;
y(i+1)=y(i)+h*k;
end
plot(t,y)
xlabel('t')
ylabel('y')
title('Euler Method: Problem 1 ')
hold on
h2=0.001;
t2(1)=0;
y2(1)=1;
t2=0:h2:5;
for i=1:(numel(t2))-1;
k2=2-exp(-4*t2(i))-2*y2(i) ;
y2(i+1)=y2(i)+h2*k2;
end
plot(t2,y2,'g')
t3=[0:0.1:5];
yexact=1+0.5*exp(-4*t3)-0.5*exp(-2*t3);
plot(t3,yexact,'r')
Note the missing '.'
abs(((yexact-y)./yexact))
Kyle
Kyle 2014년 2월 12일
thank you!
Roger Stafford
Roger Stafford 2014년 2월 12일
I'll expand Matt's answer. You have used matrix division in yexact-y)/yexact and for this case the result would be a single 1 x 1 value, not a vector.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Creating and Concatenating Matrices에 대해 자세히 알아보기

태그

질문:

2014년 2월 12일

댓글:

2014년 2월 12일

Community Treasure Hunt

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

Start Hunting!

Translated by