/// <summary>
        /// <para>�w�肳�ꂽ1�����z���C�w�肳�ꂽ�s��`���ŃR�s�[����D</para>
        /// <para>�z��̃T�C�Y�ƁurowSize * columnSize�v�͈�v���Ȃ���΂Ȃ�Ȃ��D</para>
        /// </summary>
        /// <param name="body">�R�s�[�����z��</param>
        /// <param name="rowSize">�s��</param>
        /// <param name="columnSize">��</param>
        /// <returns>�R�s�[��̎��g�ւ̎Q��</returns>
        internal virtual MyDoubleMatrix CopyFrom(Double[] body, int rowSize, int columnSize)
        {
            // ���͂̌���
            System.Diagnostics.Debug.Assert(body.Length == rowSize * columnSize);
            if (body.Length != rowSize * columnSize)
            {
                return this;
            }

            // �o�b�t�@�m��
            if (this._rsize == rowSize && this._csize == columnSize)
            {
                // ������Ȃ�
            }
            else if (this._body != null && this._body.Length == rowSize * columnSize)
            {
                this._rsize = rowSize;
                this._csize = columnSize;
            }
            else
            {
                Resize(rowSize, columnSize);
            }

            // �R�s�[
            body.CopyTo(this._body, 0);
            return this;
        }
Пример #2
0
 //вычисляет производную
 private Double dF(Double[] mX, int i)
 {
     Double[] newX = new Double[mX.Length];
     mX.CopyTo(newX, 0);
     newX[i] = newX[i] + eps / 10000;
     return (F(newX) - F(mX)) / (eps / 10000);
 }