GNU GSL与MATLAB在Windows

这个问题其实是关于GSL和MATLAB之间的权衡。 首先,让我定义一些变量:

- Target OS: Windows XP - Target IDE: MS VS 2005/2008 - Software: Commercial - Development Language: C++

此外,我问这个问题,因为我无法找到有关易于使用,许可,性能标准(S)与这两种方法中的任何完整的答案。

我们需要使用GNU GSL和MATLAB实现一些数值运算(如FFT)。 我知道这是可能的Windows操作系统与MS VS IDE中同时使用GSL(含Cygwin的)和MATLAB。

但是,我有以下几个问题:

  • 许可时,我在应用中使用MATLAB库(同为GSL)
  • MATLAB C ++代码和GNU GSL之间的性能差异 (特别是FFT计算时)
  • 易于使用 (例外,错误处理,可测性)

这将是巨大的,如果你照亮路径,决定实施。

另外,在此先感谢

--------------解决方案-------------

  1. 你不需要Cygwin的使用GSL,只有建立它。 你需要使用MinGW的GCC做到这一点,并使用Cygwin的或MSYS作为POSIX shell环境使用“配置”来构建它。 或试图找到一个预置的版本。 您应该能够创建一个导入库创建的DLL,像gendef和MSVC的LIB.EXE工具。 这将让你有一个Visual Studio编译链接DLL。
  2. GSL可以做FFT的,但FFTW是这样做更好。 两者都是GPL(如果我没有记错的话),所以他们会需要你的应用程序将兼容GPL许可。
  3. Matlab是比C更容易(表面上),但我敢肯定,只要正确使用,GSL,特别是FFTW应在原始性能方面击败了Matlab的。

如果你只是在做FFT,等这样的事情,你有没有想过英特尔MKL或AMD的ACML [PDF] 两者都有FFT。 支付Matlab的只是为了让FFT例程是,恕我直言,傻了。 只需使用一个良好的高性能的C ++ / Fortran库。

这一切都这样说,这位先生保持GSL的补丁版本的使用Visual Studio编译

如果你使用GSL,那么你必须根据GPL许可

如果我想分发它使用GSL的应用程序,我需要什么许可使用? GNU通用公共许可证(GPL)。 对于商业用户的底线:

GSL can be used internally ("in-house") without restriction, but only redistributed in other software that is under the GNU GPL.

英特尔的MKL有可能是你正在寻找一个许可协议。

我可以用我的应用程序再分发英特尔数学核心函数库? 是。 当您购买英特尔®MKL,您会收到权利重新分配英特尔MKL计算部分与您的应用程序。 英特尔MKL的评估版本不包括再分发权利。 可引入的文件列表中包含与产品许可英特尔MKL分布REDIST.TXT提供。

我不是太确定有关ACML执照,但我相信它的成本钱分发。

分类:C# 时间:2012-01-01 人气:3
本文关键词: MATLAB,权衡,GSL
分享到:

