記号数学のプログラムの概要

プログラムの助けを借りて、私はできます!

新着. SetupOSA_Beta1.1 OSA電卓。 数値解法。
プログラムは、数値的方法を使用してさまざまな数学的計算を実行することを目的としています。
プログラムには、次の機能が実装されています。行列演算(行列の加算、減算、乗算、数値による行列の乗算、転置)。 Cramer、Gauss、Gauss-Seidel法による線形代数方程式(SLAE)のシステムの解法。 非線形方程式の解法(セグメントを半分、弦、接線に分割する方法); 関数の局所補間:線形および二次; グローバル補間:ニュートンおよびラグランジュ多項式。 数値積分:平均的な長方形、台形、シンプソンの方法; 導関数の近似計算に対称差式を使用した数値微分。
アーカイブサイズ!.6Mb。 (exeファイル+説明)。 無料。
プログラムを送った作者は、プログラムを使う人たちに、それについてのフィードバックやコメントを提供するように非常に頼みました。 プログラム内のメッセージのアドレス。

ダウンロード

17 . GShaper0.9.2。 平面上および空間内のさまざまな幾何学的形状の周囲長、面積、体積、およびその他の特性(側面、高さ、離心率)の計算機。 図には説明図が付いており、円筒形、角柱状、円錐形、球形、多面体などのカテゴリに分類されています。
システム:Windows XP、Me、9x、2003、2000、NT、3.1 / 3.11
ライセンス:フリーウェア
インターフェース言語:ロシア語
開発者:Anton Lyakh
プログラムのウェブサイト:http://gshaper.ifastnet.com
インストール:インストールとアンインストールがあります
サイズ860Kb。 更新日:2006年11月3日(01:00)

。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。ダウンロード

16 . SimpleCalc。 シンプルで使いやすいですが、同時に非常に強力な式計算機、または数式計算機と呼ばれることもあります。 従来の計算機とは異なり、SimpleCalcでは、計算された式と結果の両方を同時に表示できます。 入力されたデータとエラーの有無をすぐに確認できるので、とても便利です。 また、式を変更すると、すべてを再入力しなくても再計算されます。
主な機能:
-数値とべき乗を使用したすべての算術演算。
-角かっこを使用した操作をサポートします。
-21個の組み込み関数。
-独自のカスタム関数と定数を設定できます。
-16進数、10進数、8進数、2進数のシステムをサポートします。
-入力された式を記憶します。
-クリップボードで動作します。
-フォントサイズを調整できます。
-ホットキーを使用した電卓のクイックコール。
-トレイに折りたたむことができます(時計がある場所)。
バージョン0.51の新機能:
3の倍数の指数を選択する機能を備えたエンジニアリング結果の新しい出力形式が追加されましたプログラムの終了を確認する機能が追加されました
システム:Windows XP、Me、9x、2003、2000、NT。 ライセンス:アドウェア。 インターフェイス言語:ロシア語。 ファイルサイズ:0.418 MB 開発者:VyacheslavPlisko。 プログラムのWebサイト:http://plsoft.narod.ruインストール:インストールなしで動作します。 サイズ420Kb。

。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。ダウンロード。

15 . Calcum Pro 0.1 膨大な数を処理できる多機能計算機で、スキンをサポートしています(異なるプログラム設計)
コンポーネントがあります:
グラフビルダー、複合計算(数式による計算)、多数の数値の処理(いくつかの可能性あり)、
方程式を解く、
分数の計算、幾何学と物理学の値の計算、
テーブルエディタ、料金計算機(たとえば、インターネットで費やされる金額を計算するため)、
数値ジェネレーター(いくつかの可能性あり)、三角関数計算機、
フラクタルビルダー(複素平面上のオブジェクト)、
また、プログラムをシステムトレイ(時計が配置されている場所)に最小化することもできます。計算時にも、非常に大きな数を計算するときに、邪魔にならずに計算できます。
プログラムには、最も必要な機能にアクセスするためのツールバーがあります。
ボタンバーのカスタマイズ。
いわゆるプログラムコンポーネント(数値のリスト)では、(ファイルに)長期間保存されます。
通常の数値と極端な数値(10進数と2進数)の両方で機能します
-この場合、計算は多少遅くなりますが。
パッケージにはいくつかのスキンが含まれています。
プログラムには独自のプログラミング言語があります。
あなたが絶対に持っていない最も必要なライブラリと一緒に配布されます。
プログラムにはほぼ100の機能があります。
三角関数、双曲線、統計など。
サイズ2.72MB。

。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。ダウンロード

14 . math4students 。 学生のための数学。 1.6MB。

。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 ダウンロード

13 . 算数 。 方程式を解き、分数を足し、連立方程式を解きます。 1.2MB。

。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 ダウンロード

12 . スクールボーイ5.0.3.0 。 方程式を解き、任意の数学関数をプロットするためのプログラム。 与えられたエラーで、その機能内のほとんどすべての方程式の根を見つけることができます(つまり、ユーザーがアクセスできる関数で動作します)。 言い換えれば、ルートが存在し、有効な値の範囲(構成可能)にある場合、プログラムはそれを見つけます。 また、多数の機能をサポートする通常の文字列計算機としても機能します。 353Kb。

。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 ダウンロード

11 . snum 。 プログラムは、数値の約数のリストを表示し、目的の値までの素数を見つけます。 最大公約数を決定するために、プログラムウィンドウを複製することができます。 6年生の学童に便利です。8Kb。

。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 ダウンロード

10 . マスター機能v.1.0 。 Master Function 1.0プログラムは、高校生と学生向けに設計されています。 習得が容易で、コンピュータリソースを必要とせず、比較的高速に動作します。 プログラムの主な機能:
-基本的な数学関数を使用した複雑な式の計算。 括弧の任意の程度の入れ子。
-特別な変数によるシーケンス、数値およびべき級数の計算:n-自然数の増加、a-最後の計算結果の値。
-y = f(x)の形式の関数のグラフの作成。 最大構築精度:画面ピクセルあたり0.00001。 関数は、通常の依存関係f(x)の形式で、シーケンスまたは級数として指定できます。 たとえば、関数y = exp(x)は、べき級数y = a + x ^ n / fact(n)で表すことができます。
-グラフのその後の作業:移動、ズームインおよびズームアウト、グラフの選択された領域を増やす機能、中央に表示するなど。 グラフをbmpファイルに保存する機能もあります。
-関数の分析:特定のポイントでの関数とその導関数の値の計算、定積分の検出。
-式または関数は、後で作業するために保存できます。
331 Kb 無料。

。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 ダウンロード

9 . Microsoft Student Graphing Calculator 2006(ベータ3) 。 グラフをプロットして方程式を解く能力を持つ学生のための電卓。 サイズ4.8Mb

。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 ダウンロード

8 . 高度なグラフ2.2 インストール中にロシア語のインターフェース言語を選択すると、AdvancedGrapherを非営利目的で無料で使用できます。 インストール中は、[非営利目的での無料使用を許可する]チェックボックスがオンになっている必要があります。 開発者の説明:「強力で使いやすいグラフ作成および分析ソフトウェア。パラメトリック方程式、グラフ表、暗黙関数(方程式)によって与えられる極座標でのY(x)、X(y)形式の関数のプロットをサポートします。不平等「1つのウィンドウに最大30のグラフ。計算機能、グラフの多数のパラメーター、座標平面があり、ロシアのインターフェースがサポートされています。ロシアのユーザーは、このプログラムを非営利目的で無料で使用できます。」 1.41 MB.

。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。ダウンロード

7 . OriginLab OriginPro 8.0 SR2009 Origin Proは、数学関数と統計関数を処理し、これらの関数をプロットするためのユニバーサルツールであると同時に、高度に専門化された数学プログラムとグラフィックデータ視覚化ツールを開発するためのツールです。 これは、多くの科学研究所で事実上の標準と見なされています。
データを処理し、物理的な実習での実験室での作業用にグラフの形式で表示するための便利なツールのみを追加します。 ミリメートルはすでに前世紀です。
アーカイブには、172.9Mbのインストール手順があります。

。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。ダウンロード

1 . mcalのように。 行列計算機は、次の一連の関数を提供します。行列の加算と減算、行列の乗算、逆行列の検索と行列式の計算、係数の非特異行列でSLAEを解く機能。 他の同様のプログラムとの有利な違い:入力マトリックスのサイズに制限はありません。マトリックスの入力は、作成者によるMatrixStreamの開発を使用して大幅に簡素化され、ヘルプは各ウィンドウに関する情報を提供します。 登録後、逆行列を見つけて2を超える次数の行列を処理する機能が利用可能になります。登録は無料で、30秒以内で完了します。 新しいバージョンでは、インターフェースが改善され、マトリックス出力メカニズムが修正されました。 VisualBasicランタイムライブラリを実行する必要があります。 プログラムについては、フォーラムhttp://www.lonewolf.od.ua/new/misc.asp?go=forumで作成者と話し合うことができます。 210 Kb

