Matlab/F#/R进行数据分析和建模算法的经验,vb.net输给他了

2024-01-05 08:44

本文主要是介绍Matlab/F#/R进行数据分析和建模算法的经验,vb.net输给他了,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

微软放弃了vb.net的开发,但是持续花费巨资投入F#,简单一看他的语法就是qbasic ,vb6一样。鹿死谁手,谁能相信vb.net竟然被f#给干掉了。外面有vb6语法的python成了全球第一的编程语言,内部还有强大的教授开发的这工具扯后腿。

fdf52787d54b4bd68895aa9935df2d3b.png

 有人说为什么中国搞不出像matlab这样的计算工具?

但是很多语法又太简单抽象了,甚至都看不懂了。都有点像汇编一样,或者 cmd命令行一样生涩难懂。变成了一个高级的语言,如果把它用于专业的科学计算,这个事情使用matlab完全可以解决,因为他可以编译com dll,给不同的编程语言直接调用。

所以有的时候我都觉得他不应该像一门编程语言去发展,应该把它当成.net的一个插件,扩展包DLL。

一些复杂的数学运算,我感觉直接写个控件,或者使用第三方软件生成动态库dll,activex dll都足够了。看到有个外国大牛,确实把他当成matlab一样使用:

matlab与C/C++混合编程——在Windows/Linux上调用Matlab编译的动态库文件,这工具居然还可以编译动态dll,com dll,而且还跨平台。http://t.csdnimg.cn/P1LPf

在使用matlab编译的exe或者dll,移植到一个没有matlab的电脑时可能无法运行,需要在官网上下载对应的运行时进行安装后,程序才能正常执行

--------

matlab编程语言是:C++语言。

Matlab是一个高级的矩阵/阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行。

MATLAB语言是基于最为流行的C++语言基础上的,因此语法特征与C++语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式。

使之更利于非计算机专业的科技人员使用。而且这种语言可移植性好、可拓展性极强,这也是MATLAB能够深入到科学研究及工程计算各个领域的重要原因。

===========

一段时间以来,我一直在使用 F# 对算法进行建模,然后再用 C++ 对其进行编码,之后还使用它来检查 C++ 代码的结果,并对照真实世界记录的数据。

