パッケージ化された MATLAB 関数の呼び出し
Python® クライアントと MATLAB® Production Server™ インスタンス間の接続は matlab.production_server.client.MWHttpClient オブジェクトにカプセル化されます。クライアント接続オブジェクトを使用して、デプロイされた MATLAB 関数を呼び出します。
result1,...resultN = my_client.archive_name.function_name(in_args,
nargout=nargs)my_client— クライアント接続オブジェクトの名前archive_name— 関数をホストするデプロイ可能なアーカイブの名前function_name— 呼び出す関数の名前in_args— 入力引数のコンマ区切りリストnargs— 予期されるサーバーからの結果の数。既定値は 1 です。
メモ
呼び出す関数が出力を返す場合、関数呼び出しの左側の各変数には単一の戻り値が入ります。関数呼び出しの左側に指定した変数の数が nargs より少ない場合、最後にリストされた変数に残りの結果のリストが含まれます。以下に例を示します。
result1, result2 = myMagic.triple(5,nargout=3)
この場合、result1 には単一の値が格納され、result2 には 2 つの値を含むリストが格納されます。
複数の出力を返す MATLAB 関数の呼び出し
個別変数としての複数の結果の受け取り
デプロイ可能なアーカイブ copier から MATLAB 関数 c1,c2 = copy(o1,o2) を呼び出すには、以下のコードを使用します。
>>> import matlab
>>> from production_server import client
>>> my_client = client.MWHttpClient("http://localhost:9910")
>>> c1,c2 = my_client.copier.copy("blue",10,nargout=2)
>>> print(c1)
"blue"
>>> print(c2)
10変数 c1 と c2 には単一の戻り値が入ります。
単一のオブジェクトとしての複数の結果の受け取り
デプロイ可能なアーカイブ copier から MATLAB 関数 copies = copy(o1,o2) を呼び出すには、以下のコードを使用します。
>>> import matlab
>>> from production_server import client
>>> my_client = client.MWHttpClient("http://localhost:9910")
>>> copies = my_client.copier.copy("blue",10,nargout=2)
>>> print(copies)
["blue",10]変数 copies には、すべての戻り値を含むリストが入ります。
ゼロ個の出力を返す MATLAB 関数の呼び出し
デプロイ可能なアーカイブ mutations から MATLAB 関数 mutate(m1, m2, m3) を呼び出すには、以下のコードを使用します。
import matlab
from production_server import client
my_client = client.MWHttpClient("http://localhost:9910")
m1 = matlab.double(...)
m2 = matlab.double(...)
m3 = matlab.double(...)
my_client.mutations.mutate(m1,m2,m3)単一の出力を返す MATLAB 関数の呼び出し
デプロイ可能なアーカイブ mutations から MATLAB 関数 result = mutate(m1, m2, m3) を呼び出すには、以下のコードを使用します。
import matlab
from production_server import client
my_client = client.MWHttpClient("http://localhost:9910")
m1 = matlab.double(...)
m2 = matlab.double(...)
m3 = matlab.double(...)
result = my_client.mutations.mutate(m1,m2,m3)参考
matlab.production_server.client.MWHttpClient