gpt4 book ai didi

matlab - 对象属性的迭代定义

转载 作者:太空宇宙 更新时间:2023-11-03 20:22:39 24 4
gpt4 key购买 nike

假设你有一个对象 A 和属性 B你想定义一些参数A.B(比如说 A.B.n1 , A.B.n2 , .... )因为这些参数很多所以你想迭代地做这个。我的问题是每当我尝试以迭代方式进行时:

for j=1:4
S=strcat('n',int2str(j));
A.B.S=j;
end

我只定义A.B.S=4,不创建A.B.n1=1 , A.B.n2=2,...,A.B.n4=4

如何让 MATLAB 理解我希望 S 成为一个变量?

最佳答案

您想使用 dynamic field names访问结构数据:

S = strtrim(cellstr(num2str((1:10)','n%d')));   %#'
for i=1:numel(S)
A.B.(S{i}) = i;
end

结果

>> A.B
ans =
n1: 1
n2: 2
n3: 3
n4: 4
n5: 5
n6: 6
n7: 7
n8: 8
n9: 9
n10: 10

关于matlab - 对象属性的迭代定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6402963/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com