程式码(Code):
% 假设系数(done)
% 假设初始条件
C=[1
2
3
4
.
.
.
6000];
% 其他假设
t=1200;% 计算次数
%% ========
% 建立F矩阵
gg=[0.4975 0.03 0.4725]; hh=eye(1700,6000);
aa=conv2(hh,gg,'same');
aa=[aa];
gg=[0.497625 0.03 0.47235]; hh=eye(601,6000);
bb=conv2(hh,gg,'same');
bb=[bb];
bb(1,:)=[];
bb=circshift(bb,[0,1699]);
gg=[0.497 0.03 0.473]; hh=eye(3701,6000); %要删除第一行(4400-1087-448=2867)
cc=conv2(hh,gg,'same');
cc=[cc];
cc(1,:)=[];
cc=circshift(cc,[0,2299]);
F=sparse([aa;bb;cc]);
%% ========
% 开始计算
for k=1:t
D=F*C% 计算D矩阵
C=D;% 用D矩阵取代C矩阵
end
补充说明:这是matlab程式码
我刚开始接触C 也尝试用过MATLAB内建的matlab-coder去把CODE码改成C的形式
但刚接触C 比较不熟 所以有点不太明白的地方
想请各位帮我看一下 如果是你们会怎么改 才是最正确?