我有6個數據集,每個數據集是一個576by576矩陣。每組數據代表在30秒間隔內進行的測量。例如在t = 0時的set1,在時間= 30時的set2,...,在150秒時的set5。 如果您願意,您可以將這些設置看作框架。我需要從每個數據集中獲取第一個數據點(1,1) - >(1,1,0),(1,1,3),(1,1,6),(1,1,9), (1,1,12),(1,1,15)並基於這6點找到一個擬合公式,然後將該通用解分配給我的解決方案matriz SM(1,1)
的第一個點。我需要爲6組中的每個數據點執行此操作,直到我有576by576解決方案matriz。我應該可以繪製SM(0s)= set1,SM(30s)= set2等等。但不僅如此。 SM(45)應返回t = 45時的測量結果預測等等。目的是要有一個矩陣,可以預測從時間t = 0到150秒的數據波動。Matlab中時間相關矩陣集的數據擬合
附加信息: 1.-每個數據點與同一組中的其餘數據點是獨立的。 2.-它是一個非線性擬合 3.-所有的值都是真實的
Matlab是否有這種問題的優化工具? 我應該把這個問題當成一維數據擬合,並創建一個執行576^2次這個工作的for循環? (我甚至不知道從哪裏開始)
如果我不夠清楚,可隨時詢問或編輯任何內容。我不知道,我已經選擇了最精確的標題爲這種problem.Thanks
的更新:
基於Guddu的答案,我想出了這一點:
%% Loadint data Matrix A
A(:,:,1) = abs(set1);
A(:,:,2) = abs(set2);
A(:,:,3) = abs(set3);
A(:,:,4) = abs(set4);
A(:,:,5) = abs(set5);
A(:,:,6) = abs(set6);
%% Creating Solution Matrix B
t=0:30:150;
SM=zeros([576 576 150]);
for i=1:576
for j=1:576
y=squeeze(A(i,j,1:6));
f=fit(t',y,'smoothingspline');
data=feval(f,1:150);
SM(i,j,:)=data;
end
end
%% Plotting Frame at t=45
figure(1);
imshow(SM(:,:,45),[])
我我不確定這是否是最有效的方式,但它是有效的。我接受新的想法或建議。謝謝
我很難拍攝MRI序列。由於這種常見的重建576x576x150需要很長時間。我只是想找出一個節省時間的捷徑。 – Jorge