上三角成分の抽出
Namespace: FVIL.DataAssembly: FVILbasic (in FVILbasic.dll) Version: 3.1.0.0 (3.1.0.17)
Syntax
C# |
---|
public virtual CFviMatrix triu( int k ) |
Visual Basic |
---|
Public Overridable Function triu ( k As Integer ) As CFviMatrix |
Parameters
- k
- Type: System..::..Int32
対角位置
Return Value
Type: CFviMatrixMxN 行列 の上三角部を取り出し、行列オブジェクトに格納して返します。
現在の行列の内容は更新されません。
Remarks
k は対角位置を指定するパラメータで、k=0 は主対角を示します。 k>0のとき主対角よりも上側の対角を、k<0 のとき主対角成分より下側の対角を示します。 min(M,N)≦|k| と指定した場合、エラーとなります。 対角成分を除く下三角部は 0 が格納されます。
生成に失敗した場合は例外を発行します。 例外の原因と発生位置を特定するには、発行された例外クラスの ErrorCode メンバと Function メンバを参照してください。
エラーコード:
値 | ErrorCode メンバ | 内容 |
---|---|---|
51 | FVIL.ErrorCode.LICENSE_ERROR | ライセンスがありません。 |
1 | FVIL.ErrorCode.FAILED_TO_ALLOCATE | メモリの確保に失敗しました。 |
11 | FVIL.ErrorCode.INVALID_PARAMETER | パラメータが不正です。 |
12 | FVIL.ErrorCode.INVALID_OBJECT | メモリが確保されていません。 |
29 | FVIL.ErrorCode.NOT_CALCULABLE | 計算できません。 |
関連する FIE 関数:
fnFIE_mat_triu
Examples
ソースコード:
【関数の出力】
C# | Copy |
---|---|
// $Revision: 1.2 $ using System; using System.Collections.Generic; using System.Text; using fvalgcli; // FvPluginXXXX attribute requires fvalgcli namespace User.SampleCode { public partial class Matrix { /// <summary> /// 上三角成分の抽出. /// </summary> [FvPluginExecute] public void triu() { int rows = 4; int columns = 4; // 1) インスタンスの準備. FVIL.Data.CFviMatrix mat = new FVIL.Data.CFviMatrix(rows, columns); // 2) 行列の要素の設定. mat[0, 0] = 1.0; mat[0, 1] = 3.0; mat[0, 2] = 3.0; mat[0, 3] = 9.0; mat[1, 0] = 4.0; mat[1, 1] = -2.0; mat[1, 2] = 1.0; mat[1, 3] = 3.0; mat[2, 0] = 6.1; mat[2, 1] = -4.0; mat[2, 2] = 8.0; mat[2, 3] = 5.0; mat[3, 0] = -2.0; mat[3, 1] = 3.0; mat[3, 2] = -7.0; mat[3, 3] = 3.0; // 3) 計算実行. int k = 1; FVIL.Data.CFviMatrix result = mat.triu( k ); // 確認) 処理結果の出力. Console.Write("CFviMatrix.triu\n"); for (int row = 0; row < result.Rows; row++) { for (int column = 0; column < result.Columns; column++) { Console.Write("[{0}][{1}]={2} ", row, column, result[row, column]); } Console.Write("\n"); } } } } |
Visual Basic | Copy |
---|---|
' $Revision: 1.1 $ Imports System.Collections.Generic Imports System.Text Imports fvalgcli ' FvPluginXXXX attribute requires fvalgcli Namespace SampleCode Public Partial Class Matrix ''' <summary> ''' 上三角成分の抽出. ''' </summary> <FvPluginExecute> _ Public Sub triu() Dim rows As Integer = 4 Dim columns As Integer = 4 ' 1) インスタンスの準備. Dim mat As New FVIL.Data.CFviMatrix(rows, columns) ' 2) 行列の要素の設定. mat(0, 0) = 1.0 mat(0, 1) = 3.0 mat(0, 2) = 3.0 mat(0, 3) = 9.0 mat(1, 0) = 4.0 mat(1, 1) = -2.0 mat(1, 2) = 1.0 mat(1, 3) = 3.0 mat(2, 0) = 6.1 mat(2, 1) = -4.0 mat(2, 2) = 8.0 mat(2, 3) = 5.0 mat(3, 0) = -2.0 mat(3, 1) = 3.0 mat(3, 2) = -7.0 mat(3, 3) = 3.0 ' 3) 計算実行. Dim k As Integer = 1 Dim result As FVIL.Data.CFviMatrix = mat.triu(k) ' 確認) 処理結果の出力. Console.Write("CFviMatrix.triu" & vbLf) For row As Integer = 0 To result.Rows - 1 For column As Integer = 0 To result.Columns - 1 Console.Write("[{0}][{1}]={2} ", row, column, result(row, column)) Next Console.Write(vbLf) Next End Sub End Class End Namespace |
CFviMatrix.triu [0][0]=0 [0][1]=3 [0][2]=3 [0][3]=9 [1][0]=0 [1][1]=0 [1][2]=1 [1][3]=3 [2][0]=0 [2][1]=0 [2][2]=0 [2][3]=5 [3][0]=0 [3][1]=0 [3][2]=0 [3][3]=0
Exceptions
Exception | Condition |
---|---|
FVIL..::..CFviException | この例外の原因については、上記のエラーコード表をご参照ください。 |