如何在matlab中使用字符串数组中的字段创建结构



我有以下代码,我正试图从字符串的cellarray中创建一个具有字段名称的结构。

data1有以下数据,它是一个5x4:

1   5    298      53
2   9    284      35
3   0    582      329
4   17   892      67
45  183  45       29
data1 = xlsread('data1.xlsx');
namesoftags = {'timeaxis','cputime','flux','volts'};
for i =1:4
S = cell2struct(data1(:,i),namesoftags(i));
end

但它给出了一个错误:

Error using cell2struct
Unknown command option.
Error in structuredemo (line 4)
S = cell2struct(data1(:,i),namesoftags(i));

谢谢。

您正在为cell2struct函数提供矩阵data1(:,i),而不是单元。但是,您不需要此函数来实现您的目标。请使用S.(fieldname)来构建您的结构。

data1 = xlsread('data1.xlsx');
namesoftags = {'timeaxis','cputime','flux','volts'};
for i =1:4
S.(namesoftags{i}) = data1(:,i);
end
S = 
struct with fields:
timeaxis: [5×1 double]
cputime: [5×1 double]
flux: [5×1 double]
volts: [5×1 double]

相关内容

  • 没有找到相关文章