Scilab-Branch-6.1-GIT
- Scilabヘルプ
- API Scilab
- legacy
- Low level functions
- AssignOutputVariable
- 論理値の読み込み (Scilabゲートウェイ)
- 論理値の書き込み (Scilabゲートウェイ)
- 論理値疎行列の読み込み (Scilabゲートウェイ)
- 論理値の疎行列の書き込み (Scilabゲートウェイ)
- CallOverloadFunction
- 変数の次元を確認 (Scilabゲートウェイ)
- CheckInputArgument
- CheckOutputArgument
- 変数リファレンス (Scilabゲートウェイ)
- 変数の次元 (Scilabゲートウェイ)
- 変数の型 (Scilabゲートウェイ)
- 複素数変数 (Scilabゲートウェイ)
- 行列型 (Scilab ゲートウェイ)
- deleteNamedVariable
- doubleの読み込み (Scilabゲートウェイ)
- doubleの書き込み (Scilabゲートウェイ)
- getNbInputArgument (Scilabゲートウェイ)
- getNbOutputArgument (Scilabゲートウェイ)
- ハンドルの読み込み (Scilab ゲートウェイ)
- ハンドルの書き込み (Scilab ゲートウェイ)
- 整数の精度 (Scilabゲートウェイ)
- 整数の読み込み (Scilab ゲートウェイ)
- 整数の書き込み (Scilabゲートウェイ)
- nbInputArgument (Scilab ゲートウェイ)
- ポインタの読み込み (Scilabゲートウェイ)
- ポインタの書き込み (Scilabゲートウェイ)
- 多項式の記号変数 (Scilabゲートウェイ)
- 多項式の読み込み (Scilabゲートウェイ)
- 多項式の書き込み (Scilabゲートウェイ)
- ReturnArguments
- 疎行列の読み込み (Scilab ゲートウェイ)
- 疎行列の書き込み (Scilab ゲートウェイ)
- 文字列の読み込み (Scilab ゲートウェイ)
- 文字列の書き込み (Scilab ゲートウェイ)
- UpdateStack
Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
However, this page did not exist in the previous stable version.
変数の次元を確認 (Scilabゲートウェイ)
変数の次元を調べる C ゲートウェイ関数.
呼び出し手順
int checkVarDimension(void* _pvCtx, int* _piAddress, int _iRows, int _iCols)
int isRowVector(void* _pvCtx, int* _piAddress)
int isColumnVector(void* _pvCtx, int* _piAddress)
int isVector(void* _pvCtx, int* _piAddress)
int isScalar(void* _pvCtx, int* _piAddress)
int isSquareMatrix(void* _pvCtx, int* _piAddress)
int isEmptyMatrix(void* _pvCtx, int* _piAddress)
引数
- _pvCtx
Scilab環境ポインタ, api_scilab.hで定義される "pvApiCtx" を指定
- _piAddress
Scilab変数のアドレス.
- _iRows
予定する行数
- _iCols
予定する列数
説明
変数の次元を調べるCゲートウェイ関数.
例
この例では, Cインターフェイス関数は複数の入力引数をとり, 入力の次元と複数のテスト結果を出力します.
#include "api_scilab.h" #include "sciprint.h" int check_matrix_dimension(char * fname) { SciErr sciErr; int* piAddr = NULL; int iRows = 0; int iCols = 0; CheckInputArgument(pvApiCtx, 1, 1); sciErr = getVarAddressFromPosition(pvApiCtx, 1, &piAddr); if(sciErr.iErr) { printError(&sciErr, 0); return 1; } sciErr = getVarDimension(pvApiCtx, piAddr, &iRows, &iCols); if(sciErr.iErr) { printError(&sciErr, 0); return 1; } if(checkVarDimension(pvApiCtx, piAddr, iCols, iRows)) { sciprint("checkVarDimension returns false\n"); } else { sciprint("checkVarDimension returns true\n"); } if(isRowVector(pvApiCtx, piAddr)) { sciprint("isRowVector\n"); } if(isColumnVector(pvApiCtx, piAddr)) { sciprint("isColumnVector\n"); } if(isVector(pvApiCtx, piAddr)) { sciprint("isVector\n"); } if(isScalar(pvApiCtx, piAddr)) { sciprint("isScalar\n"); } if(isSquareMatrix(pvApiCtx, piAddr)) { sciprint("isSquareMatrix\n"); } if(isEmptyMatrix(pvApiCtx, piAddr)) { sciprint("isEmptyMatrix\n"); } //no return value AssignOutputVariable(pvApiCtx, 0) = 1; return 0; }
Scilabテストスクリプト
check_matrix_dimension([1,2,3;4,5,6]); check_matrix_dimension([1,2,3]); check_matrix_dimension([1;2;3]); check_matrix_dimension([1]); check_matrix_dimension([1,2;3,4]); check_matrix_dimension([]);
参照
- sciprint — ユーザに標準メッセージを出力するCゲートウェイ関数 (C printf関数と同じプロファイル)
Report an issue | ||
<< CallOverloadFunction | Low level functions | CheckInputArgument >> |