MATLAB:Java String []转换

Oro*_*mis 5 java matlab

我对MATLAB编程很陌生,遇到了一些麻烦:

我想调用dSPACE MLIB libriary函数.根据他们的样本,它需要一个字符串数组作为参数:

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

libFunction(variables);
Run Code Online (Sandbox Code Playgroud)

这个变量传递给函数.我现在的问题是:我有一个前端应用程序,用户可以从一个应该传递给matlab函数的任意数量的字符串中进行选择.由于前端是用Java编写的,因此传入数据的类型是java.lang.String [].我怎样才能将java字符串数组转换为与上面的示例变量类型相同的东西(我认为它是一个单元格数组的单元格数组,或者像那样).

提前致谢!

rev*_*nge 6

看一下文档.MATLAB使得转换为Java类型和从Java类型转换变得非常容易.

  1. 处理从Java返回的数据
  2. 处理Java数组

您可以在MATLAB中将Java字符串数组转换为单元格或char数组.使用单元格数组甚至可以使用锯齿状数组(Java中允许使用).

这是两个简单的例子:

%# 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);
Run Code Online (Sandbox Code Playgroud)