2011-03-28 256 views
1

我是一個初學matlab的人。我有一個示例代碼。我想了解這段代碼片段發生了什麼。matlab:稀疏矩陣分解

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)); 
... 

只是解釋我,什麼用線9,10的發生,11 & 12.尤其是表達左側=。這是在()裏面。

編輯:

更新的代碼。我正試圖找出Tf矩陣。我無法分享整個代碼,因爲這是我的機密項目代碼。

回答

0

基本上,您將n元素的值設置爲A。指數(大括號之間的長計算)到A是一個向量,因爲在它的計算中使用了i,它是從1到n的所有元素的向量。

如果沒有關於代碼應該做什麼的背景信息,很難說更多。

+0

問題已更新! – 2011-03-28 16:05:50