Problem with abs()

So i have a function which i plot that looks like this
f(x)= (1i*omega*mueh)*(2*d^3/3*1000/(pi*120))*(-(i *(x - x1)* exp(-i* k* sqrt((x - x1)^2 + (y - y1)^2 + (z - z1)^2))* (k* sqrt((x - x1)^2 + (y - y1)^2 + (z - z1)^2) - i))/(4* pi *((x - x1)^2 + (y - y1)^2 + (z - z1)^2)^(3/2)))
It is a function for an the z component of an electric field. I now need the absolut value of that field. Here comes the kicker.
I get two different results. Its different between abs() and doing sqrt(a^2+b^2). So it seems like i dont really know enough about abs() or what it really does. I though i should get the same result. can someone enlighten me so i dont fall for this again?
I Attached my script. There is a lot going on. Its basicly a superpositon of the values.
The important lines are 136 and 138

4 Comments

Jan
Jan on 25 Oct 2017
Edited: Jan on 25 Oct 2017
Please post the used code. "abs()" and "sqrt(a^2+b^2)" leaves open, what is used as argument of abs() and what "a" and "b" is. What exactly is "abs by hand?"
Torsten
Torsten on 25 Oct 2017
Please show the code you are using for the plot.
Best wishes
Torsten.
Not is not clear what your a and b are for this purpose?
Patrick Philipiak
Patrick Philipiak on 25 Oct 2017
Edited: Patrick Philipiak on 25 Oct 2017
Sorry im new to the matlab forum. I attached the script so you can reproduce it now.

Sign in to comment.

Answers (1)

KSSV
KSSV on 25 Oct 2017

0 votes

abs gives you a positive value always if you input a number. It gives you sqrt(Real^2+imaginary^2) if you input a a complex number.

Categories

Find more on Programming in Help Center and File Exchange

Products

Tags

Asked:

on 25 Oct 2017

Edited:

on 25 Oct 2017

Community Treasure Hunt

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

Start Hunting!