我是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矩阵。我不能共享整个代码,因为这是我的机密项目的代码。
发布于 2011-03-28 15:55:48
基本上,您可以将A的A元素的值设置为某个值。对于A的索引(大括号之间的长时间计算)是一个向量,因为在它的计算中使用i,它是从1到n的所有元素的向量。
在不了解代码应该做什么的背景信息的情况下,很难说得更多。
https://stackoverflow.com/questions/5461518
复制相似问题