相关文章

  • MATLAB mvnrnd在GSL 2012-09-29

    嗨,我不知道如果我的算法是正确的我试图复制MATLAB,但在GSL的mvnrnd功能. 我发现在产生多元正常的矢量一些杂志文章的算法,但我需要多元正态分布随机数的矩阵 可以说分布为Z〜(MU,SIGMA); 假设西格玛是一个矩阵已经正定. 一个算法我发现从网上说要 1. cholskey(sigma) = A 2. generate uniform gaussian vector r 3. matrix vector triangular product with gsl_blas_dtrmv

  • 如何实现使用GSL基于C左矩阵划分++ 2012-01-28

    我试图端口一个MATLAB程序C ++. 我想实现一个矩阵之间的左矩阵师A和一列向量B . A是一个m-by-n矩阵m不等于n和B与一个列向量m组件. 而我要的结果X = A\B是最小二乘解感方程的不足或超定AX = B换句话说,. X最小化norm(A*X - B)的长度矢量AX - B ,这意味着我想它有相同的结果A\B在MATLAB. 我想实现GSL-GNU(GNU科学图书馆),这项功能,我不知道太多关于数学,最小二乘或矩阵运算,可有人告诉我如何做到这一点的GSL? 或者,如果执行这些GS

  • C实现Matlab的interp1功能(线性插值) 2012-02-07

    你知道的任何C实现了Matlab interp1功能(只是"线性"一个)? 我认识一个用于Java. --------------解决方案------------- 常用的功能外观极好的实现可以在书数字食谱在C,这是可见的免费网上找到. 第3.1.2章有一个线性插值配方,本章的其余部分涵盖了更高级的. 我强烈推荐这本书,它是写得很好,占地面积算法,这是一个非常有效的,仍然理解的方式还实施了大量. 我已经移植路易斯的代码,C ++. 这似乎是工作,但我没有检查了很多,所以要注意并重新检查

  • 如何更改默认参数newfit()在MATLAB? 2012-05-05

    我在用 net = newfit(in,out,lag(j),{'tansig','tansig'}); 以产生新的神经网络. 的数量的默认值validation checks是6 我培养了大量的网络,这是采取了很多时间.我想这并不重要,如果我的结果是有点不太准确,如果他们能相当快进行. 我如何可以训练得更快? 相信的途径之一可能是减少的验证检查的数量的值. 我怎样才能做到这一点(在代码中,不使用GUI) 有一些来提高速度等方式. 正如我所说的,增加的速度可能会在精度的损失不大. -------

  • 如何分辨MEX用libstdc ++链接。so.6在/ usr / lib目录,而不是一个在MATLAB目录? 2012-07-18

    现在,在MATLAB MEX 2012A仅正式支持GCC 4.4.6,但我想在我自己的风险来使用gcc 4.7. 现在,如果我直接编译的东西与墨西哥,它会抱怨 /usr/lib/gcc/i686-linux-gnu/4.7/cc1plus: /usr/local/MATLAB/R2012a/sys/os/glnx86/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /usr/lib/i386-linux-gnu/li

  • MATLAB代码库,用于C ++ 2012-07-22

    是否有良好的资源containg C ++版本的MATLAB函数? 我只是在寻找一些基本功能,即fzero. --------------解决方案------------- fzero就是不平凡. 如果你的函数是多项式,尝试GSL http://www.gnu.org/software/gsl/ 尝试寻找在GNU八度. 这是一个FLOSS的替代MATLAB和有许多相同的功能. 看看它的实施fzero牢记代码GPL的. 我做了很多科学和工程应用在C ++中的工作. 我最喜欢引用的数字食谱nr.co

  • 是MATLAB函数'四'提供Java和C ++? 2013-05-31

    我试图端口Matlab代码Java和C ++. 这是很简单的,但是我发现一个函数比简单的操作,它还数值计算积分: lungh=quad('normpp',0,1,[],[],x1,x2,x3,x4,x5,x6,x7,y1,y2,y3,y4,y5,y6,y7); 这里x1,...,x8和y1,...,y7是简单的数字. 首先,怎么这个参数的解释? 请问这个功能工作? 我认为,0和1积分的边界...但对于其他人? 尤其是'normpp'和[] 我读了quad help但我不明白它是如何与参数这样的工

  • Matlab的是(与C / FORTRAN)一个受人尊敬的语言为21世纪的专业数学研究? 2014-04-05

    我MATLAB的死忠用户,主要是因为这是我学到的第一,我还没有遇到过的问题有足够的显著的差异进行切换. 我来自数值优化/线性代数,在那里我已经在数以百万计的自由度进行优化和特征值计算. 最近,我已经进入随机性,在那里我原来的印象,我将被迫改变下的境界. 但是,优化代码,并小心地初始化种子给随机数发生器后,我能够做同样的蒙特卡洛任务作为我的同时代在大致相同的时间. 我的理解一直是基层'如果'语句等,都显著在MATLAB慢. 但是,如果有每个回路可向量化内显著的计算,我不相信ç效果会更好. 而且,不

  • 导入ITK / VTK到MATLAB或Matlab到VTK / ITK环境? 2014-08-21

    对于当前的项目我都用做显示医疗信息/渲染提供了矩阵,以及使用ITK / VTK功能的信息mathemetics. 基本上我有一个(我猜)50/50的方式利用MATLAB程序和VTK / ITK. 问题是,因为我同时使用,我想提前哪一种方法用来决定: 导入ITK和VTK库到MATLAB:这个你必须建立自己的VTK作为开始. 然后,通过这个例子的整体思路是写你的VTK-代码.mex文件. 这些都是你可以编写C代码作为MATLAB的函数文件. 导入MATLAB功能ITK / VTK环境:为了这个,我会

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.300 (s). 10 q(s)