查看: 375|回復: 1|關注: 0
打印 上一主題 下一主題

[已答復] MATLAB多重FOR循環優化

[復制鏈接]

新手

10 麥片

財富積分


050


1

主題

1

帖子

0

最佳答案
跳轉到指定樓層
1#
發表于 2020-1-30 17:29:24 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
在處理大型矩陣時發現這段代碼使得運行速度特別慢,不知道有沒有能提高運行速度的方法。
clusters:第1行是節點標號,第2行是社團標號的變換,第3行是社團標號
adjacent_matrix:該矩陣有對應節點i和j的權值
目標:e為社團i和j連接的權值
    idx = logical(clusters(2,:)==i);   
    labelsi = clusters(1,idx);             %找到社團i 對應的節點
    for j=1:k
        idx = logical(clusters(2,:)==j);
        labelsj = clusters(1,idx);         %找到社團j對應的節點
        for ii=1:length(labelsi)
            vi = labelsi(ii);                  
            for jj=1:length(labelsj)
                vj = labelsj(jj);
                e(i,j) = e(i,j) + adjacent_matrix(vi,vj);
            end
        end        
    end
end
求求幫助!十分感謝了!

回復主題 已獲打賞: 0 積分

舉報

新手

11 麥片

財富積分


050


4

主題

29

帖子

0

最佳答案
  • 關注者: 1
2#
發表于 2020-2-2 22:58:30 | 只看該作者
我最近也在弄循環套循環,只能給個參考。
1. 這個看你數據量了,你可以開頭加tic;結尾加toc,看一層循環的時間,如果數據量太大,時間長點是正常的。
2. 可以用相同功能的算法換著試一下,我之前求相關性時用correct,后來發現用時比corr函數的更長。
回復此樓 已獲打賞: 0 積分

舉報

您需要登錄后才可以回帖 登錄 | 注冊

本版積分規則

關閉

站長推薦上一條 /4 下一條

快速回復 返回頂部 返回列表
哪一款德州扑克还能玩 股票如何开户交易 上交所股票上市规则 game850游戏官网下载 私募基金投资单一标的 长沙麻将app有哪些 海南飞鱼游戏开奖结果 今晚开什么特马 西甲三月最佳 来来安徽麻将苹果版 站长网赚 nba赛程虎扑 下载850新版棋牌游戏 免费一肖提前公开资料 中持股份股票 申城棋牌 王中王精选四肖选一肖