matlab:稀疏矩阵分解

时间:2011-03-28 15:43:26

标签: matlab matrix sparse-matrix

我是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和9行是怎么回事? 12.特别是表达左侧=。它位于( )

编辑:

更新了代码。我想找出Tf矩阵。我无法共享整个代码,因为它是我的机密项目的代码。

1 个答案:

答案 0 :(得分:0)

基本上,您将n A元素的值设置为某个值。指数(大括号之间的长计算)到A是一个向量,因为在它的计算中你使用i,它是从1到n的所有元素的向量。

如果没有关于代码应该做什么的一些背景信息,很难说更多。