[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[dennou-ruby:000217] NumArray prototype in ruby
��Ƿ��Ǥ���
NumArray �� ruby �ˤ��ץ��ȥ����פλ���ʡ�Ĺ��..�ˤ��äƤ�
�ޤ�����
ftp://dennou-t.ms.u-tokyo.ac.jp/arch/davis/ex/2000-02-06-horinout/
�ʲ��� num_array-20000206.tar �ޤ��Ϥ���Ÿ���ե����� num_array/ �Ǥ���
����ˡ�� numarray.rb �κǸ�Υƥ�����ʬ�Ȥ��Ƥ����������¹Ԥ�
% ruby numarray.rb
�Ǥ���
�����ä���Τϡ����Ĥ� NMDArray �ȾΤ��ƺ�ä���Τȴ���Ū��Ʊ
���Ǥ������㴳�������ޤ���
��0. ̾��
�켡������ BasicNumArray
¿�������� NumArray
��1. ���饹����
���֥��å�����Ȥ�Ȥ���ɬ�פʡ������ź���פ饹 ArrayIndex
�Ȥ�����Ω�����ޤ������ܤ����� README_arrayindex �ȡ�
��2. �ޥ�����
����ǥå����Ȥ��� true �� false(�ޤ���nil) ����ʤ������������
������褦�ˤ��ޤ�����true�ΤȤ����������Ф�����([]���
�ɤ�)���������([]=��åɤ�)���뤿��Ǥ�����ä�
BasicNumArray �Ǥ����������б������Τ��ߤ����Ǥ����פ� true ��
false �����̤Ǥ���Ф����ΤǼ��Τ������Ǥ���ޤ�����ä���
�ʤ��ΤǥХ��ȷ����ߤ����Ǥ� �� ���Ȥ����ʤߤ���������
�����ɤ����ϥ�å� logical? �� true ���֤������Τˤ� flase�ޤ�
��nil�ʳ����֤��ˤ��ɤ�����Ƚ�ꤷ�Ƥ��ޤ����ǡ�mask �����Ǥ�
false/nil �ʳ��Υ���ǥå��������ޤ����פ���˳����Ǥ� if ��
Ŭ�Ѥ���Ƚ�̤��Ƥ���ˡ�
�ޥ����μ�����ӤȤ��������������� if �����ꤷ�Ƥ��ޤ���
Fortran90�ʤ� where ��ʸ�ǹԤ����Ȥ��������ޤ������Τ�����ӱ黻
��å� le (=less or equal), gt (=greater than) �������������
�������֤��褦�ˤ��Ƥ��ޤ����㤨��
a[a.le(0.0)] = 0.0
������ a ������ͤ��ˤ��ޤ��������
mask = a.le(0.0) ; a[mask] = 0.0
��Ʊ���Ǥ�����åɤΥ��å��Ͼ�ά�Ǥ��ޤ��Τǡ�a[a.le 0.0]=0.0
�Ȥ�ޤ����ޤ� and, or �黻��åɤϤ��줾�� and_ �� or_ ��
��(�������������������)��"le" �������˱黻�� "<=" ����������
�뤳�Ȥ�ͤ����ޤ�����&&,||,and,or �Ϻ�����Ǥ��ޤ���<= ���
����ɬ�� (a <= b) && (b <= c) �ȽХ���Ǻ�ޤ���ޤ����顢����
���ۤ��������Ǥ���
�ޥ����ϳƼ����˴ؤ��Ƥ�Ŭ�ѤǤ��ޤ����㤨�Ф���ʴ�����
u_NH_average = u_wind[ true , lat.gt 0 ].average
��average��̤�����Ǥ�������ǥå����� true �� 0..-1 ��Ʊ��������
��
��3. NMDArray �Τ����Ĥ��ε�ǽ (transpose�Ȥ�������ĥ��ʿ�ѤȤ�)
��̤������
��Ƿ�� �� horinout@xxxxxx
�������Ķ�������ȸ��楻�� 611-0011 �����Ըޥ���
phone:0774-38-3812 fax:0774-31-8463