我对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字符串数组转换为与上面的示例变量类型相同的东西(我认为它是一个单元格数组的单元格数组,或者像那样).
提前致谢!
看一下文档.MATLAB使得转换为Java类型和从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)