。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。ダウンロード

2 . AVv.1.2のMathematics+。 このプログラムを使用すると、ワンクリックで2次元および3次元のグラフを作成、探索、印刷できます。また、組み込みの2パネル計算機を使用して、計算の履歴を保存しながら、任意の記数法で計算を実行できます。 プログラムには、非常に直感的なユーザーフレンドリーなインターフェイスと詳細なヘルプがあります。 新しいバージョンでは、新しいプロット機能が追加されています。たとえば、複数のグラフを同時にプロットするだけでなく、以前のバージョンで見られたバグを修正し、サポートされる数学関数の数を増やしました。ホームページの新機能の詳細については、ヘルプを参照してください。 )。 925 Kb

。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。ダウンロード

3 . Origin 4.00 。 グラフ、チャート、表などを作成するためのシンプルですが、非常に強力で便利なプログラム。 グラフの数学的処理:さまざまなタイプ(線形、指数、対数など)の依存関係y = f(x)のパラメーターの計算。 化学、物理学者、数学者などの大学院生に強くお勧めします。Originの卒業証書、論文のすべての描画を行うことができます。
インターフェース-英語。 クレジット:Microcal Software、Inc.無料。 サイズ1.9Mb

。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。ダウンロード

4. Mathcad12。 Mathcad 12は、新製品開発とエンジニアリング研究の生産性を大幅に向上させます。 パッケージの新しいバージョンは、利用可能な数学関数のリストを拡張し、論文へのアクセス、作業結果の共有、および研究結果の公開と提示を容易にします。 メタデータを操作する機能と、初めて実行された計算を追跡する機能により、Mathcad計算ドキュメントの使用の制御が大幅に向上します。 これで、ユーザーはドキュメント全体と個々のフラグメントをメタデータでマークできるようになり、ソースドキュメントで重要な計算をすばやく見つけることができます。 アーカイブ内のインストール手順。 オペレーティングシステム:WindowsAll。 サイズ77.8Mb。 RARアーカイブ。

5. メープル10。
数学的計算のためのプログラム(他との違い-記号計算を実行できます)。 「PC」(コンピュータプログラム)のセクションにプログラムの操作方法を説明した本がありますが、5バージョンと8バージョンがあります。 必要なものがすべて揃ったRARアーカイブ。 ボリューム129.0Mb。

数学計算のための無料の商用プログラムがたくさんあります。 それらは2つの大きなグループに分けることができます。

1.数式処理システム-記号分析計算のプログラム。
2.数値(数値)計算のためのプログラム。

数式処理システム

数式処理システムは、分析計算を実行するために使用されます。 彼らの助けを借りて、あなたは次の操作を実行することができます:

  • 不定積分の解を実行します(つまり、関数の不定積分を見つけます);
  • 定積分(不適切なものを含む)を計算します。
  • 複素関数の導関数を含む導関数を見つける(つまり、微分を実行する);
  • 式を単純化します(たとえば、角かっこを開いて同類項を指定します)。
  • 代数方程式と微分方程式を解きます。
  • 関数とシーケンスの限界を見つける。
  • 級数と無限積の合計を計算します。
  • 関数を直列に拡張します。
  • 関数グラフを作成します。
Maxima数式処理システム

Maximaには、分析計算、数値計算、およびプロットのための幅広いツールがあります。 システムの一連の機能は、MapleやMathematicaなどの商用システムに近いものです。 同時に、それは最高度の携帯性を持っています。 これは、すべての主要な最新のオペレーティングシステムで実行できる存在する唯一の分析コンピューティングシステムです。 主要なオペレーティングシステム用のプログラムには、Microsoft Windows(98 / ME / 2000 / XP / 2003 / Vista / 2008)、GNU / Linux(Fedora、Slackware、Gentoo、Debian)、MacOS X、FreeBSD、NetBSDなどのバージョンがあります。

いくつかのグラフィカルユーザーインターフェイスとグラフィカルアドオンがあります:XMaxima(多くのオペレーティングシステムの配信に含まれています)など。コマンドラインモード(疑似グラフィックを使用)で動作できます。

Maximaプログラムは、学童と学生、教師と教師、およびプロの数学者とエンジニアの両方が制限なしに無料で使用できます。

オンライン数式処理システムWolfram|Alpha

関数または積分の導関数をすばやく計算し、微分方程式または代数方程式のシステムを解くために、Wolfram|Alphaオンラインソルバーを使用できます。

その他の数式処理システム

  • Axiomは無料(無料)のプログラムです。 インタプリタ環境、コンパイラ、および強く型付けされた数学的に正しい型階層を記述するライブラリで構成されます。
  • Mapleは、独自の(商用)プログラムです。 微分方程式を数値的に解き、積分を見つけるためのツールがいくつかありますが、記号計算を目的としています。 高度なグラフィックを備えています。 Pascalを彷彿とさせる独自のプログラミング言語を持っています。
  • Mathematicaはプロプライエタリ(商用)プログラムです。 分析変換と数値計算の両方のための多くの関数が含まれています。 さらに、このプログラムは、関数の2次元および3次元グラフの作成、任意の幾何学的形状の描画、画像と音声のインポートとエクスポートなど、グラフィックと音声の操作をサポートします。
数値計算のためのプログラム数値工学および科学計算に使用されます。 彼らの助けを借りて、あなたは次の操作を実行することができます:
  • 行列代数演算(加算/減算、乗算、線形連立方程式の解法、固有値とベクトルの検索)を数値的に実行します。
  • スパース行列(アセンブリ、因数分解)を処理します。
  • 数値的手法を実装するためのアルゴリズムとプログラムを開発する。
  • データの視覚化を実行します:単純な2次元および複雑な3次元(体積の視覚化を含む)。
数値計算のための人気のあるパッケージ。

無料(無料)パッケージ:

  • Scilab-工学(技術)および科学計算のための強力なオープン環境を提供する応用数学プログラムのパッケージ。
  • GNU OctaveGNU Octaveは、MATLAB互換の高級言語を使用した無料の数値計算環境です。 Octaveは、線形および非線形の数学的問題やその他の数値実験を解決するためのインタラクティブなコマンドインターフェイスを提供します。 さらに、Octaveはバッチ処理に使用できます。 Octave言語は、実数および複素数のスカラーと行列の演算で動作し、線形代数問題の解決、非線形代数方程式のシステムの根の発見、多項式の操作、さまざまな微分方程式の解決、1階微分と微分のシステムの統合のための拡張機能を備えています-代数方程式、有限および無限の間隔で関数を統合します。 このリストは、Octave言語を使用して(またはC、C ++、Fortranなどで作成された動的にロードされたモジュールを使用して)簡単に拡張できます。
独自の(商用)パッケージ:
  • MATLABは、技術計算の問題を解決するための応用プログラムのパッケージです。 MATLABは、1,000,000人を超えるエンジニアや科学者によって使用されており、GNU / Linux、Mac OS、Solaris、MicrosoftWindowsなどの最新のオペレーティングシステムで実行されます。
  • Mathcad-工学および科学計算を実行および文書化するためのプログラム。
  • Originは、Microsoft Windowsオペレーティングシステムを実行しているコンピューターで実行される、数値データ分析および科学グラフィックス用の同社のソフトウェアパッケージです。

コンピュータ技術の発展に伴い、計算と計算のための自動化されたプログラムがますます頻繁に登場し始めました。 それらの多くは、例えば、当社のウェブサイトに無料で掲載されています。 それらをダウンロードすることは難しくありません。 有料のアプリケーションもありますが、私たちのサイトでは、計算と計算のための実証済みの無料プログラムのみを見つけることができます。

言うまでもなく、計算と計算のプログラムは、科学技術のほぼすべての分野に影響を及ぼします。 このようなアプリケーションの中には、従来の電卓、工学電卓、関数電卓から、より複雑な計算用に設計されたコンピューティングシステムや環境全体に至るまで、非常に多くのソフトウェア製品があります。 当然、後者のソフトウェア製品の多くは無料ではありませんが、特に当社のWebサイトでよく検索すれば、完全に無料でダウンロードできます。

したがって、最も単純なプログラムには、代数および三角方程式、行列、ベクトルシステム、複素数を解き、関数、積分、対数などの値を計算するためのあらゆる種類の計算機とプログラムが含まれます。 ほとんどの場合、そのような計算および計算のためのプログラムは、最終結果を与えるだけでなく、解決策の明確な方向性も示します。 さらに、関数従属性のグラフを作成したり、関数の極値を決定したりすることができます。 このようなグラフは、2次元または3次元の実行で表示できます。 機能的には、主に学童や学生向けに設計されているようです。 インターネット上にはかなりの数があります。 目的のソフトウェア製品を見つけてダウンロードするだけです。 繰り返しになりますが、多くのプログラムは完全に無料で配布されており、使用時間の制限はありません。 また、当社のウェブサイトで検索を使用することもできます。

