首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MATLAB -存储字符串

MATLAB -存储字符串
EN

Stack Overflow用户
提问于 2012-04-30 10:46:55
回答 2查看 122关注 0票数 0

我想创建一些东西来存储字符串,例如:

代码语言:javascript
复制
for x = 1:3

fruit = strcat('orange', num2str(x));

A = {fruit};

如何生成1x3矩阵的输出

代码语言:javascript
复制
A = 
orange1
orange2
orange3

我试过几种方法,但都不管用。

我不认为这很复杂,但我似乎就是想不通。

在我完成这个之后,我能不能把一个正常的数值矩阵和A结合起来,这样:

代码语言:javascript
复制
N = [1 2; 3 4; 5 6];

FINAL = [N A];

>>output of FINAL would look like
FINAL = 
1 2 orange1
3 4 orange2
5 6 orange3
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-04-30 12:02:38

在MatLab中,数值型数组只能与数值型数组连接。如果要创建具有不同数据类型的数组,则需要使用单元格数组。

要回答您的第一个问题,我建议您首先将水果声明为一个单元数组,然后用所需的数据填充它:

代码语言:javascript
复制
fruit = cell(3,1);
for i =1:3
    fruit{i} = strcat('orange',num2str(i));
end
fruit

这应该会产生所需的输出。

对于您的第二个问题,如果您想将一个数值数组和一个单元数组连接起来,您首先需要使用num2cell将其转换为一个单元数组,例如:

代码语言:javascript
复制
N = [1 2;3 4;5 6];
FINAL = [num2cell(N),fruit]

在这种情况下,FINAL将是一个由9个单元格组成的数组,您可以像这样访问FINAL{1,3} = orange1。要使用单元格编写紧凑的代码,您应该看看cellfun和deal这两个有用的函数。

希望这能有所帮助!

票数 4
EN

Stack Overflow用户

发布于 2012-04-30 12:03:57

代码语言:javascript
复制
for x = 1:3
    fruit = ['orange', num2str(x)];
    A{x,1} = fruit;
end

N = [1 2; 3 4; 5 6];
N_as_cell = num2cell(N);

FINAL = cat(2, N_as_cell, A);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10377948

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档