Ch Professional よくあるご質問
Ch Professional に関する質問とご回答
- 動作環境に関する質問
- 関連質問 - 特にCPUとメモリに関して
- ライセンスに関する質問
- インストールに関する質問
- プラットフォーム構成に関する質問
- Ch Professionalフローティングライセンスの場合において、ライセンスサーバには64ビット版 Windows を使いクライアントだけ32ビット版 Windows を使いたいが可能か?
- Ch Professional フローティングライセンスの場合において、ライセンスサーバには64ビット版 Windows を使いクライアントは半数に32ビット版 Windows を、残る半数に64ビット版Windows を使いたいが可能か?
- ノードロックライセンス10台分を購入したが、インストール先の PC の内半数に32ビット版 Windows を、残る半数に64ビット版Windows を使いたい。可能か?
- コーディングに関する質問
- 単項増減演算子の振る舞いについて
- int型データのバイト長について
- 科学技術計算向け機能に関する質問
- Ch Professionalには科学技術計算向けにどのような機能があるのか?
- Ch Professionalでは複素数をどのように扱えるのか?
- Ch Professionalにはどのような初等数学関数がビルトインされているのか
- Ch Professionalは統計データに対してどのような操作ができるのか?
- Ch Professionalではどのような方法でデータ保管およびカーブフィッティングができるのか?
- Ch ProfessionalCh Professionalは多項式に対してどのような操作ができるのか?
- Ch Professionalはどのような方法で非線型方程式の解を見出すのか?
- Ch Professionalでは行列に対してどのような操作を行なうことができるのか?
- Ch Professionalではどのような定積分及び微分方程式の数値解法ができるのか?
- Ch Professionalではどのようなグラフをプロットできるのか?
- Ch Professionalではどのようなアニメーションを表示できるのか?
- Ch Professionalではどのようなフィルタリング操作を行なうことができるのか?
- 行列計算についての回答によれば連立一次方程式の解とか正方行列の固有ベクトルまたは逆行列を導き出すこともできるようだが具体的にどのように指定しどのように返されるのか?
- ChIDEに関する質問
- 特に断らない限り、「Ch Professional」という用語は
- Ch Professional 6.3 Windows 32ビット版
- Ch Professional 6.3 Windows 64ビット版
- このFAQの記述には他社のWebサイトのページを紹介しているところがありますが、その内容の正確性/妥当性について弊社が保証するものではありません。またURLについてはFAQの記事作成時のものを参照の便のため記載しており、その後当該Webページ作成元にて変更があった場合でも弊社はそれをトラッキングしてはおりません。ご了承賜りますようお願いいたします。
- このFAQで使用している製品名、テクノロジー名などはそれを開発した他社の商標または登録商標である場合があります。但しこのFAQでは、当該他社のドキュメント名など固有名詞の一部である場合その他当該他社が指定した語句の引用である場合を除き、その旨の表記(登録商標を表す「®」あるいは商標を表す「™」など)を一切省略させていただきます。
動作環境に関する質問
| Q 1. | ■ Ch Professional のオペレーティングシステム要件 Ch Professional が稼働するオペレーティングシステム要件は何か? |
| A 1. | Ch Professional 32ビット版と64ビット版とでオペレーティングシステム要件は異なります。
|
| Q 2. | ■ Ch Professional の CPU 要件 Ch Professional が動作するためにどの CPU を搭載したコンピュータを用意すればよいか? |
| A 2. | インストール先の Windows が要求する CPU 要件と同一です。即ち、
|
| Q 3. | ■ Ch Professionalのメモリ要求 Ch Professionalが動作するためにメモリをいくら用意すればよいか? |
| A 3. | Ch Professional それ自体が特に大きな物理メモリを要求することはありません。インストール先の Windows が要求する物理メモリが搭載されていれば、少なくとも Ch Professional の動作のためには、充分です。但し余りに物理メモリが少ないとページ・スワップにほとんどの時間を取られる(スラッシングといいます)などパフォーマンス上の問題が生じることがありますので、最低でも Windows それ自体が要求する容量の物理メモリを搭載しておくことをお勧めします。尚本FAQの「Ch Professionalに利用可能なメモリ」及び「物理メモリの大きさ」もご参照願います。 |
| Q 4. | ■ Ch Professional 32ビット版と64ビット版との機能上の差異 Ch Professional 32ビット版と64ビット版とで機能上の差異はあるのか? |
| A 4. | Ch Professional 32ビット版と64ビット版とは、正に「32ビット」及び「64ビット」に由来する以下の点を除けば機能的に全く同一であり差異はありません。
|
関連質問 - 特にCPUとメモリに関して
直接Ch Professionalに(少なくともCh Professionalだけに)関わる事柄ではありませんが、動作環境に関わる事柄として特に知っておいていただきたいことをQ&A形式で纏めてみました。
| Q 1. | ■ CPUアーキテクチャの名称について 本FAQにも"x86"、"x64"或いは"IA-64"などといった用語が使われているがこれは何か? |
| A 1. |
これらの名称はCPUのアーキテクチャ、具体的な例でいえば命令セットなどにつけられた名称です。
|
| Q 2. | ■ Ch Professionalに利用可能なメモリ Ch Professional はどの程度の大きさのメモリを使うことができるのか?又それはPCにハードウェアとして実装されたメモリに依存するのか? |
| A 2. | Ch Professionalに限りませんが、Windows上で稼働するアプリケーションはアプリケーション(正確にいえば「プロセス」)にWindowsが提供する仮想メモリの上で動作します(つまりアプリケーションが利用可能なメモリはWindowsが提供する仮想メモリということになります)。プロセス一つに提供される仮想メモリの大きさは32ビット版Windowsと64ビット版Windowsとで異なり、
仮想メモリの大きさは、PCにハードウェアとして搭載されたメモリ(物理メモリまたは物理メモリと呼ばれます)の大きさには依存しません。物理メモリが256MBのコンピュータであろうと1GBのコンピュータであろうと、x86系のCPUを搭載しその上で稼働しているWindows 2000(32ビット版Windowsの例として取り上げます。以下同じ)はプロセス当たり4GBの仮想メモリを提供します。またWindowsは複数個のプロセスを同時に実行させることができます(たとえばワード・プロセッサで文書作成中にメーラが電子メールを受信する等はごく当たり前のことですが、この場合にはワード・プロセッサとメーラとがそれぞれ独立したプロセスとして同時並行的に実行されていることになります)が、32ビット版Windowsは同時並行的に実行されているプロセス一つ一つに対してそれぞれ4GBの仮想メモリを提供します(多重仮想記憶と呼ばれます)。 |
| Q 3. | ■ 物理メモリの大きさ 前の質問とも関連するが、アプリケーションが利用可能な仮想メモリの大きさが物理メモリの大きさに依存しないのなら物理メモリ容量はいくらでも(小さくても)よいのか? |
| A 3. | 原理的にはそうなります(但しあまりに物理メモリが少ないとWindowsそれ自体が起動しないことがあります)が、実際には可能な限り大容量の物理メモリを搭載することをお勧めします。それはパフォーマンス上の理由が存在するからです。 プロセッサが直接読み書きできるのは物理メモリ上のデータやプログラム・コードだけです。このためプログラム・コードやそれが確保したデータ(以下両者を総称して「データ」といいます)は物理メモリ上に配置されアプリケーションは仮想メモリを通して物理メモリを見ていることになります(仮想メモリと物理メモリとの「マッピング」といいます)。ところが物理メモリの大きさは仮想メモリの大きさよりも小さいのが普通ですから、仮想メモリ上に配置されたデータが実際に物理メモリ上には存在しない(マップされていない)といった場合があり得ます。物理メモリ上にマップされていないデータはディスク上(Windowsではpagefile.sysなるファイル)に保管され、必要に応じて物理メモリ上にロードされますがそのためには現に物理メモリ上にあるデータのどれかをディスク上に退避しなければなりません(いつかは使用されるからです)。このディスクと物理メモリとの間のデータの退避とロードとは取り扱いの簡単のため一定サイズの大きさを単位として行なわれ、このサイズの仮想メモリ上の領域を「ページ」、物理メモリ上の領域を「ページ・フレーム」と呼んでいます。ページ・フレーム上のデータをディスクに退避することを「ページ・アウト」、ディスクからページ・フレームにページの内容をロードすることを「ページ・イン」といい、ページ・アウトとページ・インとをまとめて「ページ・スワップ」と呼んでいます(ページ・アウトすべきページの選択アルゴリズムはページ・スワップのパフォーマンスに大きな影響を与えるため古くから研究が積み重ねられてきていますが詳細については省略します)。32ビット版Windowsが僅か256MBの大きさの物理メモリしか持たないPC上で4GBもの大きさの仮想メモリを提供できるのは必要に応じてページ・スワップを行なっている(「オン・デマンド・ページング」又は単に「ページング」といいます)からなのです。 しかしながら、ディスクへのアクセスは、物理メモリへのアクセスに比べ桁違いに長い時間を要します。このため物理メモリがあまりに小さいと処理時間の大部分がページ・スワップに費やされアプリケーションにとって意味のある動作が全くできないといった事態(「スラッシング」といいます)が生じます。それを避けるため、物理メモリはハードウェア(マザー・ボード上のチップセットなど)が許す限り大容量とすることをお勧めします。最低でも、オペレーティングシステムの要件として記載されている容量程度の物理メモリ搭載しておくことは必要でしょう。。 |
ライセンスに関する質問
| Q 1. | ■ Ch Professionalのライセンスの種類 Ch Professionalのライセンスにはどのような種類があるのか? |
| A 1. | Ch Professional のライセンスには次の三種類があり、それぞれ異なる特徴を持ち有効化の方法も異なっています。
|
| Q 2. | ■ 評価ライセンスの特徴 評価ライセンスの特徴について教えてほしい。 |
| A 2. | 評価ライセンスは、ご購入いただく前の機能評価等のために用意されたライセンスであり、次の特徴があります。
|
| Q 3. | ■ ノードロックライセンスの特徴 ノードロックライセンスの特徴について教えてほしい。 |
| A 3. | ノードロックライセンスは、お客様が特定の PC でのみ Ch Professional を永続的に使用するためのライセンスです。ノードロックライセンスには次の特徴があります。
注: |
| Q 4. | ■ フローティングライセンスの特徴 フローティングライセンスの特徴について教えてほしい。 |
| A 4. | フローティングライセンスは、ネットワークで接続された複数台の PC で Ch Professional を使用するためのライセンスです。フローティングライセンスには次の特徴があります。
![]() たとえば上のネットワークを考えてみましょう。このネットワークはセグメント 192.168.105/24 と定義され、「ライセンスサーバ」と記した PC も含め現在20台の PC が接続されています。「ライセンスサーバ」と記した PC が Ch Professional のフローティングライセンスサーバとして機能し、この PC 上に Ch Professional を起動できる PC の台数が設定されています。この台数が
注意!
注: |
| Q 5. | ■ 評価ライセンスの有効化 評価ライセンスを有効化するにはどのような手続きを取ればよいか? |
| A 5. | 評価ライセンスを有効化するのに特に手続きを行う必要はありません。評価ライセンスはCh Professionalをインストールすれば直ちに有効になり30日間の評価期間が与えられます。 |
| Q 6. | ■ ノードロックライセンスの有効化 ノードロックライセンスを有効化するにはどのような手続きを取ればよいか? |
| A 6. | ノードロックライセンスはお客様からの申請により弊社及び開発元での処理を経てお客様に提供されます。その具体的な手順については製品付属の補足説明書または製品CD-ROMに格納されている「初めにお読みください.chm」又は「初めにお読みください.txt」をご参照願います。 |
| Q 7. | ■ フローティングライセンスの有効化 フローティングライセンスを有効化するにはどのような手続きを取ればよいか? |
| A 7. | フローティングライセンスはお客様からの申請により弊社及び開発元での処理を経てお客様に提供されます。その具体的な手順については製品付属の補足説明書または製品CD-ROMに格納されている「初めにお読みください.chm」又は「初めにお読みください.txt」をご参照願います。 |
| Q 8. | ■ 旧バージョンからのバージョンアップ 旧バージョンからのバージョンアップは可能か? |
| A 8. | 前バージョンのスクールパックライセンスをお持ちのお客様は、バージョンアップ価格にてCh Professional 6.3のアカデミックライセンスをご購入いただけます。パッケージ版をお持ちのお客様は、新規でCh Professional 6.3をご購入ください。 |
インストールに関する質問
| Q 1. | ■ インストールメディアの内容について Ch Professional のインストールメディアを受け取ったが32ビット版と64ビット版とでインストールメディアの内容は違うのか? |
||
| A 1. | 結論から先にいえば32ビット版と64ビット版とでインストールメディアの内容に違いはありません。Ch Professhional のインストールメディアには、次のファイルが含まれています。
|
||
| Q 2. | ■ オートランについて Ch Professional のメディアをCDドライブにセットしたが何も起こらない。メディアの不良では? |
||
| A 2. | メディアの不良ではなくこれは仕様です。現在のCh Professional のインストールメディアにはCh Perofessional V6.3 32ビット版/64ビット版双方のインストーラが格納されておりますが、32/64ビットのプラットフォームに対応したインストーラを自動的に起動する機能は Windows にはありません。32ビット/64ビットそれぞれに対応したインストーラを手動で起動していただく必要があります。エクスプローラ上でCD-ROMアイコンをダブルクリックするなどしてインストーラ・ファイルを特定しそれをダブルクリックしてください。インストーラが起動されますのでその後は補足説明書又は「はじめにお読みください.chm」等をご参照いただきながら画面の指示に従って操作していけばCh Professionalインストールすることができます。尚インストーラが起動してからインストールが完了するまでの所要時間は10分程度(マシンにより多少差が出ることがあります)であり、完了後マシンをリブートする必要もありません。但しインストール中はフルスクリーンモードで表示され通常ならば画面下部に表示されるタスクバーも表示されませんのでご注意願います。 | ||
プラットフォーム構成に関する質問
| Q 1. | ■ ミックス・プラットフォームについて(その1) フローティングライセンスの場合において、ライセンスサーバには64ビット版 Windows を使いクライアントだけ32ビット版 Windows を使いたいが可能か? |
| A 1. | 可能です。ライセンス申請時にライセンスサーバ及びクライアントのプラットフォームをお知らせください。勿論その逆も可能です。 |
| Q 2. | ■ ミックス・プラットフォームについて(その2) フローティングライセンスの場合において、ライセンスサーバには64ビット版 Windows を使いクライアントは半数に32ビット版 Windows を、残る半数に64ビット版Windows を使いたいが可能か? |
| A 2. | 可能です。ライセンス申請時にライセンスサーバ及びクライアントのプラットフォーム毎の台数(ライセンスサーバが Win64、クライアントはWin32が何台、Win64が何台のように)をお知らせください。 |
| Q 3. | ■ ミックス・プラットフォームについて(その3) ノードロックライセンス10台分を購入したが、インストール先の PC の内半数に32ビット版 Windows を、残る半数に64ビット版Windows を使いたい。可能か? |
| A 3. | 可能です。ライセンス申請時にインストール先の PC それぞれについて MAC アドレスとプラットフォームをお知らせください。 |
コーディングに関する質問
| Q 1. | ■ 単項増減演算子の振る舞いについて
int i = 0;
int a[] = {0, 10, 20, 30, 40};
printf("%d\n", i);
printf("%d - %d\n", i++, a[i++]);
の2行目がVisual C++6では0 - 0、とChでは1 - 0 と異なって表示されるがChのバグではないのか? |
| A 1. | バグではありません。Ch Professionalはgnu gccの考え方に従って後置インクリメント演算子を処理します。この2行目のprintf文には三つのパラメータ、書式指定文字列、i++及びa[i++]が与えられておりますが、Visual C++6はこれを
Cを拡張した規格にはC90/C99の二種類がありますが、いずれもポスト・インクリメント演算子については「値を取り出してからインクリメントする」ことが定められているだけで、複数個のパラメータの中の相互関係までは規定されておりません。したがってVisual C++の動作もChの動作も規格に鑑みていずれが誤りとも正とも断定できません。尚Visual C++2005/2008ではChと同じ動作をすることも合わせて記載しておきます。混乱を避けるならば値の取り出しとそれに対する単項増減演算を別々の文で行なう、たとえば上のVisual C++6流の結果をほしいのであれば
int i = 0;
int a[] = {0, 10, 20, 30, 40};
printf("%d\n", i);
printf("%d - %d\n", i, a[i]);
i++;
のようにコーディングすることをお勧めします。 |
| Q 2. | ■ int型データのバイト長について int型データはCh Professionalでは何バイトを占めるのか? |
| A 2. | int型データは、「そのコンピュータにとって最も効率よく処理できるビット幅」と定義されており、具体的なバイト幅またはビット幅は実装依存(ハードウェアとしての「コンピュータ」だけでなく、オペレーティングシステムやコンパイラ/インタプリタなど言語処理系も含めた意味で「コンピュータ」と呼んでいます)とされています。int型データ一つは、Ch Professional 32ビット版を32ビット版Windowsにインストールした場合には32ビット=4バイトを占め、Ch Professional 64ビット版を64ビットWindowsにインストールした場合には64ビット=8バイトを占めることになります。またポインタの占めるバイト数はint型データのバイト数と等しくなります。たとえばCh Professional 32ビット版の場合(プラットフォームは32ビット版 Windows とします)において
int i; // int型変数 char c; // char型変数 float f; // float型変数 int* pi = &i; // 変数iへのポインタ char* pc = &c; // 変数cへのポインタ float* pf = &f // 変数fへのポインタにおいて、i, c 及び fはそれぞれ4バイト、1バイト及び4バイトを占めますがpi, pc 及び pfは全て4バイトを占めます(sizeof()で簡単に確認できます)。 尚同じデータ型を続けて宣言した場合、たとえば int a, b;のような場合、二つの変数がメモリ上で必ずしも隣り合うとは限りません(即ち&b = &a + 4になる保証も&a = &b + 4になる保証もありません)。それを保証したいならば配列を使って int a[2];のようにするか又は構造体の中で
struct myStruct{
int a;
int b;
}
のように定義する必要がありますが、構造体の場合それを構成する各要素のデータ型が異なるとそれも満たされるとは限りません(各データのアラインメントの問題が発生するからです)。但し個々の変数のアドレス自体が関心事になることはあっても変数間でアドレスが「連続」していなければならないことが問題となることはほとんどありません(構造体内の個々の要素を特定できれば多くの場合には充分です)のでそれほど気にする必要はありません。当社で実験した結果の一例を参考のため以下に例示しておきます。コード例
struct str_pureint{
int a;
int b;
}; // int型の要素だけからなる構造体
struct str_typemixed{
int a;
char c;
int b;
}; // 異なるデータ型の要素からなる構造体
int main()
{
int i; // int型変数
char c; // char型変数
float f; // float型変数
int* pi = &i; // int型変数へのポインタ
char* pc = &c; // char型変へのポインタ
float* pf = &f; // float型変数へのポインタ
int a,b; // int型変数2個
int aa[2]; // int型配列
str_pureint X; // int型だけを構成要素とする構造体変数
str_typemixed Y; // 異なるデータ型の構成要素を持つ構造体変数
printf("Size of : int = %d, char = %d, float = %d\n",
sizeof(i), sizeof(c), sizeof(f));
printf("Size of pointer to variable: int = %d, char = %d, float = %d\n",
sizeof(pi), sizeof(pc), sizeof(pf));
printf("Address of : a = %X, b = %X\n", &a, &b);
printf("Address of : aa[0] = %X, aa[1] = %X\n", &aa[0], &aa[1]);
printf("Address of : str_pureint.a = %X, str_pureint.b = %X\n",
&X.a, &X.b);
printf("Address of : str_typemixed.a = %X\n", &Y.a);
printf("Address of : str_typemixed.c = %X\n", &Y.c);
printf("Address of : str_typemixed.b = %X\n", &Y.b);
return 0;
}
実験結果
Size of : int = 4, char = 1, float = 4 Size of pointer to variable: int = 4, char = 4, float = 4 Address of : a = 3B9EE70, b = 3B9EEA0 Address of : aa[0] = 3B9EF60, aa[1] = 3B9EF64 Address of : str_pureint.a = 3B9EFD8, str_pureint.b = 3B9EFDC Address of : str_typemixed.a = 3B9C520 Address of : str_typemixed.c = 3B9C524 Address of : str_typemixed.b = 3B9C528この例から明らかな通り、int 型の要素だけから構成される構造体では各要素は4バイト毎に連続して並んでいますが、int 型データと char型データとを含む構造体の場合char型データの後のint型データはchar型データのすぐ後ではなくその4バイト後に配置されています(つまり3バイトのギャップ又は未使用エリアがあることになります)。 |
科学技術計算向け機能に関する質問
| Q 1. | ■ 科学技術計算向けの機能 Ch Professionalには科学技術計算向けにどのような機能があるのか? |
|
| A 1. |
Ch Professionalは科学技術計算のため次のような多くの機能を持っています。
|
|
| Q 2. | ■ 複素数の扱い Ch Professionalでは複素数をどのように扱えるのか? |
|
| A 2. | Ch Professionalでは複素数はISO C99規格に則り実数と同様基本的なデータ型として扱われ、複素数z = x + iy(但しiは虚数単位)は複素コンストラクタcomplex(x, y)によって複素型データzとして定義することができる他、実部と虚部が共にdouble型実数であるdouble complex(x, y)として定義することもできます。このようにして定義された複素型データに対しては複素数の数学的定義に従って複素共役、加減算、乗除算、絶対値と偏角等を算出することができる他、実数に対する関数を拡張した指数関数、対数関数、冪、三角関数及び逆三角関数、双曲線関数及び逆双曲線関数等が定義されています。勿論実部又は虚部を個別に取り出すことも可能です。又複素無限大及び複素非数も定義されています。詳細についてはユーザーズガイド(製品付属または当社Webサイトからダウンロードできます)をご参照願います。 | |
| Q 3. | ビルトイン初等関数 Ch Professionalにはどのような初等数学関数がビルトインされているのか? |
|
| A 3. | Ch Professionalはそれがサポートしているデータ型に対して絶対値、平方根、指数関数、対数関数、三角関数、逆三角関数、双曲線関数、逆双曲線関数などの初等関数を提供しています。これらの全ての関数はポリモーフィックに定義されており、同じ関数名を指定して単精度浮動小数点数をパラメータに与えれば単精度浮動小数点の結果(又は非数)が、倍精度浮動小数点数をパラメータに与えれば倍精度浮動小数点の結果(又は非数)が、複素数をパラメータに与えれば同じ精度の複素数(又は非数)が、返されます。与えられた浮動小数点値よりも小さくない最小の整数値または与えられた浮動小数点値よりも大きくない最大の整数値を返す関数もあります。詳細についてはユーザーズガイド(製品付属または当社Webサイトからダウンロードできます)をご参照願います。 | |
| Q 4. | ■ データ解析と統計 Ch Professionalは統計データに対してどのような操作ができるのか? |
|
| A 4. | 配列に入力されたデータを対象として、配列内のデータの最大値、最小値、合計、平均値、中央値(メディアン)、標準偏差、共分散、相関係数などを算出することができます。詳細についてはユーザーズガイド(製品付属または当社Webサイトからダウンロードできます)をご参照願います。 | |
| Q 5. | ■ データ補間とカーブ・フィッティング Ch Professionalではどのような方法でデータ保管およびカーブフィッティングができるのか? |
|
| A 5. |
1次又は3次のスプライン曲線を使って既知のデータから未知のデータを補間推定します。たとえば一次元の場合、y=sin(x)の値の組がいくつかの点で与えられていたとして、与えられた以外のxに対するyの値を(関数を計算することなく補間によって)推定します。一次元y=f(x)の場合と二次元z=f(x, y)の場合について補間推定ができます。 カーブフィット関数は既知の関数または多項式の係数付き和が与えられたデータ点を最もよく近似するように係数を算出します。以上の詳細についてはユーザーズガイド(製品付属または当社Webサイトからダウンロードできます)をご参照願います。 |
|
| Q 6. | ■ 多項式 Ch Professionalは多項式に対してどのような操作ができるのか? |
|
| A 6. | 与えられた独立変数の値に対する多項式の値、又は多項式の導関数の係数を算出することができます。又代数方程式(多項式=0の形の方程式)の根を見出すこと、逆に与えられた値を根とする代数方程式の各項の係数を算出することもできます。また複素解析で多く用いられる,多項式の比としてあらわされる数式の極(分母=0とする値)等を算出することもできます。詳細についてはユーザーズガイド(製品付属または当社Webサイトからダウンロードできます)をご参照願います。 | |
| Q 7. | ■ 非線型方程式の解 Ch Professionalはどのような方法で非線型方程式の解を見出すのか? |
|
| A 7. | 非線型方程式の左辺と解がその間に存在するであろうと予想される範囲を与えて解を求めます。詳細についてはユーザーズガイド(製品付属または当社Webサイトからダウンロードできます)をご参照願います。 | |
| Q 8. | 行列計算 Ch Professionalでは行列に対してどのような操作を行なうことができるのか? |
|
| A 8. |
Ch Professionalは行列を二次元配列として扱い、行列を利用した次の計算を行なうことができます。
|
|
| Q 9. | Ch Professionalではどのような定積分及び微分方程式の数値解法ができるのか? |
|
| A 9. | Ch Professionalは、直交座標系上の一次元、二次元及び三次元定積分を算出することができます。また常微分方程式の数値解を求めることもできます。詳細についてはユーザーズガイド(製品付属または当社Webサイトからダウンロードできます)をご参照願います。 | |
| Q 10. | Ch Professionalではどのようなグラフをプロットできるのか? |
|
| A 10 | Ch Professionalは二次元または三次元の直交座標または極座標でのグラフを描くことができ、そのためPlotクラスが提供されています。プロットすべき値は先に配列の形で算出しておいて一度にPlotクラスに与えることもPlotクラスに関数とプロット範囲の上下端値を与えてPlotクラスの中で算出させることもできます。プロットされたグラフは既定でディスプレイ上に描画されるほか、PNG或いはJPEG等の形式でファイルに保存することもできます。詳細についてはユーザーズガイド(製品付属または当社Webサイトからダウンロードできます)をご参照願います。 | |
| Q 11. | Ch Professionalではどのようなアニメーションを表示できるのか? |
|
| A 11. | たとえば力学系の運動方程式が解けてさえいれば、Ch Professionalは質点の動きなど当該力学系の振る舞いをアニメーション表示することができます。詳細についてはユーザーズガイド(製品付属または当社Webサイトからダウンロードできます)をご参照願います。 | |
| Q 12. | Ch Professionalではどのようなフィルタリング操作を行なうことができるできるのか? |
|
| A 12. | Ch ProfessionalはFFT及び逆FFTの他、周波数領域で表されたデータに対して乗算を行ないそれを逆FFTすることで時間領域または空間領域で言うたたみこみを行なうことができます。FFT/逆FFTのペアとフィルタ関数を使えば、インパルス応答が知られている線形系に任意の入力を与えた時の出力応答を周波数領域ではもちろん時間領域または空間領域ででも導出することができます。FFT/逆FFTのペアを使えば相互相関係数を求めることもできます。詳細についてはユーザーズガイド(製品付属または当社Webサイトからダウンロードできます)をご参照願います。 | |
| Q 13. | ■ 計算配列について 行列計算についての回答によれば連立一次方程式の解とか正方行列の固有ベクトルまたは逆行列を導き出すこともできるようだが具体的にどのように指定しどのように返されるのか? |
|
| A 13. |
Ch Professionalには計算配列という配列があり、これを使えば行列を使った線形代数学の数式をそのまま配列の形で扱うことができます。たとえば正則な正方行列Aの逆行列Bは数学的にはB=A-1と表されますがCh Professionalでは変数名を数学的記法と同じとして
B = inverse(A);とかけば変数Bに正方行列Aの逆行列が返されます.また既知の列ベクトルb及び正則な正方行列Aに対して線形連立一次方程式は未知の列ベクトルをxとして数学的にAx=bと表されその解xはx=A-1bと表されますが、変数名をこの数学的記法と同じとしてCh Professionalでは x = inverse(A) * b;とかけば変数xに解ベクトルが返されます(専用の関数linsolve(x, A, b)を使う方法もありますが、線形代数学での記法との親和性の点ではこの方が有利かとも思われます)。以下にその簡単な例を示します。 サンプルコード:
#include <array.h>
int main(void) {
array double x[3];
array double b[3] = {2, 13, 25};
array double A[3][3] = {{3, 0, 6},
{0, 2, 1},
{1, 0, 1}};
x = inverse(A) * b;
printf("x = %.2f\n", x);
return 0;
}
実行結果:x = 49.33, 18.67, - 24.33計算配列にはここで紹介した特質の他要素単位での演算ができる等の特徴がありますが、いずれも配列名だけを指定するだけで済む(配列を単純なスカラ変数と全く同様に扱うことができる)ことが最大の特徴です。詳細についてはユーザーズガイド(製品付属または当社Webサイトからダウンロードできます)をご参照願います。 |
|
ChIDEに関する質問
| Q 1. | ■ Debug Console Windowを消す方法 作成したC/C++/Chアプリケーションをデバッグ実行終了後Debug Console Windowが消えず最小化ボタン(普通ウィンドウの右上隅に表示される「×」のボタン)も使えない。このウィンドウを消す方法は? |
| A 1. | デバッグ実行(F5キーを押す、等して開始)完了後Debug Console Windowを消すには、ChIDEの「表示」→「Debug Console Window」をクリックするかChIDEにフォーカスを当てた(ChIDEのタイトルバーをクリックするなどして)後F11キーを押し下げてください。 |
| Q 2. | ■ Ch IDE上でのコンパイル/ビルド 作成されたC++のソースコードをChIDE上でコンパイル/ビルドしたい。どのようにすればよいか? |
| A 2. | Ch Professional自身はインタプリタでありChIDEはフロントエンドに過ぎませんのでそれ自体でソースコードをコンパイル/ビルドすることはできません。マイクロソフト社のVisual Studio等のコンパイラを別途インストールしてChIDEからこれを呼び出すことができるように設定する必要があります。コンパイラのインストール後、次の手順に従ってください。
|
| Q 3. | ■ 省略形の使い方と定義 省略形を使いたいが、どのような省略形を使うことができるのか?また独自に定義して使用することはできるのか? |
| A 3. | 省略形は「省略形」を入力して直後にCtrl+Bを押すことによりいつでも使用することができます(たとえば"stdlib.h"と入力して直後にCtrl+Bを押すと現在のカーソル位置に
#include <stdlib.h>(改行)が挿入されます)。現在定義されている省略形は
省略形は 省略形 = 展開後の文字列の形で定義されており(たとえば省略形「stdlib.h」はChiDE.abbrevの中で stdlib.h=#include <stdlib.h>|の形で定義されています)、バーティカルバー(「|」)は展開後に文字を追加するためのプレース・ホルダーです(たとえば省略形「COM」はChIDE.abbrevの中で COM=/* | */の形で定義されており、"COM"、Ctrl+Bと入力した後コメントをバーティカルバーの個所に上書きすることができます。省略形の定義の中では改行記号(「\n」)も受け付けますので、展開後には複数行になる場合でも定義時に一行に収まりさえすれば省略形として定義することができます。たとえばmain関数のひな型は省略形「main」としてChiDE.abbrevの中で
main=int main() {\n | \n return 0;\n}
と定義されており(コマンドライン・パラメータ付きのmain関数のひな型は省略形「mainarg」として別に定義されています)、"main"、Ctrl+Bと入力するとint main() { return 0; } と展開されます。 |