对于事物的建模方面,它非常方便,但对于“数据混搭”之类的东西,从 CSV 和其他来源提取数据、生成统计数据、绘制图表等,我的同事总是取笑我(“为什么要自己编写代码?它内置于 MatLab")。

我有另一位同事非常信赖 R,它也有“内置”的图表功能。

我知道 MatLab、R 和 F# 严格来说不具有可比性,所以我并不是要进行“功能比较”。我只是想知道其他人在这些分析前和分析后的场景中使用什么,以及他们对此有多满意。

(如果有人致力于将 Microsoft Charts 包装成 F# 友好的东西,请告诉我,我很乐意参与...)

(注意:这个问题的答案将是主观的,但请根据经验)

最佳答案

我对 F# 的经验很少,但关于 C++/Matlab/R:如果程序的执行速度最重要,请使用 C++。如果实现的速度最重要,请使用 Matlab 或 R。出于多种原因,这是事实,其中最重要的是它们庞大的数学/统计包库。

Matlab 和 R 都可以通过并行加速:所以一般来说,我认为实现的速度和质量应该是一个更大的问题。在应用程序的设计中,这就是编程的真正“值(value)”所在。如果您可以同时编写 3 或 4 个优秀的 R 程序来编写 1 个优秀的 C++ 程序,这不是一个小命题。

关于F#:既然它是微软框架的一部分,它肯定有很多东西可以提供。如果您在 Visual Studio 中进行开发或处理大型 .Net 项目(例如),则使用 F# 可能很有意义。另一方面,您可以从 .Net 应用程序中同时调用 Matlab 和 R,因此我可能认为它们的库应该是一个更大的问题。例如,参见 this article as an example for R和 the Matlab Builder .

长话短说:比较 F# 和 Matlab/R 并不是一个好的比较。 F# 是一种通用编程语言,而 Matlab/R 可以看作是海量的数学/数据分析工具包。有些人从 F# 调用 Matlab 或 R 以利用每种语言的优势(例如,参见 this discussion、this article on Matlab/F# 或 this article on R/F#)。

就图表而言:R 在这方面非常强大。看看the graphics view on CRAN和 this series of posts on the LearnR blog about Lattice and ggplot2 .

关于matlab - 您使用 Matlab/F#/R 进行数据分析和建模算法的经验,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1642201/

 

 

 

 

这篇关于Matlab/F#/R进行数据分析和建模算法的经验,vb.net输给他了的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/572302

相关文章

javax.net.ssl.SSLHandshakeException:异常原因及解决方案

《javax.net.ssl.SSLHandshakeException:异常原因及解决方案》javax.net.ssl.SSLHandshakeException是一个SSL握手异常,通常在建立SS... 目录报错原因在程序中绕过服务器的安全验证注意点最后多说一句报错原因一般出现这种问题是因为目标服务器

Linux使用scp进行远程目录文件复制的详细步骤和示例

《Linux使用scp进行远程目录文件复制的详细步骤和示例》在Linux系统中,scp(安全复制协议)是一个使用SSH(安全外壳协议)进行文件和目录安全传输的命令,它允许在远程主机之间复制文件和目录,... 目录1. 什么是scp?2. 语法3. 示例示例 1: 复制本地目录到远程主机示例 2: 复制远程主

Python数据分析与可视化的全面指南(从数据清洗到图表呈现)

《Python数据分析与可视化的全面指南(从数据清洗到图表呈现)》Python是数据分析与可视化领域中最受欢迎的编程语言之一,凭借其丰富的库和工具,Python能够帮助我们快速处理、分析数据并生成高质... 目录一、数据采集与初步探索二、数据清洗的七种武器1. 缺失值处理策略2. 异常值检测与修正3. 数据

windows系统上如何进行maven安装和配置方式

《windows系统上如何进行maven安装和配置方式》:本文主要介绍windows系统上如何进行maven安装和配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不... 目录1. Maven 简介2. maven的下载与安装2.1 下载 Maven2.2 Maven安装2.

C/C++的OpenCV 进行图像梯度提取的几种实现

《C/C++的OpenCV进行图像梯度提取的几种实现》本文主要介绍了C/C++的OpenCV进行图像梯度提取的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录预www.chinasem.cn备知识1. 图像加载与预处理2. Sobel 算子计算 X 和 Y

Go语言中使用JWT进行身份验证的几种方式

《Go语言中使用JWT进行身份验证的几种方式》本文主要介绍了Go语言中使用JWT进行身份验证的几种方式,包括dgrijalva/jwt-go、golang-jwt/jwt、lestrrat-go/jw... 目录简介1. github.com/dgrijalva/jwt-go安装:使用示例:解释:2. gi

SpringBoot如何对密码等敏感信息进行脱敏处理

《SpringBoot如何对密码等敏感信息进行脱敏处理》这篇文章主要为大家详细介绍了SpringBoot对密码等敏感信息进行脱敏处理的几个常用方法,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录​1. 配置文件敏感信息脱敏​​2. 日志脱敏​​3. API响应脱敏​​4. 其他注意事项​​总结

python进行while遍历的常见错误解析

《python进行while遍历的常见错误解析》在Python中选择合适的遍历方式需要综合考虑可读性、性能和具体需求,本文就来和大家讲解一下python中while遍历常见错误以及所有遍历方法的优缺点... 目录一、超出数组范围问题分析错误复现解决方法关键区别二、continue使用问题分析正确写法关键点三

Python对PDF书签进行添加,修改提取和删除操作

《Python对PDF书签进行添加,修改提取和删除操作》PDF书签是PDF文件中的导航工具,通常包含一个标题和一个跳转位置,本教程将详细介绍如何使用Python对PDF文件中的书签进行操作... 目录简介使用工具python 向 PDF 添加书签添加书签添加嵌套书签Python 修改 PDF 书签Pytho

Java进行日期解析与格式化的实现代码

《Java进行日期解析与格式化的实现代码》使用Java搭配ApacheCommonsLang3和Natty库,可以实现灵活高效的日期解析与格式化,本文将通过相关示例为大家讲讲具体的实践操作,需要的可以... 目录一、背景二、依赖介绍1. Apache Commons Lang32. Natty三、核心实现代