arrays - 如何将结构数组传递给另一个结构数组?

标签 arrays matlab struct

我试图将一个结构数组传递给另一个但没有成功。

s(1).f = (1:3);
s(2).f = (4:6);
s(3).f = (7:9);

q(1).n = 'nameA';
q(2).n = 'nameB';
q(3).n = 'nameC';
q(3).f = [];

q.f = s.f

不应修改字段 n

我错过了什么吗?

最佳答案

您可以将结构数组的每个字段直接分配给元胞数组,然后您可以使用 deal 将结构转换为元胞数组:

s(1).f = (1:3);
s(2).f = (4:6);
s(3).f = (7:9);

q(1).n = 'nameA';
q(2).n = 'nameB';
q(3).n = 'nameC';

c = cell(3,1);
[c{:}] = deal(s.f);
[q.f] = c{:};

Here is a good article on this sort of thing

编辑: 或者作为 Shai指出你可以走了

[q.f] = s.f

关于arrays - 如何将结构数组传递给另一个结构数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15133169/

相关文章:

excel - 将时间从excel转换为matlab

Matlab:从一个文本文件导入多个数据集

ruby - Ruby 结构中的命名参数

创建结构数组的数组

java - 使用 arrayList 的排序算法

python - Matlab 的样条曲线在 Python 中等效,三个输入。

dictionary - 如何在Golang中使用与 map 中的键相同的数据来区分两种自定义结构类型?

c - 指向结构中其他结构的指针

Java在索引处分割字符串而不切割单词

c++ - 将对象数组写入和读取到二进制文件?