运行程序时出现以下错误。
??? Undefined function or method 'struct2table' for input arguments of type 'struct'.
Error in ==> cellarray at 13
T=struct2table(parameter,'AsArray',true);
该计划如下
a=10;
b=15;
parameter(a).alpha_star=0;
parameter(b).gamma_star=0;
x=5;
for j=1:b
for i=1:a
parameter(i).alpha_star=x+i;
end
parameter(j).gamma_star = x^2+j;
end
T=struct2table(parameter,'AsArray',true);
你能告诉我,我哪里错了?
答案 0 :(得分:0)
我猜你有一个比R2013b更旧的matlab,因为没有这个功能(你可以通过which struct2table
检查)。
您可以尝试使用struct2array
和reshape
来处理它。
您也可以使用
alp=[];
gam =[];
for i=1:length(parameter)
if ~isempty(parameter(i).alpha_star)
alp(end+1)=(parameter(i).alpha_star);
end
if ~isempty(parameter(i).gamma_star)
gam(end+1)=(parameter(i).gamma_star);
end
end
将值提取为单独的数组和
fieldnames(parameter);
获取字段名称,这很脏,但如果仅用于演示......