一个快速的单元阵列的一代

4视图(30天)
Jan Valdman
Jan Valdman 2020年11月5日
编辑: 布鲁诺陈德良 2020年11月5日
亲爱的所有,
在优化过程中,我们需要创建一个单元阵列的v_indices向量“v”,另一个单元阵列的指数的指数。这是我的代码:
repets = 4000;%重复
n = 1000;%向量长度
%定义了一个细胞的指标
指数= mat2cell ([0: n - 1;1:n;2:n + 1], (n, 1), 3);
指标{1}= (1 - 2);%第一项的修正
指标{n} = n (n - 1);%修正过去的条目
抽搐
r = 1: repets
%定义了一个随机向量
v =兰迪(n * 10, n, 1);
v_indices =指数;%预先配置
i = 1:元素个数(指数)%循环细胞(低效?)
v_indices{我}= v(指标{我});
结束
结束
toc
参数“repets”可以设置更高的测试。也许一个for循环生成“v_indices”不是很有效。你能建议一些改进,如果可能吗?
谢谢你,简Valdman
6个评论
布鲁诺陈德良
布鲁诺陈德良 2020年11月5日
编辑:布鲁诺陈德良 2020年11月5日
当你连接你所有adjadcent节点constant-vertex多边形如三角形、矩形、五角,heaxagonals吗?如果情况最好的是vertexe /脸号码你就可以“循环”计算局部能量算子。
如果不是还有另一个更通用的结构图形/有向图。不确定的速度。
引擎盖下面的图有一个稀疏相邻矩阵。类逻辑的它可以如果你是只对邻接关系船感兴趣,你可以处理这些数据结构。例如imgaine你构建一个稀疏矩阵,这样当你乘以它返回的梯度场的潜力。然后你可以计算出当地p-norm等等……
底线是使用两个/三个大人物数组存储拓扑。避免细胞。

登录置评。

答案(1)

沃尔特·罗伯森
沃尔特·罗伯森 2020年11月5日
你有v_indices =指数在你 r 循环,所以没有分配给v_indices保持为下一次迭代 r 。你不分配 指数 在循环,所以多次运行不是使迭代变化指数。
因此,最终导致v_indices是一样的,如果你只做一个(最后)的迭代 r 循环,所以你还不如没有 r 循环。
1评论
Jan Valdman
Jan Valdman 2020年11月5日
编辑:Jan Valdman 2020年11月5日
谢谢你,你是对的:单元阵列v_indices是重新计算内循环。代码只是一个简化的基准测试中,有一个额外的操作缺少“v_indices”和所需要的,这是我的答案的能量计算expained布鲁诺。

登录置评。

标签

下载188bet金宝搏


释放

R2018a

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!