【问题标题】:Differences between matlab and comsol script?matlab和comsol脚本的区别?
【发布时间】:2008-11-28 10:05:22
【问题描述】:

我发现 matlab 有很多用途,但我现在的雇主没有 matlab 许可证:有一个用于 Comsol 的许可证,它带有 comsol Script。乍一看,comsol 脚本与 matlab 相同,但过一会儿你会发现令人毛骨悚然的差异。许多图形图形的功能不存在,您无法将图形导出为矢量图形格式。但更糟糕的是,对于繁重的计算,性能似乎要差得多,在琐碎的算法上有很多崩溃。

(当然,comsol 包的用途完全不同,但我只是对像 matlab 一样使用它感兴趣,因为我们没有 matlab 许可证。)

matlab 和 Comsol 脚本内核有区别吗?

它们处理内存和矩阵计算的方式不同吗?

【问题讨论】:

    标签: matlab


    【解决方案1】:

    他们处理内存和矩阵计算的方式不同吗?

    几乎可以肯定,是的(在实施层面)。 comsol 之前没听说过,不过慢一点也就不足为奇了。在过去的几年里,Mathworks 在性能优化方面投入了大量精力。使用 JIT 消除了很多解释器开销。他们还做缓存友好的技巧,比如执行

     mybigresult = big1 .* big2 + big1 .* big3
    

    as(C 风格的伪代码)

     for (size_t i=0; i<numelement; i++) {
        mybigresult[i] = big1[i] * big2[i] + big1[i] * big3[i];
     }
    

    而不是创建临时文件和多次扫描内存。最后,在最近的版本中,他们为大部分后端添加了多线程支持。 (注意:语义上,Matlab 仍然是单线程的)。

    一些免费的 Matlab 替代品:octave(旨在成为开源等效项)、python + numpy(非常不同的语言,但具有相似的基本功能)。

    如果 Matlab 让您的工作效率更高,您可能想尝试让您的雇主支付许可证费用...(5 万美元/年薪 * 10% 的工作效率提升)= 如果使用 Matlab,您完成的额外工作价值 5000 美元已购买(此处只是编造数字)。

    【讨论】:

    • Comsol 源自 matlab 6 的一个模块,所有库、帮助文档等都是相同的。与 matlab 克隆不同,几乎所有 matlab 代码都可以在 comsol 脚本下运行,无需任何修改。这就是为什么这个问题是相关的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-07-03
    • 2013-06-02
    • 1970-01-01
    • 1970-01-01
    • 2012-08-30
    • 1970-01-01
    • 2011-12-06
    相关资源
    最近更新 更多