Matlab 如何更新结构字段?
我有一个结构,例如Matlab 如何更新结构字段?,matlab,Matlab,我有一个结构,例如struct.a={zeros(4)}。现在我想用[4]更新a的第一行。如何从结构a访问第一行并更新它?结果应为带有cell2mat(结构a(1))=[4;0 0 0 0;0 0 0 0 0 0 0 0]的矩阵,同时使用花括号和规则括号: >> struct.a = {zeros(4)} struct = a: {[4x4 double]} >> struct.a{1}(1,:) = [4 4 4 4]; % or just assign a
struct.a={zeros(4)}
。现在我想用[4]
更新a
的第一行。如何从结构a访问第一行并更新它?结果应为带有cell2mat(结构a(1))=[4;0 0 0 0;0 0 0 0 0 0 0 0]
的矩阵,同时使用花括号和规则括号:
>> struct.a = {zeros(4)}
struct =
a: {[4x4 double]}
>> struct.a{1}(1,:) = [4 4 4 4]; % or just assign a scalar (e.g. = 4;)
>> struct.a{1}
ans =
4 4 4 4
0 0 0 0
0 0 0 0
0 0 0 0
顺便说一下,您不需要在struct.a
中存储单元格。这也很好:
struct.a = zeros(4);
struct.a(1,:) = 4;
另外,重要的是,不要将struct
用作变量名,因为它在MATLAB中是一个关键字