comp.lang.idl-pvwave archive
Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado

Home » Public Forums » archive » Subtracting from double complex array
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Switch to threaded view of this topic Create a new topic Submit Reply
Subtracting from double complex array [message #92538] Sat, 09 January 2016 06:53 Go to next message
alghafisuct is currently offline  alghafisuct
Messages: 20
Registered: November 2014
Junior Member
Hi all

I have a double complex array for example 500 by 500 and I want to subtract (3.5e14 + j 2.5e12) from all the values in the complex array that I have... Is there a way of doing it in IDL

Thanks
Re: Subtracting from double complex array [message #92539 is a reply to message #92538] Sat, 09 January 2016 13:02 Go to previous messageGo to next message
Jim  Pendleton is currently offline  Jim Pendleton
Messages: 165
Registered: November 2011
Senior Member
On Saturday, January 9, 2016 at 7:53:59 AM UTC-7, algha...@gmail.com wrote:
> Hi all
>
> I have a double complex array for example 500 by 500 and I want to subtract (3.5e14 + j 2.5e12) from all the values in the complex array that I have... Is there a way of doing it in IDL
>
> Thanks

IDL> a = dcomplexarr(500, 500) ; your array, simulated with zeroes
IDL> a -= dcomplex(3.5d14, 2.5d12) ; subtracts the scalar from all elements
IDL> print, a[0]
( -3.5000000e+014, -2.5000000e+012)

Jim P.
Re: Subtracting from double complex array [message #92540 is a reply to message #92539] Sun, 10 January 2016 02:18 Go to previous messageGo to next message
alghafisuct is currently offline  alghafisuct
Messages: 20
Registered: November 2014
Junior Member
On Saturday, January 9, 2016 at 1:02:09 PM UTC-8, Jim P wrote:
> On Saturday, January 9, 2016 at 7:53:59 AM UTC-7, algha...@gmail.com wrote:
>> Hi all
>>
>> I have a double complex array for example 500 by 500 and I want to subtract (3.5e14 + j 2.5e12) from all the values in the complex array that I have... Is there a way of doing it in IDL
>>
>> Thanks
>
> IDL> a = dcomplexarr(500, 500) ; your array, simulated with zeroes
> IDL> a -= dcomplex(3.5d14, 2.5d12) ; subtracts the scalar from all elements
> IDL> print, a[0]
> ( -3.5000000e+014, -2.5000000e+012)
>
> Jim P.

Thanks Jim I tried what you gave me and seems like not getting what I want. I have the following:

array_HV = make_array(5000, 5359, /dcomplex, /nozero)
filename_HV = ('C:\Users\asus\Desktop\Metasensing\IDL_PROJECTS\20151021115 853_12_SAR_CPLX_0_pres_8.dat')
OPENR, importUnit, filename_HV, /GET_LUN
READU, importUnit, array_HV
CLOSE, importUnit
FREE_LUN, importUnit

array_HV = dcomplexarr(5000, 5359) ; your array, simulated with zeroes
array_HV -= dcomplex(3.6435137d11, 1.6869517d12) ; subtracts the scalar from all elements
print, array_HV[0]

The value of array_HV at [2798,2263] is (3.6435137d11, 1.6869517d12) so if I subtract it should read zero when I write print, array_HV- [2798,2263] but It did not give me zero. It is giving the following:

IDL> print, ARRAY_HV -[2798,2263]
( 3.6435137e+011, 1.6869517e+012)( 3.6435137e+011, 1.6869517e+012)
IDL> print, ARRAY_HV [2798,2263]
( 3.6435137e+011, 1.6869517e+012)

Hope you got my point

Thanks
Re: Subtracting from double complex array [message #92546 is a reply to message #92540] Sun, 10 January 2016 18:21 Go to previous message
Jim  Pendleton is currently offline  Jim Pendleton
Messages: 165
Registered: November 2011
Senior Member
On Sunday, January 10, 2016 at 3:19:06 AM UTC-7, algha...@gmail.com wrote:
> On Saturday, January 9, 2016 at 1:02:09 PM UTC-8, Jim P wrote:
>> On Saturday, January 9, 2016 at 7:53:59 AM UTC-7, algha...@gmail.com wrote:
>>> Hi all
>>>
>>> I have a double complex array for example 500 by 500 and I want to subtract (3.5e14 + j 2.5e12) from all the values in the complex array that I have... Is there a way of doing it in IDL
>>>
>>> Thanks
>>
>> IDL> a = dcomplexarr(500, 500) ; your array, simulated with zeroes
>> IDL> a -= dcomplex(3.5d14, 2.5d12) ; subtracts the scalar from all elements
>> IDL> print, a[0]
>> ( -3.5000000e+014, -2.5000000e+012)
>>
>> Jim P.
>
> Thanks Jim I tried what you gave me and seems like not getting what I want. I have the following:
>
> array_HV = make_array(5000, 5359, /dcomplex, /nozero)
> filename_HV = ('C:\Users\asus\Desktop\Metasensing\IDL_PROJECTS\20151021115 853_12_SAR_CPLX_0_pres_8.dat')
> OPENR, importUnit, filename_HV, /GET_LUN
> READU, importUnit, array_HV
> CLOSE, importUnit
> FREE_LUN, importUnit
>
> array_HV = dcomplexarr(5000, 5359) ; your array, simulated with zeroes
> array_HV -= dcomplex(3.6435137d11, 1.6869517d12) ; subtracts the scalar from all elements
> print, array_HV[0]
>
> The value of array_HV at [2798,2263] is (3.6435137d11, 1.6869517d12) so if I subtract it should read zero when I write print, array_HV- [2798,2263] but It did not give me zero. It is giving the following:
>
> IDL> print, ARRAY_HV -[2798,2263]
> ( 3.6435137e+011, 1.6869517e+012)( 3.6435137e+011, 1.6869517e+012)
> IDL> print, ARRAY_HV [2798,2263]
> ( 3.6435137e+011, 1.6869517e+012)
>
> Hope you got my point
>
> Thanks

Maybe this is just a misunderstanding of IDL's syntax, or perhaps a typo on your part.

The following expression subtracts the two-element vector of *integer* values 2798 and 2263 from ARRAY_HV:

IDL> print, ARRAY_HV - [2798,2263]

If your intent is to subtract an array element's value from all other elements in the array, you would write that as

IDL> result = ARRAY_HV - ARRAY_HV[2798,2263]
IDL> print, result[2798, 2263]
  Switch to threaded view of this topic Create a new topic Submit Reply
Previous Topic: idlcoyote.com
Next Topic: scientific image

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Wed Oct 08 09:21:22 PDT 2025

Total time taken to generate the page: 0.00505 seconds