2011-03-28 7 views
1

나는 초보자가 matlab에요. 샘플 코드가 있습니다. 코드 조각으로 무슨 일이 일어나고 있는지 알고 싶습니다.matlab : 희소 매트릭스 분해

라인 9, 10 일이 뭐죠 Sample.m이

n=60;%Number of division of length 
m=84;%Number of division of time 
N=2*m*n+m+n; 
A=spalloc(N,N,4*N); 
// A is a Matrix 
for j=1:m 
if(massdot(j)>=0) 
i=1:n; 
A(((n+1)*(j-1)+i+1-1)*N+(n+1)*(j-1)+i+1)=Nuf(:,j).*kfn(:,j)*as*Ac./((1+Bi(:,j)/5)* (2*Dh))+n*massdot(j)*cfn(:,j)/L; 
A(((n+1)*(j-1)+i-1+1-1)*N+(n+1)*(j-1)+i+1)=Nuf(:,j).*kfn(:,j)*as*Ac./((1+Bi(:,j)/5)*(2*Dh))-n*massdot(j)*cfn(:,j)/L; 
A(((n+1)*m+n*j+i-1)*N+(n+1)*(j-1)+i+1)=-Nuf(:,j).*kfn(:,j)*as*Ac./((1+Bi(:,j)/5)*(2*Dh)); 
A(((n+1)*m+n*(j-1)+i-1)*N+(n+1)*(j-1)+i+1)=-Nuf(:,j).*kfn(:,j)*as*Ac./((1+Bi(:,j)/5)*(2*Dh)); 
B((n+1)*(j-1)+i+1,1)=abs(ff(:,j).*massdot(j)^3/(2*pf^2*Ac^2*Dh)); %Viscous dissipation 
i=0; 
A((n+1)*(j-1)+i+1,(n+1)*(j-1)+i+1)=1; 
B((n+1)*(j-1)+i+1,1)=TH; 
... 
X=A\B; 
for j=1:m 
i=0:n; 
Tf(:,j)=full(X((n+1)*(j-1)+i+1)); 
... 

그냥 나를 설명

, 11 & (12), 특히 표현은 =에면을 떠났다. () 안에 있습니다.

편집 :

업데이트 코드입니다. Tf 매트릭스를 찾으려고합니다. 기밀 프로젝트 코드이므로 전체 코드를 공유 할 수 없습니다.

답변

0

기본적으로 n 요소의 값을 A으로 설정합니다. A에 대한 색인 (괄호 사이의 긴 계산)은 벡터입니다.이 계산에서는 1에서 n까지의 모든 요소 벡터 인 i을 사용하기 때문에 벡터입니다.

코드가하는 일에 대한 배경 정보가 없어도 더 많은 것을 말하기는 어렵습니다.

+0

질문이 업데이트되었습니다. –