0 0

循环中的sqrt极大影响性能,如何优化0

对一个M*N的矩阵数据进行处理,过程中需计算处理点到中心位置的距离,因此要用到sqrt运算,但是放在循环中,sqrt就要执行M*N次,极大的影响了程序的性能,这种情况有什么方法可以优化呢
C 
2012年11月29日 11:15

3个答案 按时间排序 按投票排序

0 0

如果仅仅是需要判断距离的远和近,而不需要其真正的距离值

可以不做sqrt的,保存的值就是距离的平方

2012年12月04日 12:50
0 0

双循环好像都是这样的呀

2012年11月30日 23:41
0 0

这需要看你的应用场景。
如果只是要这个矩阵运算处理结果,建议使用Matlab这样的专业工具

2012年11月29日 11:30

相关推荐

    使用 Matlab 计算 10000000 以内数的素数。由于 for 循环很慢,需要算法优化。.zip

    在 MATLAB 中计算大范围内的素数是一项常见的编程挑战,尤其是当范围达到百万级时,普通的 for 循环方法效率极低。素数是大于1且除了1和它本身以外没有其他正因数的自然数。这里我们将探讨如何利用 MATLAB 的算法...

    混合粒子群算法应griewank函数优化中,matlab函数优化的仿真实验也表明了该算法能有效地改善粒子群算法的收敛时间及收敛率

    混合粒子群算法是一种结合了多种优化策略的粒子群优化(PSO)算法,旨在提高算法的全局搜索能力和收敛性能。在解决复杂的优化问题时,传统的粒子群算法可能会陷入局部最优,导致收敛速度慢或者最终结果不理想。混合...

    基于matlab PSO优化算法-测试了罗森布罗克,峰值

    该函数具有多个局部极小值,但只有一个全局最小值,测试优化算法是否能找到全局最优解。 **三、下降波函数(Drop Wave Function)** 下降波函数是一种非连续、非凸的优化问题,用于评估优化算法在处理复杂地形时的...

    C#实现100以内素数

    因此,我们只需要检查到√n即可,这可以极大地减少不必要的计算量。 #### 四、代码解析 下面是C#程序的具体实现,我们将逐行分析: ```csharp int i, j; // 声明两个整型变量i和j for (i = 2; i ; i++) // 从2开始...

    pegasos算法matlab代码

    在传统的SVM训练中,如SMO算法,每次迭代都需要考虑一对数据点,这在数据量极大的情况下效率低下。而Pegasos采用了一种在线学习的方式,每次仅处理一个样本,极大地提高了计算速度。 **Pegasos算法的核心思想** ...

    caffe中优化方法比较

    ### caffe中优化方法比较 #### 1. Stochastic Gradient Descent (SGD) - **定义与原理**:SGD(随机梯度下降)是机器学习中最常用的优化算法之一,特别是mini-batch gradient descent(小批量梯度下降)。SGD通过...

    c语言编程经典例题.docx

    例如,C语言中的指针概念,它是C语言的精髓之一,允许程序员直接操作内存地址,这在进行底层开发和优化性能时至关重要。指针的使用需要非常谨慎,因为不当的操作可能会引起数据覆盖或程序崩溃等问题。 除了上述提到...

    几种常用算法计算斐波那契数列的时间效率比较VC++6.0

    这种方法的时间复杂度降低到了O(n),极大地提高了效率。 接下来是矩阵法,这是一种利用矩阵快速幂运算的方法。斐波那契数列可以通过特定的2x2矩阵进行快速计算。通过矩阵乘法,可以在O(log n)的时间复杂度内得到...

    考研数据结构绪论

    选择合适的数据结构能够极大地提高算法的效率。 #### 二、逻辑结构与存储结构的区别 - **知识点5:逻辑结构的例子** 逻辑结构关注数据元素之间的逻辑关系,如线性表、栈、队列、树、图等。其中有序表是一种特殊...

    麻省理工算法导论习题答案

    这再次强调了算法设计中循环不变式的概念,它有助于证明算法的正确性,并指导算法的优化。 #### 5. 多项式时间复杂度分析 文件给出了多项式时间复杂度函数 \(n^3/1000 - 100n^2 - 100n + 3\) 的大O记号表示为 \(\...

    《算法导论》(第二版) 答案

    《算法导论》(第二版)是一本在计算机科学领域极具影响力的专业书籍,由Thomas H. Cormen、Charles E. Leiserson、Ronald L. Rivest和Clifford Stein共同编写。本书深入浅出地介绍了算法设计与分析的基础理论,并通过...

    斐波那契数列的三种算法.doc

    - 循环函数在 n 较大时依然能保持相对较好的性能。 - 数学公式法在任何 n 下都能快速得出结果,但仅限于已知数学公式的场景。 总结来说,对于计算斐波那契数列的第 n 项,递归算法在小规模时可接受,但随着 n 的...

    antenna_patchantenna_

    5. **优化过程**:可能包含一个优化循环,自动调整天线参数以达到最佳性能。 为了深入理解"antenna.m"的具体内容,需要查看代码本身,但这超出了当前信息的范围。如果需要进一步的帮助,需要提供代码的详细信息或者...

    浅析c语言函数库

    无论是在Windows、Linux还是嵌入式系统上,同一段使用标准库函数的代码都能够保持一致的行为,极大地简化了跨平台开发的复杂度。这对于开发需要在多种设备上运行的应用程序来说,是一个巨大的优势。 #### 使用标准...

    算法导论课后习题答案

    ### 知识点生成 #### 标题:算法导论课后习题答案 ...以上内容总结了《算法导论》中涉及的一些重要知识点,包括不同排序算法的性能分析、算法设计中的循环不变量概念等。这些知识对于深入理解和应用算法具有重要意义。

    用PYTHON判断一个数是否为素数

    对于大数的判断,这种优化是非常必要的,因为它极大地减少了计算量。 另外,还可以进一步优化这个算法,例如使用埃拉托斯特尼筛法(Sieve of Eratosthenes)来生成一定范围内的所有素数,然后通过查找列表来确定一...

    python实现遗传算法求解二元Ackley函数-源码

    此外,遗传算法的参数调整,如种群大小、交叉概率、变异概率等,都会影响算法效果,需要根据具体问题进行优化。 总的来说,这个项目为我们提供了一个实际应用遗传算法解决优化问题的例子,对于学习和理解遗传算法...

    vb程序设计的常用算法.doc

    首先,计数、求和、求阶乘的算法在编程中使用频率极高,它们的实现往往依赖于循环结构。以统计特定范围内随机整数个位数出现的次数为例,我们可以利用For循环来完成这一任务。具体做法是首先使用Int(Rnd * 100)生成...

    Fortran programming ppt

    Fortran 90是Fortran的一个重要版本,引入了许多现代编程特性,如自由格式源代码、模块化设计、动态内存分配等,极大地提高了代码的可读性和维护性。 ### 内置函数(Intrinsic Functions) Fortran 90提供了大量的...

Global site tag (gtag.js) - Google Analytics