
	 ¿  ߼ʵҥǡ¸ ruby ե
	
			Sep 29, 1999 Ƿ 


饹饤֥꡼

	ͷ1 NArray
	ͷ¿ NMDArray
	»ͽĤ¿ VNMDArray (ȤϤޤä)
	¿ʪץǡ PMDArray
	ʵҷ顼Ĺץåɥǡ SData

ץ롿ƥȥץ

	ƥ饹᤿եˤϥƥѥץȤĤƤ
	롣¹Ԥ  % ruby ե̾  Ȥ롣¿ϳȯѤʤΤǡǤ
	դ˥ȥȤƤΤǡȥȤŬ뤫
	irb(ƥ饯ƥ֤ruby)˥åȡڡȤȤ褤

	sample_*.rb ˤޤȤʥץץϿ롣

ͽɬפʥեȥ

	rubyĤǤ irb äƤɤɤʤƹʤ

	SDataʳrubyɤ

	SData contour ޤ񤯤Τ dcl 饤֥꡼ѤƤ롣
	¸ dcl  ruby 󥿡եgtrbɬ
	(ftp://dennou-t.ms.u-tokyo.ac.jp/arch/davis/ex/1999-06-25-numa/
        gtrb.990629.tar.gz)򥳥ѥ뤷ơdcl.so򥫥ȥǥ
	쥯ȥ꡼˥ܥå󥯤衣
	gtrb  dcl ޤޤʤΤ dcl Τɬס


ƥ饹饤֥꡼β

  ͷ1 NArray

	Ȥ߹ߤ Array Ѿͷǡ갷褦˲
	¤Ρ

	黻Ҥκ : +­*ϳݤ etc.

	sin, cos, exp ʤ (Math⥸塼ˤؿ)

	¾ (abs,sumʤ)Ȥ Array Υ᥽åɤϷ
	ƤlengthȤ


	  NArray.new(10)   # Ĺ10ݡȤ[nil,nil,..]

	ޤ  NArray.indgen(10)   # ơֳ֥ǡ([0,1,2..])


  ͷ¿ NMDArray

	̿		a=NMDArray.new(3,4,2)

	֥å		[], []=
				a[0..-1,1,0]
				a[2..-1,{0..-1,2},0]
				ʤĹ1μݤġäˤ trim Ȥ

	ԡ			b=a.dclone  # deep clone(copy)

	켡ˤ  import1d
				a.import1d(NArray.indgen(a.length))

	ưեޥåȽ	a.prt
				[0, 1, 2,
				3, 4, 5,
				6, 7, 8,
				9, 10, 11,

				12, 13, 14,
				15, 16, 17,
				18, 19, 20,
				21, 22, 23]

	ž			transpose   # ä֤
				transpose([1,2,0]) # 1(0)ֺǸ

	ѷ			rebin
				b=a.rebin(6,4)   # ѷ[3,4,2]->[6,4]

			insert_dim

				b=a.insert_dim([0,100]) 0(1)
				Ĺ100μޤǤμϸ
				ˤ졢켡ϳƱͤȤ롣

				lat = NMDArray.indgen(nlat)
				lat_expanded = lat.insert_dim([0,nlon])

	Ȥ켡ȤƼФ  to_a


	Ĺμä	a.trim! ;  b=a.trim

	Ǿ		max min
	ǡ		length
	η		shape     # a.shape  [3,4,2]
				ndims  rank

	˥Ѳͤ	span  indgen
				span̾Υ᥽åɡindgenϥ饹
				åɤǽԤʤ

	شؿ		sin cos tan exp log log10 sqrt ldexp atan2

	黻			+ - * / **

	ʬ			dif()   0,1,2.. ǻꡣʣġ

				a.dif(1) ==   a[0..-1, 1..-1, 0..-1]
					    - a[0..-1, 0..-2, 0..-1]
				äƥ1

				zcen() ȤʤꤢǤʿѡ1

	濴ʬ		cdif()  üʳǤϰȸǺʬ
				üǤüȤΤȤʤǺʬǷ¸

	åʬ	cycdif  üҤ

	Ҥ		concat()  ϰĤΤ߻

				a.concat(b,2) -- ab3ǷҤ
				̤3ܤȾ a Ⱦ b 
				

	å򿭤	cyc_extend  --- concatδñʱ


	ե			shift


  »ͽĤ¿ VNMDArray

	NMDArrayѾʽäƽǽϼưŪ˻Ȥ

	ǡͭϰϤǤ롣ʤγ¦ǤǡȤϸ
	ʤ­ݤŬѤʤ

	οη»ͽϼ¤̤

  ¿ʪץǡ PMDArray

	VNMDArrayѾʽäƽǽϼưŪ˻Ȥ롣rebin
	ϻȤʤ

	̾ñ̡˳Ƽ̾ġ
	Ǥդ°key(̾)ͤȡˤǤ롣

	
				(̾, ñ, {̾,Ĺ},..)
		+ - / *		ưŸ if ۤʤ
		insert_dim	 [dim,len] Ǥʤ [dim,{name,len}]

	ǽ
		̾ñ̡°ν񤭹ɤ߽Ф


  ʵҷ顼Ĺץåɥǡ SData

¿μѿġ켡Ρּѿ򼡸θĿġ
٤ PMDArray Υ֥ȡ

				(main, 1, 2,...)  
				    --- ơ PMDArray ֥

	֥å		[], []=    NMDArrayƱˡ

	, ̾, ñ etc.	shape, name, units, etc.

	ѿФ		main
	ѿФ		ax()

	󥿡		cont

	ر黻		+ - * / **
	شؿ		NMDArrayƱ̤͡

	ʬ			deriv		based on dif
				cderiv		based on cdif

	¾ NMDArray εǽΤΥ饹ˤʤΤϷѾ
