absolute value of a vector

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.

 Accepted Answer

Roger Stafford
Roger Stafford on 12 Feb 2014
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 Comments

Use
>>which abs(x)
to find the version of abs() that is being called on x.
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))
thank you!
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.

Sign in to comment.

More Answers (0)

Categories

Tags

Community Treasure Hunt

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

Start Hunting!