首页/文章/ 详情

高斯消去法的算法改进

7月前浏览8651

本文摘要(由AI生成):

本文介绍了高斯消去法的改进算法,该算法相比传统算法只需一重循环,从而大大提高了计算效率。通过特定的数组形式A=A-B*C来表述消元过程,并展示了详细的计算步骤。通过算法验证,得到方程组的解为x=[1,2,3],并展示了自编程序的计算结果。此外,文章还提及了Fortran中spread函数的用法,并探讨了该算法中spread函数效率的问题。最后,文章还提到了往期相关的高斯消去法解线性方程组及其在MATLAB和Python中的实现。


高斯消去法的过程如图所示

其中括号内的数字表示对该行处理的次数,比如第三列,该列中的第一个元素没有变化,第二个元素处理了一次,第三个元素处理了两次,处理的过程为

现将这个过程写成数组形式 A=A-B*C,于是就有了下列算法:

同传统算法相比较,改进算法只需一重循环,大大提升了效率

算法验证

这个方程组的解为x=[1,2,3]

自编程序计算结果为:


PS: Fortran中的spread函数用法。假定一个二维数组A

A(1, 2:4)是一个一维数组[12 13 14],spread(A(1, 2:4),1,2)就是如下的二维数组

spread(A(2:3, 1),2,3)就是如下的二维数组

spread(A(1, 2:4),1,2)*spread(A(2:3, 1),2,3)的结果就是

该算法的瓶颈就是spread函数的效率究竟如何?当然,任何事情都有其两面性。鱼和熊掌不可兼得。


☆☆☆ 往期相关 ☆☆☆

高斯消去法解线性方程组及MATLAB实现

高斯消去法解方程组及Python实现

来源:数值分析与有限元编程
MATLABpython
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2024-04-01
最近编辑:7月前
太白金星
本科 慢慢来
获赞 5粉丝 10文章 324课程 0
点赞
收藏
作者推荐

vs一个解决方案添加多个项目

本文摘要(由AI生成):在Visual Studio中,解决方案(solution)的概念是用于组织和管理多个相关项目(project)的开发环境。通过这种方式,开发者可以在一个统一的界面中管理多个项目,无论是彼此独立还是相互依赖的项目都能得到有效管理。这对于处理多种编程语言混合的项目尤为方便,因为它允许开发者在一个单一的环境中维护不同的代码库和应用程序。项目间独立关系: 在这种关系中,每个项目都有自己的入口点,可以独立编译和运行。尽管它们被组织在同一个解决方案中,但它们之间并不直接相互影响。在任何给定时间,只有一个项目可以被设置为活动项目,这意味着编译和运行操作将仅针对该活动项目进行。要添加新项目到解决方案,可以通过在解决方案上点击右键选择“新建项目”来实现。活动项目的名称在项目列表中以粗体显示,以区分非活动项目。要切换活动项目,可以通过右键点击项目名称,并在弹出的菜单中选择“设为启动项目”。项目间依赖关系: 在这种关系中,一个主项目依赖于其他子项目的库文件。这种情况下,开发者希望在编译主项目时,依赖的子项目也能够自动编译,以确保主项目能够使用到最新的依赖库。在Visual Studio 2017中,可以通过选中“解决方案”的属性来配置项目间的依赖关系。在解决方案属性中,可以指定哪些项目是启动项目,以及它们之间的依赖顺序。通过以上两种关系,Visual Studio为开发者提供了灵活的项目组织和管理方式。无论是独立开发还是团队协作,都能够有效地提高开发效率和项目管理的便捷性。这种设计使得Visual Studio成为一个强大的集成开发环境,适用于各种规模和复杂度的软件开发项目。复 制再试一次分享visual studio在一个解决方案(solution)中是可以添加多个项目(project)的,这多个项目之间存在两种关系:1.项目间彼此独立,各自有各自的入口,只是组织在一个解决方案中便于管理;2.项目间存在相互调用,只存在一个入口。这对于多种语言混编的管理特别方便。第一种关系下项目间彼此独立,每个项目都有自己的入口,则同一时间解决方案只能有一个活动入口,相当于只有一个项目存在,通过设置可以选择哪个项目作为活动项目,则之后的编译、运行都是针对该项目的。首先,在解决方案上右键选择“新建项目”,可以为解决方案添加多个项目。注意,当前活动的项目名称的字体为粗体,而非活动项目则不是粗体。要实现在多个项目间来回切换以进行编译和运行,需分两步设置。(1)打开菜单栏“生成”-->“配置管理器”,将每个项目的“生成”选项都勾选上。同时可以为每个项目都选择各自的编译平台,如果平台是一样的,不要重复创建;(2)若要编译运行其中的一个项目,在项目名称上点右键,在弹出的菜单中选择设为启动项目,如图所示,可以看到活动的项目名称的字体为粗体第二种关系即一个解决方案包含多个项目,其中一个主项目,依赖其余数个子项目的库文件,我们希望每次只需要编译主项目,就能自动编译依赖项目。在VS2017项目中,选中“解决方案”的属性,如下图所示,可以确定各个项目依赖关系。来源:数值分析与有限元编程

未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