24小时热门版块排行榜    

查看: 1502  |  回复: 4
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

abdoman

木虫 (著名写手)

[求助] 关于分块矩阵的处理 已有1人参与

现有一个实对称分块矩阵(有点稀疏)
A B
C D
我如果想把b这个区域清空,变成0,不知道有没有什么快速的办法!可以使用mkl 或者lapack 库。
矩阵的最大5000*5000, b区最大估计有2000*3000。
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

Youcompleteme.
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

fish.yfyh

铜虫 (小有名气)

引用回帖:
3楼: Originally posted by fish.yfyh at 2014-02-21 12:45:23
假设B的大小2000*3000, 则A的大小2000*2000. 那么可以通过如下方法实现:
do i = 3000,5000  !行
    do j = 1,2000 !列
        Matrix(i,j) = 0.0   !就是B
    end do
end do

不好意思,搞错了。应该是
do i = 1,2000  !行
    do j = 2001,5000 !列
        Matrix(i,j) = 0.0   !就是B
    end do
end do
5楼2014-02-21 13:01:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 5 个回答

chembetsey

木虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
jjdg: 金币+1, 感谢参与 2012-11-14 01:31:02
abdoman: 金币+10, ★★★很有帮助, 我去看看,非常感谢提供思路。 2012-11-14 08:41:31
去读读中科大的Fortran教程中数组的操作部分,用mask可以解决你的问题。
2楼2012-11-13 22:29:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

fish.yfyh

铜虫 (小有名气)

【答案】应助回帖

假设B的大小2000*3000, 则A的大小2000*2000. 那么可以通过如下方法实现:
do i = 3000,5000  !行
    do j = 1,2000 !列
        Matrix(i,j) = 0.0   !就是B
    end do
end do
3楼2014-02-21 12:45:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

fish.yfyh

铜虫 (小有名气)

引用回帖:
3楼: Originally posted by fish.yfyh at 2014-02-21 12:45:23
假设B的大小2000*3000, 则A的大小2000*2000. 那么可以通过如下方法实现:
do i = 3000,5000  !行
    do j = 1,2000 !列
        Matrix(i,j) = 0.0   !就是B
    end do
end do

假设B的大小2000*3000, 则A的大小2000*2000. 那么可以通过如下方法实现:
do i = 1,2000  !行
    do j = 3000,5000 !列
        Matrix(i,j) = 0.0   !就是B
    end do
end do
4楼2014-02-21 12:46:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见