5

私は matlab をよく使用していますが、現在の雇用主は matlab ライセンスを持っていません。comsol Script に付属する Comsol 用のライセンスがあります。一見したところ、comsol スクリプトは matlab と同じですが、しばらくすると不気味な違いが見つかります。多くのグラフィックス グラフィックスの機能は存在せず、Figure をベクトル グラフィックス形式にエクスポートすることはできません。しかし、さらに悪いことに、負荷の高い計算ではパフォーマンスが大幅に低下するように思われ、些細なアルゴリズムで多くのクラッシュが発生します。

(もちろん、comsol パッケージの目的はまったく異なりますが、matlab ライセンスを所有していないため、matlab のように使用することにのみ関心があります。)

matlab と Comsol スクリプト コアに違いはありますか?

メモリと行列計算の処理は異なりますか?

4

1 に答える 1

3

メモリと行列計算の処理は異なりますか?

ほぼ確実に、はい (実装レベルで)。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 によって生産性が大幅に向上する場合は、雇用主にライセンス料を支払ってもらいたいと思うかもしれません... ($50,000/年俸 * 10% の生産性向上) = Matlab を購入した場合、$5,000 相当の余分な作業が行われます (ここでは数字を作っているだけです)。

于 2008-11-28T14:55:12.573 に答える