2014-01-11 3 views
0

6 개의 데이터 세트가 있으며 각 데이터 세트는 576by576 매트릭스입니다. 각 데이터 세트는 30 초 간격으로 측정 한 값을 나타냅니다. 예 : t = 0 일 때 set1, time = 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)의 첫 번째 자리에 할당합니다. 나는 576by576 해결책 matriz가있을 때까지 6 세트에있는 각 자료 점을 위해 이것을 할 필요가있다.Matlab의 시간 종속 매트릭스 세트에 대한 데이터 피팅

모든 것이 올바르게 표시되면 SM (0s) = set1, SM (30s) = set2 등을 그릴 수 있어야합니다. 그러나 그 뿐만이 아닙니다. SM (45)는 t = 45에서의 측정 예측을 반환해야한다. 그 목적은 시간 t = 0에서 150 초까지의 데이터 변동을 예측할 수있는 것보다 하나의 매트릭스를 갖는 것입니다.

추가 정보 : 1. 각 데이터 요소는 동일한 세트의 나머지 데이터 요소와 독립적입니다. 2.- 비선형 적합 3. 모든 값은 실수입니다

Matlab에는 이러한 종류의 문제에 대한 최적화 도구가 있습니까? 문제를 1D 데이터가 맞는 것으로 간주하고 576^2 번 작업을 수행하는 for 루프를 작성해야합니까? (어디서부터 시작해야할지 모르겠다)

충분히 명확하지 않은 경우 언제든지 물어 보거나 수정하십시오. 이와 Guddu의 답변에 따라

내가 와서 : 나는 업데이트

내가 problem.Thanks

이런 종류의 가장 정확한 제목을 선택한 것이 없습니다 확신

%% 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),[]) 

I 이 방법이 가장 효율적인 방법인지 확실하지 않지만 작동합니다. 나는 새로운 아이디어 나 제안에 열려 있습니다. 감사합니다

답변

0

주 데이터 매트릭스 크기 (6,576,576) ->a 것입니다 것이 좋습니다. 각 데이터 세트의 첫 번째 포인트 (1,1)a(1,1,1), a(2,1,1), a(3,1,1) .. a(6,1,1)입니다. 다른 지점 (k,l)의 각 데이터 세트에서 각 지점 (i,j)을 말한대로 다른 위치와 별도로 모든 데이터 세트에 대해 (i,j) 각 위치를 처리하는 것이 좋습니다. 576 * 576 회 반복됩니다. 코드는 다음과 같을 수 있습니다.

t=0:30:150; 

for i=1:576 
    for j=1:576 
     datavec=squeeze(a(1:6,i,j)); % Select (i,j) point from all 6 frames 
     % do the curve fitting and save in SM(i,j) 
    end 
end 

6 점에 맞는 비선형 함수가 무엇인지 궁금합니다. 이것은 당신이 원하는 대답이 아닐지 모르지만 그것은 코멘트에 넣는 것이 길었습니다.

+0

MRI 시퀀스를 촬영하는 데 문제가 있습니다. 이 일반적인 재구성 576x576x150은 너무 오래 걸리기 때문에. 나는 단지 시간을 절약하기위한 지름길을 찾아 내려고 노력하고있다. – Jorge

관련 문제