百科问答小站 logo
百科问答小站 font logo



如何评价国产软件 TRUFFER(可替代 MATLAB)? 第1页

  

user avatar   harryzhou-12 网友的相关建议: 
      

首先,我间接搞到了 @Truffer 慷慨分享的部分源码:

很明显这只是项目很少的一部分,某高赞回答上 @jeffswt 的命令行图并非来自于这些代码,所以我对关于Octave部分的真实性不加评论。

出于学习目的,我打开了CMatrix.cs,看上去是这样的:

Matrix和CMatrix大同小异(实矩阵运算和复矩阵完全分开),源码放到最后供大家观赏,这里只写了我浅浅拜读一下看到的一些亮点...

我没有学过软件工程,但数值方法还是略知一点的(本来这几个文件也没啥工程可言),所以关注点放到了数值方法上。

首先,矩阵数值运算就涉及到解数值方程组(MATLAB里面的 A),我一直以来就好奇MATLAB的具体是如何实现的,看到上面只有一个System,我更是不由自主地兴奋了起来...(似乎忘记了C#这个奇怪的点)... 然而,我前前后后翻了个遍,也没有看到任何能求线性方程组(或其最优最小二乘)解的方法,甚至没有一个能求逆/广义逆的方法...看到开头“初级版本”的说明,我不禁释然...

我并不甘心,希望找到一个(300年来应用数学发明的)数值方法,翻到最后,眼前一亮:FFT!(先忽略为什么对矩阵对象的FFT没有维数输入方式),然后被惊呆了:

       using System; using System.Text; using System.Data; namespace Legal.Math {  public class CMatrix         {          //省略属性和其他方法   public int Length   {    get    {     if (_length <= 0) _length = Rows * Columns;     return _length;    }    private set    {     _length = 0;    }   }   #endregion                 public static CMatrix FFT(CMatrix Ma)   {    CMatrix p = new CMatrix(Ma.Rows, Ma.Columns);    for (int k = 0; k < Ma.Length; k++)    {     double x = 0.0;     double y = 0.0;     double s = 0.0;     double t = 2 * System.Math.PI * k / Ma.Length;     for (int i = 0; i < Ma.Length; i++)     {      x += Ma[i].Real * System.Math.Cos(s) + Ma[i].Imaginary * System.Math.Sin(s);      y += Ma[i].Imaginary * System.Math.Cos(s) - System.Math.Sin(s) * Ma[i].Real;      s += t;     }     p[k] = new Complex(x, y);    }    return p;   }         } }      

多么简洁的代码!根本不用什么补零,不用什么玄学二进制排序,不用什么递归变循环...别问,要问就是算!俩循环套起来算!...唯一的缺点就是这应该叫DFT,而不是使用FFT算法的DFT...

分割--------------------------------

题主问如何评价,问题是我感觉这三个源代码和演示效果没啥关系,就矩阵运算而言,这几个代码文件离MATLAB大概还差那么几百万行代码吧(参考openblas)。所以这些源代码大概是人家作者放出来骗人的吧...至于真的TRUFFER,没有公开的应用程序,所以不评价。


源码(作者在里面说“比开源还开源”,所以就都放上来了)

链接:pan.baidu.com/s/1q0-SDV

提取码:yj94

(大家都在喷百度网盘,但这个文件不怕限速...)


user avatar   li-mu-gen-19 网友的相关建议: 
      

大部分欧洲国家和美国,不但给你孩子冠姓,还给你冠姓,还有首歌形容结婚:以我之姓 冠你之名。


user avatar    网友的相关建议: 
      

大部分欧洲国家和美国,不但给你孩子冠姓,还给你冠姓,还有首歌形容结婚:以我之姓 冠你之名。




  

相关话题

  你用过哪些强大的快捷键? 
  有哪些堪称「神器」,却鲜为人知的软件/网站/互联网服务? 
  如何将“软件工程”课程中所学的东西,付诸实践? 
  如何评价今日头条这个app? 
  为什么一些人下载软件喜欢到官网? 
  iPad上有哪些比较好的壁纸软件? 
  如何下载symbolic工具箱,在mathwork官网? 
  如何评价微信最新更新的 8.0 版本?有哪些新功能? 
  最良心的软件可以良心到什么程度? 
  有什么给视频加字幕最快的软件? 

前一个讨论
正切函数tanx这个部分分式无穷级数展开式怎么证明?
下一个讨论
数学分析中,关于某个变量一致是什么意思?





© 2024-12-22 - tinynew.org. All Rights Reserved.
© 2024-12-22 - tinynew.org. 保留所有权利