c能比matlab快多少,对于科学计算C和Matlab计算速度哪个快
来源:整理 编辑:亚灵电子网 2023-10-28 11:41:06
本文目录一览
1,对于科学计算C和Matlab计算速度哪个快
应该是C++,以前看过一个文章说MATLAB在某些情况下耗时200倍于C,C++的效率在不涉及虚的情况下,效率往往不比C差,而且从层次角度来看,C++可以说自己就是最底层了,我们一般则在MATLAB最上层编程,可以说并不可能是最优的代码,但是还有一个很关键的说法是,你程序本身的效率性,如果你本身程序就质量不高,那么C++慢过MATLAB也是很正常的。
2,matlab和VC比哪个计算速度快
在数学运算(加减乘除等)上面 matlab 和C几乎差不多但是在逻辑判断上面matlab 就慢的多了matlab 处理一大堆的if else的程序,显得比较慢但是matlab对矩阵运算做了充分的优化,如果你做的是复杂的矩阵运算的话,你的c程序优化不够的话,matlab就会比vc快···
3,C计算速度能比matlab快多少倍
两者在处理同一个问题上,不一定c++就一定比matlab快。两者没有可比性。matlab是为数学家设计的软件,专注于实现他们的想法。在正确无误的基础上,提高运行速度。c/c++也可以实现matlab的功能。但需要编写大量的代码。matlab提供的海量函数,都需要编程者自己去实现。matlab本身是由C语音编写的,其为解释执行语言,逐条执行。C++是在C语言的基础上开发的一种通用编程语言,应用广泛。C和C++属于底层编程语言。
4,matlab的速度快还是C快
c是迄今高级语言中最快,效率最高的语言了。MATLAB是MATrix LABoratory的缩写,是一款由美国The MathWorks公司出品的商业数学软件。MATLAB是一种用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。除了矩阵运算、绘制函数/数据图像等常用功能外,MATLAB还可以用来创建用户界面及与调用其它语言(包括C,C++和FORTRAN)编写的程序。而C是用于做开发,可以适用于任何你想开发的软件。 应该看具体应用吧,不过C会快。Matlab的优势并不在于速度上。
5,matlab与c 混合编程 大概可提速多少倍
我做图像处理的时候,先是用MATLAB,因为有大量的循环处理,其运行时间将近一分钟,后来改用MATLAB与C混合,时间缩短至0.09秒,时间之差,真的是不可估量。 但是,情况不完全如此,MATLAB优点在于矩阵运算中,如果你的程序中有大量的矩阵运算,那么混合编程个人不是很建议;C语言优点在于循环速度很快。 我也有这样的经历,我的算法中有大量的矩阵运算(由于我是做图像处理,矩阵基本上是512*512的),本来用MATLAB编程用了9秒左右的时间,但是改用了C混合后,N长时间,反正我是等了将近一分钟,混合程序我是检验过的,没有死循环的。 以上这些完全个人经验之谈,希望对您有个帮助。你好!利用MATLAB仿真后 用C编程序会很随意而且不容易出错 提速多少要看你的程序的复杂程度而定 要是小一点的程序 用C很快 再者来说 可以利用MATLAB进行模块化得编程 利用自带的一些模块 能很快的提高速度如果对你有帮助,望采纳。
6,c和matlab的运算速度比较
matlab是解释性语言,看看下面的解释吧:计算机不能直接理解高级语言,只能直接理解机器语言,所以必须要把高级语言翻译成机器语言,计算机才能执行高级语言编写的程序。 翻译的方式有两种,一个是编译,一个是解释。两种方式只是翻译的时间不同。 解释性语言的程序不需要编译,省了道工序,解释性语言在运行程序的时候才翻译,比如解释性basic语言,专门有一个解释器能够直接执行basic程序,每个语句都是执行的时候才翻译。这样解释性语言每执行一次就要翻译一次,效率比较低。解释是逐行的翻译。 编译型与解释型,两者各有利弊。前者由于程序执行速度快,同等条件下对系统要求较低,因此像开发操作系统、大型应用程序、数据库系统等时都采用它,像C/C++、Pascal/Object Pascal(Delphi)等都是编译语言,而一些网页脚本、服务器脚本及辅助开发接口这样的对速度要求不高、对不同系统平台间的兼容性有一定要求的程序则通常使用解释性语言,如Java、JavaScript、VBScript、Perl、Python、Ruby、MATLAB 等等。 但随着硬件的升级和设计思想的变革,编译型和解释型语言越来越笼统,主要体现在一些新兴的高级语言上,而解释型语言的自身特点也使得编译器厂商愿意花费更多成本来优化解释器,解释型语言性能超过编译型语言也是必然的。我个人在做矩阵运算时用的是MTL4,这个库是用C++的template(模板)写的,效率很高,因此就是做矩阵运算也不输matlab,也还易用。当然,想让程序做计算时跑得更快,你应该学学数值计算中的一些经典算法,以期能达到最小的时间复杂度,然后再结合c++编译器,这样你代码才能无敌于其他平台。当然如果你认定matlab在某些领域的算法上有已有更好的易用性和执行速度,那么你也可以利用C++与matlab混合编程的做法,也是不错的选择,毕竟matlab工程计算库经过这么多年的经营,其内容是如此丰富多彩,把它嵌入到自己的工程开发中将省事不少。matlab专门的数学计算软件,对矩阵处理的速度是很快的。c++涉及到程序精简度,看水平了。涉及到循环的话,还是C++跑得快,矩阵就肯定是matlab了不知道你需要哪些方面的比较,是难易程度呢,还是计算效率呢,还是什么???要全面的话网上可以搜出一大堆,我自己只简单介绍下吧:matlab 是一个非常好用的工具箱,他与c语言的最大区别在于内置了非常多的数值算法。最简单的比如矩阵相乘,或解方程组等等,matlab用一个函数调用就直接搞定, 但是用c++的话要你自己去编这个函数。matlab编程要比c++简单很多,它更相当于是一个高级的计算器,比较容易上手。但是做大规模程序的话,还是c++强大些,再说它可以直接调用matlab的函数dll 。这两个都非常有用,建议两个都学习matlab又称矩阵实验室,对矩阵运算,还有一些常见的代数运算都做了优化。如果你的程序也做了相应的优化,那至少你的程序不应该比matlab慢。 PS,基本上跟你用的编译器没有关系,个人认为VS2010的编译优化还是不错的。
7,c在运行速度上为什么比matlab快很多
C++是编译型语言,而matlab是解释型语言,有很多功能耗资源很多,比如不需要定义变量,这需要在运行过程中不断动态分配内存;默认所有变量都是双精度型,也很占资源;像eval这类文本宏更是慢的不行。其实经过充分优化的matlab不比C++慢多少,不过这样优化以后matlab的优点也基本要去一大半。两者在处理同一个问题上,不一定c++就一定比matlab快。两者没有可比性。matlab是为数学家设计的软件,专注于实现他们的想法。在正确无误的基础上,提高运行速度。c/c++也可以实现matlab的功能。但需要编写大量的代码。matlab提供的海量函数,都需要编程者自己去实现。matlab本身是由C语音编写的,其为解释执行语言,逐条执行。C++是在C语言的基础上开发的一种通用编程语言,应用广泛。C和C++属于底层编程语言。matlab是解释性语言,看看下面的解释吧:计算机不能直接理解高级语言,只能直接理解机器语言,所以必须要把高级语言翻译成机器语言,计算机才能执行高级语言编写的程序。 翻译的方式有两种,一个是编译,一个是解释。两种方式只是翻译的时间不同。 解释性语言的程序不需要编译,省了道工序,解释性语言在运行程序的时候才翻译,比如解释性basic语言,专门有一个解释器能够直接执行basic程序,每个语句都是执行的时候才翻译。这样解释性语言每执行一次就要翻译一次,效率比较低。解释是逐行的翻译。 编译型与解释型,两者各有利弊。前者由于程序执行速度快,同等条件下对系统要求较低,因此像开发操作系统、大型应用程序、数据库系统等时都采用它,像c/c++、pascal/object pascal(delphi)等都是编译语言,而一些网页脚本、服务器脚本及辅助开发接口这样的对速度要求不高、对不同系统平台间的兼容性有一定要求的程序则通常使用解释性语言,如java、javascript、vbscript、perl、python、ruby、matlab 等等。 但随着硬件的升级和设计思想的变革,编译型和解释型语言越来越笼统,主要体现在一些新兴的高级语言上,而解释型语言的自身特点也使得编译器厂商愿意花费更多成本来优化解释器,解释型语言性能超过编译型语言也是必然的。我个人在做矩阵运算时用的是mtl4,这个库是用c++的template(模板)写的,效率很高,因此就是做矩阵运算也不输matlab,也还易用。当然,想让程序做计算时跑得更快,你应该学学数值计算中的一些经典算法,以期能达到最小的时间复杂度,然后再结合c++编译器,这样你代码才能无敌于其他平台。当然如果你认定matlab在某些领域的算法上有已有更好的易用性和执行速度,那么你也可以利用c++与matlab混合编程的做法,也是不错的选择,毕竟matlab工程计算库经过这么多年的经营,其内容是如此丰富多彩,把它嵌入到自己的工程开发中将省事不少。C++继承了C语言的对硬件直接操作,有直接控制的优点matlab是用于矩阵计算、图形图像处理等,主要处理的是大型计算等程序,因此本身就比较慢,针对数据矩阵的计算更是需要大量的时间C++是编译型语言,代码一次性编译后,装载到内存中而matalb是解释型语言,读一句,编译一句,执行一句,这样当然慢啦
文章TAG:
c能比matlab快多少能比 matlab 多少