24小时热门版块排行榜    

查看: 1124  |  回复: 0

beckzx

新虫 (初入文坛)

[求助] 关于共轭梯度算法(CGM)的一些困惑

关于图片中的那一条算法。该如何快速的实现呢。
假设一个M*N的网格区域。共有M*N个点。即产生的矩阵qx,qy,p都为M*N size。这些节点共有两种状态,黏着状态stick和滑移状态slip。分别用集合Ist和Isl表示。Tst和Isl由0和1组成。处在黏着区的节点(i,j)满足Ist(i,j)=1,不满足为0.  Isl也同理。
我对图片中的操作是这样的:
       q=abs(sqrt(qx.^2+qy.^2));
        Ist(q>mu*p)=0;%q>mu*p时,黏着状态转为滑移状态
        Isl=Ic-Ist;
       qx(Isl>0)=Isl.*((mu*p.*Isl)./sqrt(((qx.*Isl+1e-6).^2+(qy.*Isl+1e-6).^2)).*(qx.*Isl));
       qy(Isl>0)=Isl.*((mu*p.*Isl)./sqrt(((qx.*Isl+1e-6).^2+(qy.*Isl+1e-6).^2)).*(qy.*Isl));

可是运行,报错:
qx(Isl>0)=Isl.*((mu*p.*Isl)./sqrt(((qx.*Isl+1e-6).^2+(qy.*Isl+1e-6).^2)).*(qx.*Isl));
   Error in test (line 15)

不知道错在哪里。
还是说有更好的办法处理这个问题。
请教大神。

关于共轭梯度算法(CGM)的一些困惑
111.png
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

智能机器人

Robot (super robot)

我们都爱小木虫

相关版块跳转 我要订阅楼主 beckzx 的主题更新
信息提示
请填处理意见