2012-05-08 67 views
5

我很新的MATLAB編程,我遇到了一些麻煩:MATLAB:Java String []轉換

我想調用一個dSPACE MLIB libriary函數。根據他們的樣本,它需要一個字符串數組作爲參數:

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

libFunction(variables); 

這個變量被傳遞給函數。我現在的問題是:我有一個前端應用程序,用戶可以從應該傳遞給matlab函數的任意字符串中進行選擇。由於前端使用Java編寫,所以傳入數據的類型是java.lang.String []。 如何將一個java字符串數組轉換爲與上面的示例變量類型相同的東西(我認爲它是單元格數組的單元數組或類似的東西)。

在此先感謝!

回答

6

查看文檔。 MATLAB可以很容易地轉換Java和Java類型。

  1. Handling data returned from Java
  2. Dealing with Java arrays

您可以將Java字符串無論是在MATLAB細胞或字符數組的數組。即使使用鋸齒狀數組(可在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); 
+0

嗯我沒想到它是那麼簡單......我想涉案金額高達4個轉換步驟的幾種方法。我會盡快嘗試你的代碼。 – Oromis