6

私はMATLABプログラミングにまったく慣れておらず、いくつかの問題に遭遇しました。

dSPACEMLIBライブラリ関数を呼び出したい。彼らのサンプルによると、引数として文字列配列が必要です。

variables = {'Model Root/Spring-Mass-Damper System/Out1';...
         'Model Root/Signal\nGenerator/Out1'};

libFunction(variables);

この変数は関数に渡されます。私の問題は今です:ユーザーがmatlab関数に渡されるべき任意の数の文字列から選択できるフロントエンドアプリケーションがあります。フロントエンドはJavaで記述されているため、受信データのタイプはjava.lang.String[]です。Java文字列の配列を上記のサンプル変数と同じ型の配列に変換するにはどうすればよいですか(セル配列のセル配列またはそのようなsthだと思います)。

前もって感謝します!

4

1 に答える 1

7

ドキュメントを見てください。MATLABを使用すると、Javaタイプとの間の変換が非常に簡単になります。

  1. Javaから返されたデータの処理
  2. Java配列の処理

Java文字列の配列は、MATLABでセルまたはchar配列に変換できます。セル配列の使用は、ジャグ配列(Javaで許可されている)でも機能します。

次に、2つの簡単な例を示します。

%# Preparing a java.lang.String[] to play with.
a = javaArray('java.lang.String',10);
b = {'I','am','the','very','model','of','a','modern','major','general'};
for i=1:10; a(i) = java.lang.String(b{i}); end;

%# To cell array of strings. Simple, eh?
c = cell(a);

%# To char array. Also simple.
c = char(a);
于 2012-05-08T08:03:59.090 に答える