最も複雑な自動システムである計算と計算のためのプログラムを考えると、状況はより複雑になります。 ここでは、さまざまな計算を実行できます。 たとえば、テンソル方程式にすることができます。 ただし、このようなシステムは数学関数のみに限定されません。 化学反応式、材料の抵抗の計算、物理学の分野での物質の挙動のさまざまなモデルの構築など、まったく異なる分野でそれらを使用できます。 天文学の分野で、航空宇宙機関や天文台で使用されている、より複雑なシステムについては話していません。 この分野のほとんどすべての開発は極秘であるため、このようなプログラムを無料でダウンロードすることはできません。

ただし、それにもかかわらず、複雑なコンピューティングシステムは無料で配布されることが多く、ダウンロードすることができます。 あなたは私たちのウェブサイトでそれらを見つけることができます。 このようなシステムについては、初期条件を設定するだけで十分であり、プログラムは最適なパラメータまたは最も合理的なソリューションを選択します。 あなたは、開発者自身がどれだけの仕事と頭脳を彼らに投資したかを理解しています。

シンボリック、または彼らが言うように、コンピューター、数学、またはコンピューター代数は、数学的モデリングの大部分です。 原則として、この種のプログラムは、コンピュータ支援設計のエンジニアリングプログラムに起因する可能性があります。 したがって、エンジニアリングデザインの分野では、次の3つの主要なセクションがあります。

  • CAD-コンピュータ支援設計;
  • CAM-コンピュータ支援製造;
  • CAE-コンピュータ支援エンジニアリング。

今日、本格的な設計、都市計画と建築、電気工学、および関連業界のホスト、ならびに技術教育機関は、コンピューター支援設計(CAD)、生産、および計算なしではもはや実行できません。 そして、数学パッケージはCAEシステムの世界の不可欠な部分ですが、一部のタスクはコンピューターの助けなしではまったく解決できないため、この部分は決して二次的なものとは見なされません。 さらに、今日、理論家(いわゆる純粋な応用数学者)でさえ、たとえば、仮説をテストするために記号数学のシステムに頼っています。

ちょうど約10年前、これらのシステムは純粋にプロフェッショナルと見なされていましたが、90年代半ばは、大量使用のCAD / CAM/CAEシステムの世界市場のターニングポイントになりました。 その後、久しぶりに、パソコンのユーザーが産業用機能を備えたパラメトリックモデリングのパッケージを利用できるようになりました。 このようなシステムの作成者は、幅広いユーザーの要件を考慮に入れており、数万人のエンジニアや数学者が、CAD / CAM/CAEシステムテクノロジーの分野で科学の最新の進歩を個人の職場で使用できるようになりました。

では、数学的モデリングプログラムは何ができるのでしょうか? 科学者が特定のアルゴリズム言語でプログラムし、プログラムをデバッグし、エラーをキャッチし、結果を得るのに多くの時間を費やすことができる必要があるのでしょうか。 いいえ、当時はもう昔のことであり、現在、モデル構築の原則は、従来の「プログラミングの芸術」ではなく、数学パッケージに適用されています。 つまり、ユーザーはタスクを設定するだけで、システム自体がそれを解決するためのメソッドとアルゴリズムを見つけます。 さらに、角かっこを開く、式を変換する、方程式の根を見つける、導関数、不定積分などの日常的な操作は、コンピューターによって記号形式で、実際にはユーザーの介入なしに実行されます。

最新の数学パッケージは、通常の計算機としても、問題を解決するときに式を簡略化する手段としても、グラフィックスやサウンドジェネレーターとしても使用できます。 インターネットとのやり取りの手段も標準になり、HTMLページの生成は計算プロセスで直接実行されるようになりました。 これで、問題を解決すると同時に、その解決の進捗状況をホームページで同僚に公開できます。

数理モデリングプログラムとその応用の可能性のある分野については非常に長い間話すことができますが、主要なプログラムの概要に限定し、それらの共通の機能と違いを指摘します。 現在、ほとんどすべての最新のCAEプログラムには、記号計算用の関数が組み込まれています。 ただし、Maple、MathCad、Mathematica、MatLabは最も有名であり、数学的な記号計算に適合していると考えられています。 しかし、記号数学の主要なプログラムを検討する一方で、1つまたは別の主要なパッケージにイデオロギー的に類似している可能性のある代替案も指摘します。

では、これらのプログラムは何をし、数学者をどのように助けますか? 高等教育における数学的分析のコースの基礎は、限界、導関数、関数の不定積分、さまざまなタイプの積分、級数および微分方程式などの概念です。 高等数学の基礎に精通している人なら誰でも、限界を見つける、積分を取る、導関数を見つけるなどの数十の規則をおそらく知っています。 これに、ほとんどの積分を見つけるために基本積分の表も覚えておく必要があるという事実を追加すると、本当に膨大な量の情報が得られます。 そして、しばらくの間、そのような問題を解決するための訓練をしていなければ、多くのことをすぐに忘れてしまいます。たとえば、積分がより難しいことを見つけるには、参考書を調べる必要があります。 しかし、実際の作業で積分を取り、限界を見つけることは、計算の主な目標ではありません。 本当の目標はいくつかの問題を解決することであり、計算はこの解決策への道の中間段階にすぎません。

説明されているソフトウェアの助けを借りて、あなたは多くの時間を節約し、計算における多くのエラーを避けることができます。 当然、CAEシステムはこれらの可能性だけに限定されるものではありませんが、このレビューではそれらに焦点を当てます。

このようなシステムによって解決されるタスクの範囲は非常に広いことに注意してください。

  • 計算と分析計算を必要とする数学的研究を実施する。
  • アルゴリズムの開発と分析。
  • 数学的モデリングとコンピューター実験。
  • データ分析と処理;
  • 視覚化、科学および工学グラフィックス;
  • グラフィックおよび計算アプリケーションの開発。

同時に、CAEシステムには基本的な計算のための演算子が含まれているため、標準関数にないほとんどすべてのアルゴリズムは、独自のプログラムを作成することで実装できることに注意してください。

