我有一个问题。
我写了一个脚本,它的输出是B
,一个数字C
,一个大小为3,3,3
的矩阵。
我必须在100次迭代中使用随机输入运行此脚本。每次迭代的输出都是B
和C
。我希望在每次迭代结束时将这些输出保存在名为ST的结构中。
怎么能这样做?如何在每次迭代结束时创建填充B和C的空结构?
谢谢。
我的代码:
a1=[1 0 1;0 1 1;0 0 0];
b1=[0 1 0;1 0 0;0 0 1];
c1=[0 0 0;0 0 0;1 1 0];
D=cat(3,a1,b1,c1);
A=zeros(3,3);
for i=1:3
for j=1:3
p1=0
p=0
idx=randperm(numel(A))
[m n]=ind2sub(size(A),idx(find((A(idx)==0),1,'first')))
s=find(D(m,n,:)==1)
for i=1:3
for j=1:3
for k=s
if D(i,j,k)~=1
p(i,j,k)=suit(i,j,k).^2
elseif D(i,j,k)==1
p(i,j,k)=0
end
end
end
end
w=sum(sum(sum(p)))
p1=p./w
p2=p1(:,:,k)
r=rand
c=reshape(p2,1,[])
c=cumsum(c)
j=find(r<=c,1,'first')
[j1 j2]=ind2sub(size(p2),j)
g=find(D(j1,j2,:)==1)
D(j1,j2,g)=0
D(m,n,g)=1
D(m,n,s)=0
D(j1,j2,s)=1
x=D
end
我想迭代这段代码。
答案 0 :(得分:2)
试试这个:
% Define an empty structure
ST = struct('B', {}, 'C', {});
for i = 1:100
% Do your computation here
% Define the variables B and C
ST(i).B = B; % Store B and C in the ith element of the structure
ST(i).C = C;
end
希望这有帮助。