首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >matlab:稀疏矩阵分解

matlab:稀疏矩阵分解
EN

Stack Overflow用户
提问于 2011-03-28 15:43:26
回答 1查看 547关注 0票数 1

我是matlab的初学者。我有一个代码样本。我想了解这段代码片段发生了什么。

Sample.m

代码语言:javascript
复制
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矩阵。我不能共享整个代码,因为这是我的机密项目的代码。

EN

回答 1

Stack Overflow用户

发布于 2011-03-28 15:55:48

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

在不了解代码应该做什么的背景信息的情况下,很难说得更多。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5461518

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档