sampleFunc.mがProduction Serverコンパイラの「アーカイブの実行に必要な追加ファイル」に入っていれば、①から②を呼び出すのができるようになります。
①と②が同じ階層か、②がMATLABのpathコマンドで表示される検索パスのフォルダにあれば、コンパイル時に自動的に取り込まれます。
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1145755/image.jpeg)
WindowsのコマンドプロンプトからcURLで呼び出し。
curl -v -H "Accept: application/json" -H "Content-type: application/json" http://localhost:9910/myfunc/myfunc -d "{\"nargout\":1, \"rhs\":[100], \"outputFormat\":{\"mode\": \"large\",\"nanInfFormat\": \"object\"}}"
実行結果
* Trying 127.0.0.1:9910...
* Connected to localhost (127.0.0.1) port 9910 (#0)
> POST /myfunc/myfunc HTTP/1.1
> Host: localhost:9910
> User-Agent: curl/7.83.1
> Accept: application/json
> Content-type: application/json
> Content-Length: 85
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Content-Type: application/json
< Content-Length: 59
< Connection: Keep-Alive
<
{"lhs":[{"mwdata":[100],"mwsize":[1,1],"mwtype":"double"}]}* Connection #0 to host localhost left intact
「MathWorks.MATLAB.ProductionServer.ClientでProduction Serverにある①を呼び出し」でMPSクライアント側でどのようにMPS呼び出しの処理を書いていますでしょうか?
また、デバッグ用にProduction Serverコンパイラで「クライアントのテスト」ボタンをクリックして、「CORSを有効にする」にチェックを入れて、「起動」を押して、MATLAB上でMPSの疑似インスタンスを開始してください。
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1145760/image.jpeg)
エディターで①のmファイル(ここではmyfunc.m)を開き、sampleFuncを呼び出す前(ここでは2行目)にブレークポイントを張り、MPSの関数をクライアントから呼び出してみてください。xにどのデータ型が渡っているのか確認できます。
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1145765/image.jpeg)