matlab 字符串数组

在c++中,直接有int n=10; string* arr=new string[n];表示。
但是在matlab中,我用arr=zeros(n,10); 然后赋值: arr(i)='hello' arr(i)='welcome',这样不行,因为第二维的长度不一样。
网上说的创建字符串数组都是arr=['hello' 'welcome']这样的,但是它不能申请一个大小为变量n的字符串数组;
怎么弄?

Matlab创建字符串数组可以采取你所说的方式,但必须保证每行的长度必须相等,为此必须给某些行补充空格符来实现长度一致。

函数str2mat能够自动把字符串数组中的每行进行填充,使他们的长度相等,比如:
>> arr=str2mat('hello','welcome','China','A')

arr =

hello
welcome
China
A
>>如果对您有帮助,别忘了采纳(⊙o⊙)哦!
>>祝学习愉快!
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-02-28
%%例如n = 3时
n = 3;
arr = cell(1,n);
arr(1) = {'hello'};
arr(2) = {'welcome'};
arr(3) = {'computer'};
arr本回答被提问者和网友采纳
相似回答