Mathematica (http://www.wolfram.com/)

  • 400〜550MBのディスク容量。
  • オペレーティングシステム:Windows 98 / Me / NT 4.0 / 2000/2003 Server / 2003x64 / XP /XPx64。

Mathematicaコンピュータ数学システムの開発者であるWolframResearch、Inc.は、当然のことながら、この分野で最も古く、最も堅実なプレーヤーと見なされています。 Mathematicaパッケージ(現在のバージョン5.2)は、現代の科学研究の計算で広く使用されており、科学および教育環境で広く知られるようになりました。 Mathematicaには重要な機能的冗長性があるとさえ言えます(特に、サウンド合成の機会さえあります)。

しかし、世界のリーダーであると主張するこの強力な数学システムが、一般のユーザーは言うまでもなく、秘書や小さな商業会社の取締役でさえ必要とされる可能性は低いです。 しかし、間違いなく、深刻な科学研究所や大学の学部は、複雑さの数学的計算の実行を自動化することに真剣に関心がある場合は、同様のプログラムを用意する必要があります。 真剣な数学計算に焦点を当てているにもかかわらず、Mathematicaクラスシステムは習得が容易で、大学生や教師、エンジニア、大学院生、科学者、さらには一般教育や特別な数学クラスの学生など、かなり幅広いカテゴリのユーザーが使用できます。学校。 それらのすべては、そのようなシステムで多くの有用なアプリケーションを見つけるでしょう。

同時に、プログラムの最も広範な機能がそのインターフェースを過負荷にしたり、計算を遅くしたりすることはありません。 Mathematicaは、シンボリック変換と数値計算の高速性を一貫して示しています。 検討中のすべてのシステムの中で、Mathematicaは最も完全で用途が広いですが、各プログラムには独自の長所と短所があります。 そして最も重要なことは、彼らには支持者がいて、他のシステムの優位性を納得させるのは無意味です。 しかし、コンピュータ数学システムを真剣に扱う人は、いくつかのプログラムを使用する必要があります。これだけが、複雑な計算の高レベルの信頼性を保証するからです。

Mathematicaシステムのさまざまなバージョンの開発には、親会社のWolfram Research、Inc.とともに、他の会社や数学者やプログラマーを含む数百人の優秀な専門家が参加したことに注意してください。 その中には、海外で尊敬され需要のあるロシアの数学学校の代表者がいます。 Mathematicaシステムは最大のソフトウェアシステムの1つであり、最も効率的な計算アルゴリズムを実装しています。 その中には、たとえば、プログラムでの副作用の出現を排除するコンテキストのメカニズムがあります。

Mathematicaは現在、PC用の世界をリードする記号数学コンピュータシステムと見なされており、最も洗練されたグラフィック形式で結果を出力して複雑な数値計算を実行する機能だけでなく、特に時間のかかる分析変換のパフォーマンスも提供します。と計算。 Windowsでのシステムのバージョンには、最新のユーザーインターフェイスがあり、ノートブック(ノートブック)の形式でドキュメントを準備できます。 これらは、ソースデータ、問題を解決するためのアルゴリズムの説明、プログラム、およびソリューションの結果を最も多様な形式(数式、数値、ベクトル、行列、表、およびグラフ)で組み合わせます。

Mathematicaは、科学者や分析数学者の作業を可能な限り自動化するシステムとして考案されたため、最も複雑なエリートで高度にインテリジェントなソフトウェア製品の典型的な代表としても研究する価値があります。 ただし、ほとんどの科学者、大学および大学の教授、学生、エンジニア、さらには学童にさえも貴重な支援を提供できる、強力で柔軟な数学的ツールキットとして、はるかに大きな関心が寄せられています。

当初から、動的なものを含むグラフィックス、さらにはマルチメディア機能(動的なアニメーションの再生やサウンドの合成)にも多くの注意が払われていました。 アクションを変更するグラフィックス関数とオプションのセットは非常に幅広いです。 グラフィックスは常にMathematicaのさまざまなバージョンの長所であり、コンピュータ数学システムの中でリーダーシップを発揮してきました。

その結果、Mathematicaはシンボリック数学システムの市場ですぐに主導的な地位を獲得しました。 特に魅力的なのは、システムの広範なグラフィカル機能とノートブックタイプのインターフェイスの実装です。 同時に、このシステムは、シンボリックタスクを解決する場合でも、スプレッドシートのスタイルでドキュメントのセル間に動的な接続を提供しました。これにより、他の同様のシステムと基本的かつ有利に区別されました。

ちなみに、Mathematicaクラスのシステムの中心的な場所は、マシンに依存しない数学演算のコアで占められており、システムをさまざまなコンピュータプラットフォームに転送することができます。 システムを別のコンピュータプラットフォームに転送するには、フロントエンドソフトウェアインターフェイスプロセッサを使用します。 システムがどのようなユーザーインターフェースを持っているかを決めるのは彼です。つまり、他のプラットフォーム用のMathematicaシステムのインターフェースプロセッサは独自のニュアンスを持っているかもしれません。 カーネルは、カーネルから任意の関数を非常に迅速に呼び出すことができるように十分にコンパクトになっています。 関数のセットを拡張するために、ライブラリ(ライブラリ)と拡張パッケージのセット(アドオンパッケージ)が使用されます。 拡張パッケージはMathematica独自のシステムプログラミング言語で作成されており、システムの機能を開発し、特定のクラスのユーザーの問題を解決するためにそれらを適応させるための主要な手段です。 さらに、システムには電子ヘルプシステムが組み込まれています。ヘルプには、実際の例が記載された電子書籍が含まれています。

したがって、Mathematicaは、一方では、最も強力な高レベルの問題指向関数型プログラミング言語の1つに基づく典型的なプログラミングシステムであり、さまざまな問題(数学の問題を含む)を解決するように設計されています。ほとんどの数学的問題を解決するためのシステム。従来のプログラミングなしでインタラクティブにタスクを実行します。 したがって、プログラミングシステムとしてのMathematicaは、ほぼすべての制御構造の開発と作成、I / Oの編成、システム機能の操作、および周辺機器のサービスを行うためのすべての可能性を備えており、拡張パッケージ(アドオン)の助けを借りて、次のようになります。すべてのユーザーのニーズに適応することが可能です(通常のユーザーはこれらのプログラミングツールを必要としない場合がありますが、システムの組み込みの数学関数で完全に管理し、経験豊富な数学者でさえその豊富さと多様性に驚かされます)。

Mathematicaシステムの欠点には、おそらく非常に珍しいプログラミング言語が含まれますが、それは詳細なヘルプシステムによって促進されます。

Mathematicaのより単純だがイデオロギーに関連する代替案には、Maxima(/)やKalamaris(developer.kde.org/~larrosa/kalamaris.html)などのパッケージが含まれます。

Maximaシステムは非営利のオープンソースプロジェクトであることに注意してください。 Maximaは数学の仕事にMathematicaに似た言語を使用しており、グラフィカルインターフェイスは同じ原理に基づいて構築されています。 当初、このプログラムはXmaximaと呼ばれ、UNIXシステム用に作成されました。

さらに、Maximaには、Wxmaxima(http://wxmaxima.sourceforge.net)と呼ばれる、さらに強力で効率的でユーザーフレンドリーなクロスプラットフォームGUIがあります。 このプロジェクトはこれまでベータ版でしか存在しませんでしたが、徐々に商用システムの非常に深刻な代替案になりつつあります。

Kalamarisプログラムに関しては、これもMathematicaシステムと同様のアプローチとイデオロギーを持った新しいプロジェクトです。 プロジェクトはまだ完了していませんが、Mathematicaのような商用モンスターに代わる優れた無料の代替品でもあります。

メープル (http://www.maplesoft.com/)

最小システム要件:

プロセッサPentiumIII650 MHz;

400MBのディスク容量。

オペレーティングシステム:Windows NT 4(SP5)/ 98 / ME/2000/2003サーバー/XPPro/XPホーム。

Mapleプログラム(最新バージョン10.02)は、記号数学システムのファミリーの一種の家長であり、今でも普遍的な記号計算システムのリーダーの1つです。 これは、あらゆるレベルの数学的研究に便利な知的環境をユーザーに提供し、科学界で特に人気があります。 Mapleプログラムのシンボリックアナライザーはこのソフトウェアの最も強力な部分であるため、MathCadやMatLabなどの他の多くのCAEパッケージ、およびScientificWorkPlaceやMathOfficeforWordパッケージに借用されて含まれていることに注意してください。科学出版物を準備するため。

Mapleパッケージは、ウォータールー大学(カナダ、オンタリオ州)と高等技術学校(ETHZ、スイス、チューリッヒ)の共同開発です。 その販売のために、特別な会社が設立されました-Waterloo Maple、Inc.、残念ながら、その商業的実施のレベルよりもプロジェクトの数学的精緻化で有名になりました。 その結果、Mapleシステムは、以前は主に狭い範囲の専門家が利用できました。 現在、この会社は、商取引および数学システムのユーザーインターフェイスの開発でより成功しているMathSoft、Incと協力しています。 -技術計算の国際標準となった数値計算MathCad用の非常に人気のある質量システムの作成者。

Mapleは、コンピューター実験に便利な環境を提供します。その間、問題へのさまざまなアプローチが試され、特定のソリューションが分析され、必要に応じて、特別な速度を必要とするプログラミングフラグメントが選択されます。 このパッケージを使用すると、他のシステムや高レベルのユニバーサルプログラミング言語を使用して統合環境を作成できます。 計算が行われ、結果を形式化する必要がある場合は、このパッケージのツールを使用して、データを視覚化し、公開用のイラストを準備できます。 作業を完了するには、Maple環境で直接印刷物(レポート、記事、本)を準備する必要があります。その後、次の調査に進むことができます。 作業はインタラクティブです。ユーザーはコマンドを入力すると、実行結果がすぐに画面に表示されます。 同時に、Mapleパッケージは、すべての変数とそれらを使用したアクションの厳密な形式化が必要な従来のプログラミング環境とはまったく異なります。 ここでは、適切なタイプの変数の選択が自動的に保証され、操作の正確性がチェックされるため、一般的なケースでは、変数の記述や表記の厳密な形式化は必要ありません。

Mapleパッケージは、コア(Cで記述され、十分に最適化されたプロシージャ)、Maple言語で記述されたライブラリ、および豊富なフロントエンドで構成されています。 カーネルは基本的な操作のほとんどを実行し、ライブラリには多くのコマンド(解釈モードで実行されるプロシージャ)が含まれています。

Mapleインターフェイスは、ワークシート、またはI / O行とテキスト、およびグラフィックスを含むドキュメントの概念に基づいています。

パッケージはインタプリタモードで処理されます。 入力行で、ユーザーはコマンドを指定し、Enterキーを押して、結果(1つまたは複数の行)または誤って入力されたコマンドに関するメッセージを受け取ります。 新しいコマンドを入力するための招待状がすぐに発行されます。

メープルインターフェース

Mapleシステムの作業ウィンドウ(シート)は、問題を解決するためのインタラクティブな環境として、または技術文書を作成するためのシステムとして使用できます。 実行グループとスプレッドシートは、特定のタスクを実行して結果を表示する要求がMapleシステムに渡される主要な手段として機能することにより、ユーザーとMapleエンジンとの対話を容易にします。 これらのタイプの主要な手段は両方とも、Mapleコマンドの入力を許可します。

Mapleシステムでは、数字と記号の両方を含むスプレッドシートを入力できます。 これらは、Mapleシステムの数学的機能と、従来のスプレッドシートですでによく知られている行と列の形式を組み合わせたものです。 Mapleスプレッドシートを使用して、数式テーブルを作成できます。

計算結果の文書化と整理を容易にするために、段落とセクションに分割したり、ハイパーリンクを追加したりするためのオプションがあります。 ハイパーリンクはナビゲーションの補助です。 ワンクリックで、ワークシート内の別のポイント、別のワークシート、ヘルプページ、Webサーバー上のワークシート、またはその他のWebページにジャンプできます。

ワークシートは、セクションとサブセクションに階層的に編成できます。 セクションとサブセクションは、展開または折りたたむことができます。 Mapleシステムは、他のテキストエディタと同様に、ブックマークオプションをサポートしています。

Mapleでの計算

Mapleシステムは、その機能の最も基本的なレベルで使用できます。特定の数式を計算するための非常に強力な計算機として使用できますが、その主な利点は、記号形式、つまり人が行う方法で算術演算を実行できることです。 分数と根を処理する場合、プログラムは計算中にそれらを10進形式に縮小しませんが、必要な縮小と列への変換を行います。これにより、丸め誤差を回避できます。 10進数に相当するものを処理するために、Mapleシステムには、式の値を浮動小数点形式で近似する特別なコマンドがあります。 Mapleシステムは、有限および無限の合計と積を計算し、複素数で計算操作を実行し、複素数を極座標の数に簡単に変換し、初等関数の数値を計算し、多くの特殊関数と数学定数も知っています( 「e」や「pi」など)。 Mapleは、数学、科学、技術の多くの分野で見られる何百もの特殊関数と数値をサポートしています。 それらのほんの一部を次に示します。

  • エラー関数;
  • オイラー定数;
  • 指数積分;
  • 楕円積分関数;
  • ガンマ関数;
  • ゼータ関数;
  • ヘビサイドの階段関数;
  • ディラックのデルタ関数;
  • ベッセル関数と修正ベッセル関数。

Mapleシステムは、代数式を単純化および因数分解し、それらをさまざまな形式に変換するなど、式を表現、縮小、および変換するためのさまざまな方法を提供します。 したがって、Mapleを使用して方程式やシステムを解くことができます。

Mapleには、1つ以上の変数を持つ式を評価するための強力なツールも多数あります。 このプログラムは、微分積分学の問題の解決、限界の計算、級数展開、級数の合計、乗算、積分変換(ラプラス変換、Z変換、メリン、フーリエ変換など)、および研究に使用できます。連続または区分的連続関数。

Mapleは、有限と無限大の両方の関数の極限を計算でき、極限内の不確実性も認識します。 初期条件問題(IVP)や境界条件問題(BVP)など、多くの常微分方程式(ODE)や偏微分方程式(PDE)を解くことができます。

Mapleシステムで最も一般的に使用されるソフトウェアパッケージの1つは、線形代数パッケージです。これには、ベクトルと行列を操作するための強力なコマンドセットが含まれています。 Mapleは、演算子の固有値と固有ベクトルを見つけ、曲線座標を計算し、行列ノルムを見つけ、さまざまな種類の行列分解を計算できます。

技術的なアプリケーションのために、Mapleには、数式の自動変換を備えた物理定数と物理量の単位の参考書が含まれています。 メープルは数学を教えるのに特に効果的です。 記号数学のこのシステムの最高の知性は、数学的数値モデリングの優れた手段と、ソリューションのグラフィカルな視覚化のための単純に驚くべき可能性と組み合わされています。 Mapleなどのシステムは、数学の最初から最後まで、教育と独学の両方で使用できます。

Mapleのグラフィック

Mapleシステムは、2Dグラフィックと3Dグラフィックの両方をサポートしています。 このようにして、明示的、暗黙的、およびパラメトリック関数、ならびに多変量関数および単純なデータセットをグラフィカルに表現し、パターンを視覚的に探すことができます。

Mapleグラフィックツールを使用すると、複数の関数の2次元グラフを一度に作成し、複素数の関数の等角変換のグラフを作成し、関数を対数、二重対数、パラメトリック、位相、極、および輪郭の形式でプロットできます。 不等式、陰関数、微分方程式の解、根軌跡をグラフィカルに表すことができます。

Mapleは、明示的およびパラメトリック関数によって定義されたサーフェスや、微分方程式の解を含む、サーフェスとカーブを3Dで生成できます。 同時に、静的な形式だけでなく、2次元または3次元のアニメーションの形式でも表示できます。 システムのこの機能は、リアルタイムプロセスを表示するために使用できます。

結果を準備し、研究を文書化するために、システムには、タイトル、碑文、およびグラフ上の他のテキスト情報のフォントを選択するためのすべてのオプションがあることに注意してください。 この場合、フォントだけでなく、グラフの明るさ、色、縮尺も変えることができます。

特殊なアプリケーション

有限要素解析(FEM)、非線形最適化などの分野向けの強力なMaple PowerToolsとパッケージの広範なセットは、大学の数学教育でユーザーを完全に満足させます。 Mapleには、線形代数とテンソル代数、ユークリッドと分析幾何学、数論、確率論と数学統計、組み合わせ論、群論、積分変換、数値近似と線形最適化(単純法)の問題を解決するためのサブルーチンのパッケージも含まれています。金融数学や他の多くの問題。

財務計算については、Financeソフトウェアパッケージを対象としています。 これを使用して、現在および累積の年金、合計年金、合計年金、合計年金、および債券の利回りを計算できます。 償却表を作成し、複利の実際の利率を決定し、特定の利率と複利の現在および将来の固定額を計算できます。

プログラミング

Mapleシステムは、第4世代の手続き型言語(4GL)を使用します。 この言語は、数学ルーチンとカスタムアプリケーションの迅速な開発のために特別に設計されています。 この言語の構文は、高レベルのユニバーサル言語(C、Fortran、Basic、およびPascal)の構文に似ています。

Mapleは、FortranやCなどのプログラミング言語、および科学界で非常に人気があり、公開に使用されるLaTeXタイピング言語と互換性のあるコードを生成できます。 このプロパティの利点の1つは、複雑な問題を解決する速度を最大化する特殊な数値プログラムへのアクセスを提供できることです。 たとえば、Mapleシステムを使用すると、特定の数学モデルを開発し、それを使用してこのモデルに対応するCコードを生成できます。 数学アプリケーションの開発用に特別に最適化された4GL言語を使用すると、開発プロセスを短縮できます。統合されたグラフィカルコンポーネントを備えたMaplets要素またはMapleドキュメントは、ユーザーインターフェイスのカスタマイズに役立ちます。

同時に、Maple環境では、アプリケーションのドキュメントを準備することもできます。これは、パッケージツールを使用して、テキスト、インタラクティブな数学計算、グラフィックス、描画、さらにはサウンドを含むプロ並みの技術ドキュメントを作成できるためです。 また、ボタン、スライダー、その他のコンポーネントを追加してインタラクティブなドキュメントやプレゼンテーションを作成し、最終的にWebでドキュメントを公開し、MapleNetサーバーを使用してインタラクティブなコンピューティングをWebに展開することもできます。

インターネットの互換性

Mapleは、Web上の数学のルックアンドフィールの両方を管理するMathML2.0標準を完全にサポートする最初のユニバーサル数学パッケージです。 この独自の機能により、現在のバージョンのMathMLはインターネット数学の頼れるツールになり、マルチユーザー互換性の新しいレベルを設定します。 TCP / IPプロトコルは、リアルタイムの財務分析用のデータや気象データなど、他のインターネットリソースからの情報への動的なアクセスを提供します。

開発の見通し

Mapleの最新バージョンは、数学の問題を解決するための追加のアルゴリズムと方法に加えて、より便利なグラフィカルインターフェイス、高度な視覚化およびグラフ作成ツール、および追加のプログラミングツール(ユニバーサルプログラミング言語との互換性を含む)を受け取りました。 9番目のバージョンから、Mathematicaプログラムからのドキュメントのインポートがパッケージに追加され、数学と工学の概念の定義がヘルプシステムに導入され、ヘルプページのナビゲーションが拡張されました。 さらに、特に大きくて複雑な式をフォーマットする場合の数式の印刷品質が向上し、Maple作業ドキュメントを保存するためのMWファイルのサイズも大幅に削減されました。

したがって、メープルはおそらく最もバランスの取れたシステムであり、数学の記号計算の可能性において誰もが認めるリーダーです。 同時に、元の文字エンジンがここで覚えやすい構造化プログラミング言語と組み合わされているため、Mapleは小さなタスクと大きなプロジェクトの両方に使用できます。

Mapleシステムの欠点には、常に正当化されるとは限らない特定の「思慮深さ」と、このプログラムの非常に高いコスト(ライブラリのバージョンとセットによっては、価格が数万ドルに達する)だけが含まれます。学生と研究者には安価なバージョンが提供されていますが、数百ドルです)。

Mapleパッケージは、主要な科学国の大学、研究センター、および企業で広く配布されています。 プログラムは絶えず進化し、数学の新しい分野を吸収し、新しい機能を獲得し、研究作業のためのより良い環境を提供しています。 このシステムの開発の主な方向性の1つは、分析(記号)計算の能力と信頼性を高めることです。 この方向は、メープルで最も広く表されています。 すでに今日、メープルは最も複雑な分析計算を実行できます。これは、経験豊富な数学者でさえも能力を超えていることがよくあります。 もちろん、Mapleは見事な推測はできませんが、システムは見事にルーチン計算と質量計算を実行します。 もう1つの重要な方向性は、数値計算の効率を上げることです。 その結果、Mapleを数値モデリングや、任意精度の計算を含む複雑な計算の実行に使用する可能性が著しく高まっています。 そして最後に、Mapleと他のソフトウェアツールとの緊密な統合は、このシステムの開発におけるもう1つの重要な方向性です。 Maple記号計算コアは、MathCadなどの幅広いユーザー向けのシステムから、数値計算やMatLabのモデリングに最適なシステムの1つまで、すでに多くのコンピューター数学システムに含まれています。

これらすべての機能は、美しくデザインされたユーザーフレンドリーなユーザーインターフェースと強力なヘルプシステムと組み合わされて、Mapleをさまざまな数学の問題を解決するためのファーストクラスのソフトウェア環境にし、ユーザーに教育的および現実的な解決の効果的な支援を提供することができます科学的および技術的な問題。

代替パッケージ

Mapleプログラムのより単純ですが、イデオロギー的に近い代替手段として、Derive(http://www.chartwellyorke.com/derive.html)、Scientific WorkPlace(http://www.mackichan.com/)、 YaCaS(www.xs4all.nl/~apinkus/yacas.html)。

すでに述べたように、Scientific WorkPlace(SWP、現在のバージョン5.5)は、もともと科学的なテキストエディターとして開発されたもので、数式の入力と編集が簡単にできます。 ただし、時間の経過とともに、MacKichan Software、Inc. (Scientific WorkPlaceの開発者)は、Waterloo Maple、Inc.からMapleシンボルエンジンのライセンスを取得しており、このプログラムは、数学テキストを生成する使いやすいワードプロセッサと数式処理システムを1つの環境で組み合わせています。 組み込みの数式処理システムのおかげで、ドキュメント内で直接計算を実行できます。 もちろん、このプログラムにはMapleと同じ機能はありませんが、小さくて使いやすいです。

YaCaS(Yet Another Computer Algebra Systemの略語-別の数式処理システム)に関しては、これはMapleに代わる無料のクロスプラットフォームであり、同じ原則に基づいて構築されています。 強力で非常に効率的なYaCaSエンジンは、オープンソースライセンス(OpenSource)の下でC++に完全に実装されています。 もちろん、インターフェースは由緒ある競合他社よりも貧弱でシンプルですが、非常に便利です。

しかし、小さな商用数学システムDerive(現在のバージョン6.1)はかなり長い間存在していましたが、もちろん、PCハードウェアリソースを必要としないため魅力的ですが、Mapleの本格的な代替手段とは見なされません。 。 さらに、中程度の複雑さの問題を解決する場合、MapleおよびMathematicaシステムの最初のバージョンよりも、ソリューションのパフォーマンスと信頼性がさらに高くなります。 ただし、Deriveシステムがこれらのシステムと真剣に競合することは困難です。分析変換の機能とルールの豊富さ、コンピューターグラフィックスの機能、およびユーザーインターフェイスの利便性の両方の点でです。 これまでのところ、Deriveはよりエントリーレベルの数式処理トレーニングシステムです。

また、最新バージョンのDerive 6 for Windowsには、最新のユーザーフレンドリーなインターフェイスがすでに備わっていますが、多くの点で、由緒ある競合他社の洗練されたインターフェイスよりも劣っています。 また、計算結果をグラフィカルに視覚化できる可能性に関して、Deriveは一般的に競合他社に大きく遅れをとっています。

matlab (http://www.mathworks.com/)

最小システム要件:

  • プロセッサPentiumIII、4、Xeon、Pentium M; AMD Athlon、Athlon XP、Athlon MP;
  • 256 MB RAM(512 MBを推奨)。
  • 400 MBのディスク容量(MatLabシステム自体とそのヘルプのみ)。
  • オペレーティングシステムMicrosoftWindows2000(SP3)/XP。

MatLabシステムは、記号数学用に設計された中級レベルの製品に属していますが、CAEの分野で広く使用できるように設計されています(つまり、他の分野で強力です)。 MatLabは、行列演算の拡張表現とアプリケーションに基づいて構築された、数学計算を自動化するための最も古く、注意深く設計され、実績のあるシステムの1つです。 これは、システムの名前そのものに反映されています。MATrixLABoratory、つまりマトリックスラボです。 ただし、システムプログラミング言語の構文は慎重に検討されているため、行列の計算に直接関心のないユーザーは、この方向性をほとんど感じません。

MatLabはもともと計算専用でしたが、進化の過程で(そして現在、バージョン7はすでにリリースされています)、優れたコンピューティングツールに加えて、シンボリック変換カーネルがMatLabのライセンスの下でWaterlooMapleから購入されました。そして、MatLabの数学パッケージに固有の関数を提供するライブラリが登場しました。 たとえば、ビジュアルプログラミングの原理を実装した有名なSimulinkライブラリを使用すると、コードを1行も記述せずに、ビルディングブロックのみから複雑な制御システムの論理図を作成できます。 このような回路を構築した後、その動作を詳細に分析することができます。

MatLabシステムでプログラミングする機会も十分にあります。 そのCMathライブラリ(MatLabコンパイラ)はオブジェクトベースであり、300を超えるCデータ処理ルーチンが含まれています。パッケージ内では、MatLabルーチンと標準のCルーチンの両方を使用できるため、このツールはアプリケーションの開発(Cを使用)時に強力に役立ちます。コンパイラ)。数学、既製のアプリケーションに任意のMatLabプロシージャを埋め込むことができます)。

C Mathライブラリを使用すると、次のカテゴリの関数を使用できます。

  • 行列を使用した演算。
  • 行列の比較;
  • 一次方程式の解;
  • 演算子の分解と固有値の検索。
  • 逆行列を見つける。
  • 行列式を検索します。
  • 行列指数の計算;
  • 初等数学;
  • 関数ベータ、ガンマ、erfおよび楕円関数。
  • 統計とデータ分析の基礎;
  • 多項式の根を検索します。
  • フィルタリング、畳み込み;
  • 高速フーリエ変換(FFT);
  • 補間;
  • 文字列操作;
  • ファイルI/O操作など。

同時に、すべてのMatLabライブラリは、高速の数値計算を特徴としています。 ただし、行列は、線形代数の問題の解決や数学的モデリング、静的および動的なシステムやオブジェクトの計算などの数学的計算だけでなく、広く使用されています。 これらは、動的オブジェクトとシステムの状態方程式の自動コンパイルと解決の基礎となります。 行列問題の高速解法の分野で最高の成果を組み込んだMatLabシステムへの関心を大幅に高めるのは、行列微積分装置の普遍性です。 したがって、MatLabは長い間、特殊な行列システムを超えて、コンピューター数学の最も強力なユニバーサル統合システムの1つになりました。

シミュレーションを視覚化するために、MatLabシステムにはImage Processing Toolboxライブラリがあります。これは、MatLab環境から直接進行中の計算の視覚化、倍率、分析、および画像処理アルゴリズムを構築する機能をサポートする幅広い機能を提供します。 高度なグラフィックライブラリ技術は、MatLabプログラミング言語と組み合わせて、グラフィック処理に適したカスタムアプリケーションを作成するために使用できるオープンで拡張可能なシステムを提供します。

画像処理トールボックスライブラリの主なツール:

  • フィルタの作成、画像のフィルタリングと復元。
  • 画像の拡大;
  • 画像の分析と統計処理。
  • 関心のある領域の選択、幾何学的および形態学的操作。
  • 色の操作;
  • 二次元変換;
  • 処理装置;
  • 視覚化ツール;
  • グラフィックファイルの書き込み/読み取り。

したがって、MatLabシステムは、データマトリックスと同様にグラフィックス配列で機能する独自のアルゴリズムを構築することにより、画像処理に使用できます。 MatLab言語は行列の操作用に最適化されているため、画像操作の使いやすさ、高速性、費用対効果が向上します。

したがって、MatLabプログラムを使用して、破損した画像の復元、画像内のオブジェクトのパターン認識、または独自の画像処理アルゴリズムの開発を行うことができます。 Image Processing Tollboxライブラリは、このライブラリに含まれる各機能が最大の速度、効率、および計算の信頼性のために最適化されているため、高精度アルゴリズムの開発を簡素化します。 さらに、ライブラリは、独自のソリューションを作成し、複雑なグラフィックス処理アプリケーションを実装するための多数のツールを開発者に提供します。 また、画像を分析する場合、強力な視覚化ツールへの即時アクセスを使用すると、拡大、復元、およびフィルタリングの効果を即座に確認できます。

MatLabシステムの他のライブラリの中でも、システム同定ツールボックスに注目することができます。これは、観測された入力/出力データに基づいて動的システムの数学モデルを作成するためのツールのセットです。 このツールキットの機能は、データとモデルを整理できる柔軟なユーザーインターフェイスの存在です。 System Identification Toolboxライブラリは、パラメトリック法とノンパラメトリック法の両方をサポートしています。 システムインターフェイスは、データの前処理を容易にし、モデルを構築する反復プロセスを実行して、推定値を取得し、最も重要なデータを抽出します。 データを開く/保存する、可能なデータ値の領域を強調表示する、エラーを削除する、データが特性レベルからドリフトするのを防ぐなどの操作の最小限の労力で高速に実行されます。

データセットと識別されたモデルはグラフィカルに編成されているため、システム識別プロセス中に以前の分析の結果を簡単に思い出して、プロセスの次の可能なステップを選択できます。 メインのユーザーインターフェイスは、すでに取得された結果を表示するためにデータを整理します。 これにより、モデルの見積もりをすばやく比較でき、最も重要なモデルをグラフィカルに強調表示して、そのパフォーマンスを調べることができます。

数学計算に関しては、MatLabは、Numerical AlgorithmsGroupLtdのNAGFoundationLibraryに含まれる膨大な数のサブルーチンへのアクセスを提供します(ツールキットには、数学のさまざまな分野の何百もの関数があり、これらのプログラムの多くは、世界)。 これは、過去30年間に作成されたコンピューター数学の最新の数値手法の実装のユニークなコレクションです。 このように、MatLabは、数学の開発の何千年にもわたって蓄積された数学計算の経験、規則、および方法を吸収しました。 システムだけに付属している広範なドキュメントは、ソフトウェアに関する基本的なマルチボリュームの電子参考書と見なすことができます。

MatLabシステムの欠点の中には、環境の統合が低いこと(2台のモニターで作業する方がよいウィンドウがたくさんある)、あまり理解できないヘルプシステム(そしてその一方で、独自のドキュメントの量)に注意することができます。ほぼ5000ページに達するため、MatLabプログラム用の特定のコードエディタが表示されにくくなります。 今日、MatLabシステムは技術、科学、教育で広く使用されていますが、それでも純粋な数学的計算よりもデータ分析と計算の編成に適しています。

したがって、MatLabで分析変換を実行するには、Mapleシンボリック変換カーネルが使用され、数値計算用のMapleからMatLabにアクセスできます。 結局のところ、Maple記号数学が多くの最新パッケージの不可欠な部分になったことは何の意味もありません。また、MatLabとツールボックスからの数値解析はユニークです。 それにもかかわらず、MapleとMatLabの数学パッケージは、クラスの知的リーダーであり、コンピューター数学の発展を決定するモデルです。

MatLabプログラムのより単純ですが、イデオロギー的に近い代替手段として、Octave(www.octave.org)、KOctave(bubben.homelinux.net/~matti/koctave/)、Genius(www.jirka.org/)などのパッケージに注目できます。 genius .html)。

Octaveは、MatLabとの互換性が高い数値計算プログラムです。 もちろん、Octaveシステムのインターフェースは貧弱で、MatLabのような独自のライブラリーはありませんが、システムリソースを必要としない非常に習得しやすいプログラムです。 Octaveはオープンソースライセンス(OpenSource)で配布されており、教育機関にとって非常に役立ちます。

KOctaveプログラムは、本質的にOctaveシステム用のより高度なグラフィカルインターフェイスです。 KOctaveを使用した結果、OctaveシステムはMatLabと完全に類似したものになります。

もちろん、気取らない数学プログラムGeniusは、著名な競合他社と権力を争うことはできませんが、数学変換のイデオロギーはMatLabやMapleに似ています。 Geniusは、オープンソースライセンス(OpenSource)の下でも配布されています。 独自のGEL言語、高度なGenius Math Tool、および公開用のドキュメントを準備するための優れたシステム(LaTeX、Troff(eqn)、MathMLなどの言語を使用)を備えています。 Geniusプログラムの非常に優れたグラフィカルインターフェイスにより、操作が簡単で便利になります。

MathCad (http://www.mathsoft.com/、http://www.mathcad.com/)

最小システム要件:

  • PentiumIIプロセッサ以降。
  • 128MB RAM(256MB以上を推奨)
  • 200〜400MBのディスク容量。
  • オペレーティングシステム:Windows 98 / Me / NT 4.0 / 2000/XP。

強力で非常に効率的なデータ分析パッケージMatLabとは異なり、MathCad(現在のバージョン13)は、豊富な記号計算機能と優れたインターフェイスを備えた、シンプルでありながら高度な数学テキストエディターです。 MathCadにはプログラミング言語自体がなく、記号計算エンジンはMapleパッケージから借用されています。 しかし、MathCadプログラムのインターフェースは非常にシンプルで、視覚化機能は豊富です。 ここでのすべての計算は、一般的に使用される数学的形式での式の視覚的記録のレベルで実行されます。 パッケージには、優れたヒント、詳細なドキュメント、トレーニング機能、多数の追加モジュール、および製造元からの適切なテクニカルサポートが含まれています(製品バージョンからわかるように、このプログラムは、このレビューで言及されている他のプログラムよりも頻繁に更新されますが、最初のバージョンのリリース年はほぼ同じです-1996-1997)。 ただし、数式処理の分野でのMathCadの数学的機能は、Maple、Mathematica、MatLab、さらには小さなDeriveシステムよりもはるかに劣っています。 ただし、ロシアを含め、多くの書籍やトレーニングコースがMathCadプログラムの下で公開されています。 今日、このシステムは文字通りテクニカルコンピューティングの国際標準になり、多くの学童でさえMathCadを習得して使用しています。

少量の計算には、MathCadが理想的です。ここでは、すべてを非常に迅速かつ効率的に実行し、通常の方法で作業をフォーマットできます(MathCadは、インターネットでの公開まで、結果をフォーマットするための十分な機会を提供します)。 このパッケージには、便利なデータのインポート/エクスポート機能があります。 たとえば、MathCadドキュメント内でMicrosoftExcelスプレッドシートを操作できます。

一般に、MathCadは非常にシンプルで便利なプログラムであり、数学にあまり精通していないユーザー、特に数学の基礎を学んでいるユーザーを含む、幅広いユーザーに推奨できます。

安価でシンプルですが、イデオロギー的に近いMathCadプログラムの代替手段として、すでに述べたYaCaS、商用MuPADシステム(http://www.mupad.de/)、無料のKmPlotプログラム(http:/)などのパッケージに注目できます。 /edu.kde .org / kmplot /)。

KmPlotプログラムは、オープンソースライセンス(OpenSource)の条件の下で配布されます。 習得が非常に簡単で、学童にも適しています。

MuPADプログラムに関しては、これは数学計算の最新の統合システムであり、数値および記号変換を実行したり、幾何学的オブジェクトの2次元および3次元グラフを描画したりできます。 ただし、その機能の点では、MuPADはその由緒ある競合他社よりも大幅に劣っており、トレーニング用に設計されたエントリーレベルのシステムです。

結論

コンピュータ数学の分野では、たとえばコンピュータグラフィックスの環境では、数学プログラムの市場の明らかな制限の背後にあるような多様性はないという事実にもかかわらず、それらの可能性は本当に無限です! 原則として、CAEシステムは数学と工学計算のほぼすべての分野をカバーしています。

かつて、記号数学のシステムは、専門家の狭いサークルにのみ焦点を当て、大型のコンピューター(メインフレーム)で動作していました。 しかし、PCの出現により、これらのシステムはそれらのために再設計され、大量のシリアルソフトウェアシステムのレベルになりました。 今日、さまざまな口径の記号数学システムが市場に共存しています-幅広い消費者向けに設計されたMathCadシステムから、数千の組み込み関数とライブラリ関数を備えたコンピュータモンスターのMathematica、MatLab、Mapleまで、グラフィカルな視覚化の幅広い可能性ドキュメントを準備するための計算と高度なツールの。

これらのシステムのほとんどすべてが、一般的なWindowsオペレーティングシステムを搭載したパーソナルコンピュータだけでなく、Linux、UNIX、Mac OSオペレーティングシステム、およびPDAでも動作することに注意してください。 それらは長い間ユーザーに馴染みがあり、ハンドヘルドからスーパーコンピューターまで、すべてのプラットフォームに広く配布されています。

行列の計算を実行するためのプログラムの開発

序章

行列プログラミング言語

今日、数理計画法はすべてのプログラミングの重要な要素です。 単純なプログラムのおかげで、大規模で複雑な計算が簡単になります。

このコースワークでは、行列の計算用のプログラムが作成されました。

プログラミング環境として、MSVisualStudio2008とC++プログラミング言語が選択されました。

.
ベクター

列または行が1つしかない行列は、ベクトルと呼ばれます。 ベクトルの次元は、その要素の数です。

12つのベクトルの合計


次に、ベクトルの合計は次のベクトルと呼ばれます。

1.22つのベクトルの違い

線形空間のベクトルを次のように表すとします。


その場合、次のベクトルはベクトルの差と呼ばれます。

1.3ベクトルと数値の乗算

いくつかの数xとベクトルがある場合。

その場合、数xによるベクトルの積は、次のベクトルと呼ばれます。

1.42つのベクトルの内積

2つのベクトルとの内積は、それらの座標によって与えられ、次の式で計算できます。

2.
クラス

クラスは、データ要素だけでなく関数(メンバー関数またはメソッド)もタイプの説明に含めることができる構造のタイプです。

次のアクセス指定子は、クラスメンバーへのアクセスを制限するために使用されます。

public-アクセス制限なし。

保護-派生クラスでのみ使用可能。

・プライベート-クラスでのみ利用できます。

1コンストラクタとデストラクタ

Vector(int sz)関数をクラスに追加しましょう

このような関数はコンストラクターと呼ばれ、作成されるデータオブジェクトを初期化するのに役立ちます。 コンストラクターの名前はクラスの名前と一致する必要があり、コンストラクターは値を返してはならず、returnステートメントを含んでいてはなりません。その型は明示的に記述されていません。 コンストラクターはオーバーロードできるため、新しいデータ型には複数のコンストラクターを含めることができます。

〜Vector()は、デストラクタと呼ばれる特別な演算子です。 オブジェクトの存在を正しく終了する、つまりヒープ上のメモリを解放するために必要です。

デストラクタは、コンストラクタと同様に、値を返さないようにする必要があり、明示的な型宣言を持っている必要があります。 同じクラスに対して複数のコンストラクターを持つことができるコンストラクターとは異なり、デストラクタは1つであり、引数を持たない必要があります。(const Vector&A)はコピーコンストラクターと呼ばれます。 オブジェクトを作成し、同じタイプのオブジェクトで初期化するときに使用されます。

さらに、コピーコンストラクターは、オブジェクトを値で渡す場合に関数の仮パラメーターを初期化するとき、およびreturnステートメントによって関数からオブジェクトを返すときに使用されます。 参照とポインターを渡す場合、コピーコンストラクターは使用されません。

暗黙的なコピーコンストラクターは、あるオブジェクトから別のオブジェクトへの単純な要素ごとのコピーを提供します。 このタイプのコピーは、しばしば表面的なものと呼ばれます。

2オーバーロード操作

新しいデータ型のほとんどのC++言語演算子は、オーバーロードされる可能性があります。 操作をオーバーロードするには、キーワード演算子とオーバーロードされた操作の符号で構成される名前で関数を作成する必要があります。 この関数のパラメーターの数は、単一演算子または二重演算子がオーバーロードされているかどうか、およびクラスメソッドに暗黙的な要素が存在するかどうかによって決まります。

演算子のオーバーロードには、言語に2つの相互に関連する機能を導入することが含まれます。つまり、同じスコープ内で同じ名前の複数のプロシージャまたは関数を宣言する機能と、独自の操作の実装を記述する機能です。

たとえば、加算演算子をオーバーロードするには、operator+という名前の関数を定義します。

newとdeleteを除いて、オーバーロードされた演算子の演算子関数は、次の規則に従う必要があります。

演算子関数は、クラスの非静的メンバー関数であるか、クラス型または列挙型の引数、あるいはクラス型または列挙型への参照である引数を取る必要があります。

演算子関数は、組み込みデータ型に対応する演算子を使用する場合と比較して、引数の数、演算子の優先順位、および実行順序を変更できません。

メンバー関数として宣言された単項演算子演算子関数には、パラメーターがあってはなりません。 グローバル関数として宣言されている場合は、1つのパラメーターが必要です。

演算子関数はデフォルトのパラメータなどを持つことはできません。

3フレンドリーな機能

C ++データカプセル化の概念によれば、クラスのメンバーではない関数は、そのプライベートメンバーにアクセスできません。 C ++言語は、友人の助けを借りてこの制限を回避する機能を実装しています。 C ++では、フレンド関数またはフレンドクラスの2種類のクラスフレンドを宣言できます。 フレンド関数はクラスのメンバーではありませんが、プライベートメンバーにアクセスできます。 さらに、そのような関数の1つは、複数のクラスのプライベートメンバーにアクセスできます。 関数をクラスのフレンドとして宣言するために、クラス定義には、friendキーワードが前に付いたプロトタイプが含まれています。 ストリーム&オペレーター<<(ostream& os, const Vector& A)

フレンド関数は、それが宣言されているクラスのメンバーではありません。 したがって、フレンド関数を呼び出すときに、オブジェクト名やオブジェクトへのポインタ、およびクラスメンバーのアクセス操作(点または矢印)を指定する必要はありません。 クラスのプライベートメンバーには、クラスオブジェクトを介してフレンド関数からのみアクセスできます。したがって、関数内で宣言するか、関数に引数として渡す必要があります。

関数は、一度に複数のクラスに対応できます。

4このポインタを暗示する

各クラスメソッドには、メソッドを呼び出すときにパラメーターとして渡される次のポインターが含まれています。

タイプ名*this;

このポインタは、メソッドが呼び出された特定のオブジェクトのアドレスです。

thisポインタを使用してクラスメンバーにアクセスすることは可能ですが、これはすでにデフォルトであるため、ほとんどお勧めできません。 これを明示的に使用する必要があるのは、動的データ構造を編成する場合など、オブジェクトのアドレスを直接操作する必要がある場合のみです。

プログラムコード

#include "stdafx.h"

#含む

#include "conio.h"

#include "time.h" namespace std;

//クラスVectorVector

(:* V; sz; //行数:

//デフォルトのconstructor();

//コンストラクタ(int sz);

//コンストラクターをコピーします(const Vector&A);

//ベクトルを乱数で埋めるSetVector();

//加算operatoroperator+(Vector&);をオーバーロードします

//演算子のオーバーロード演算子を減算します-(Vector&);

// numberoperator *(const int&);による乗算の演算子のオーバーロード

//演算子オーバーロードベクトル-ベクトルmultipliationoperator*(Vector&);

//出力演算子をストリームostream&operatorにオーバーロードします<<(ostream& os, const Vector& A);

//デストラクタ

//デフォルトのコンストラクター::Vector()

//コンストラクタ::Vector(int _sz)

(= _sz; = new double;(int i = 0; i< sz; i++)[i] = 0;

//コンストラクタをコピーします::Vector(const Vector&A)

(= A.sz; = new double;(int i = 0; i< sz; i++)[i] = A.V[i];

//ベクトルをランダムな数値で埋めるVector::SetVector()

((int i = 0; i< sz; i++)

([i] =(double)((rand()%200)-100.0);

//代入演算子overload&Vector :: operator =(Vector&A)

)= new double; = A.sz;(int i = 0; i< sz; i++)[i] = A.V[i];*this;

//ベクトルadditionVector::operator +(Vector&A)

(temp(sz);(sz!= A.sz)

{<<"Сложение векторов невозможно.\n"

((int i = 0; i< sz; i++).V[i] = V[i] + A.V[i];temp;

// vectorVector :: operatorの減算-(Vector&A)

(temp(sz);(sz!= A.sz)

{<<"Сложение векторов невозможно.\n"

「ベクトルサイズが一致しません!\n」

"プログラムは終了しました。\n";(0);

((int i = 0; i< sz; i++).V[i] = V[i] - A.V[i];temp;

//ベクトルにnumberVector::operator *(const int&k)を掛けます

(temp(sz);(int i = 0; i< sz; i++).V[i] = V[i]*k;temp;

//ベクトルにvectorVector::operator *(Vector&A)を掛けます

(temp(1);(int i = 0; i< sz; i++).V += V[i] * A.V[i];temp;

//デストラクタ::〜Vector()

//出力操作と演算子<<(ostream& os, const Vector& A)

{<< "\n";(int i = 0; i < A.sz; i++)

{<< A.V[i] << "\t";

)_tmain(int argc、_TCHAR * argv)

((LC_CTYPE、 "Russian_Russia.1251");((unsigned)time(NULL)); k、l、m、x; numb;<< "Введите размеры векторов: " << endl;<< "\tПервый вектор: ";>> k;<< endl << "\tВторой вектор: ";>> l;<< endl << "\tВведите число: " ;>> x;(k == l)= k;

{<< "Размеры векторов не совпадают. Операции невозможны";

)v(k)、s(l)、res(m);。SetVector();。SetVector();<< endl << v << endl;<< s << endl;<< "\nВыберете операцию:";<< "\nСложение двух векторов №1";<< "\nРазность двух векторов №2";<< "\nУмножение двух векторов №3";<< "\nУмножение вектора на число №4";<< "\nВыход - введите 0\n";>>しびれ;<< endl;(numb == 0)0;

ハーベイ・デイテル、ポール・デイテル。 Cでのプログラミング方法。-Binom-Press、2008年。-1024ページ。

トピックの続き:
Linux

ロシアのOdnoklassnikiソーシャルネットワークは、現時点では視聴者カバレッジの点で絶対的なリーダーではありませんが、それでも多数の...