程式碼(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 比較不熟 所以有點不太明白的地方
想請各位幫我看一下 如果是你們會怎麼改 才是最正確?