3D matrix [message #89798] |
Thu, 04 December 2014 03:09  |
g.nacarts
Messages: 148 Registered: November 2013
|
Senior Member |
|
|
Hi
I have a 3D matrix A = Array[100, 200, 200]
A = [time, x, y]
I want to create a matrix B which is the average of the first 10 time points (total is 100 time points). I should end up with a 2D matrix B=Array[200,200].
Can anyone help please?
|
|
|
Re: 3D matrix [message #89799 is a reply to message #89798] |
Thu, 04 December 2014 03:18   |
Helder Marchetto
Messages: 520 Registered: November 2011
|
Senior Member |
|
|
On Thursday, December 4, 2014 12:09:29 PM UTC+1, g.na...@gmail.com wrote:
> Hi
>
> I have a 3D matrix A = Array[100, 200, 200]
> A = [time, x, y]
>
> I want to create a matrix B which is the average of the first 10 time points (total is 100 time points). I should end up with a 2D matrix B=Array[200,200].
>
> Can anyone help please?
How about
b = mean(a[0:9,*,*],dimension=1)
is this what you mean?
Helder
|
|
|
|
|
Re: 3D matrix [message #89802 is a reply to message #89800] |
Thu, 04 December 2014 03:55  |
Helder Marchetto
Messages: 520 Registered: November 2011
|
Senior Member |
|
|
On Thursday, December 4, 2014 12:45:26 PM UTC+1, g.na...@gmail.com wrote:
> dimension keyword is not allowed in call to mean.
>
> I tried the b = mean(a[0:9,*,*]) but I end up with a single value which is not what I need.
IDL> a = findgen(100,200,200)
IDL> b = mean(a[0:9,*,*], dimension=1)
IDL> help, b
B FLOAT = Array[200, 200]
IDL> !version
{
"ARCH": "x86_64",
"OS": "Win32",
"OS_FAMILY": "Windows",
"OS_NAME": "MicrosoftWindows",
"RELEASE": "8.4",
"BUILD_DATE": "Sep272014",
"MEMORY_BITS": 64,
"FILE_OFFSET_BITS": 64
}
I guess you don't have the latest version of IDL.
Well, calculating the mean is not that difficult:
b = total(a[0:9,*,*], 1)/10.0
Cheers,
Helder
|
|
|