ナチュログ管理画面 海釣り・ソルトウォーター 海釣り・ソルトウォーター その他 アウトドア&フィッシングナチュラムアウトドア用品お買い得情報
ブログ作成はコチラ
あなたもナチュログでアウトドア生活を綴ってみませんか?
QRコード
QRCODE
Information
アウトドア用品の
ご購入なら!

アクセスカウンタ
読者登録
メールアドレスを入力して登録する事で、このブログの新着エントリーをメールでお届けいたします。解除は→こちら
現在の読者数 0人
プロフィール
トシちゃん先生の海釣り
トシちゃん先生の海釣り
先生,etc.です。
海釣りは趣味、本職は教育研究です。趣味は本職に影響のないことが鉄則。
たまたま中学時代のラジオ工作が機縁でおもちゃ病院のドクターをすることに。子供たちのためのボランティア活動です。
おもちゃ病院では「アマチュア無線の2級くらい持ってないの?」と修理技術に関する品定めを受けました。私はアマチュア無線を始め無線工学、電磁気学とは数学を除いて無縁です。
そこでやむなくアマチュア無線の国家試験をパスして技術レベルを示すことに。2017年10月下旬から翌年4月上旬にかけ3級から1級まで1回ずつの試験でパスしました。
無線工学のことは数学を使えば速く、正しく理解できます。例えばラジコン等のデジタル無線通信で利用されるパルス幅変調、パルス位置変調、パルス符号変調は複素数で表現されますし、OFDM(直交周波数分割多重)では離散フーリエ変換の方法が利用されますので、結局のところ理解は数学なのです。

2024年03月19日

3月19日 パソコンでプログラミング

MIFES
3月19日 パソコンでプログラミング

これまで数値計算のために各種プログラム言語でプログラムを書いてきました。

数値計算は、私の場合は、主として微積分方程式体系や動学方程式体系の数
値解を計算したり、方程式体系の不動点(fixed point)を数値で求めることことを
指します。
1.そのために、まず解きたい問題を方程式体系等でモデル化します。
2.次に、モデルの解を求める手続きを計算プログラムで書きます。先述の「各種
 プログラム言語でプログラムを書いてきました」というのが1と2に当たります。

プログラム自体はアルファベットや数字、記号からなる単なる文字列です。
文字列からなる命令を読み取り、指示通りに計算処理をするのが、数値計算に
関してはGAUSS、MATLAB、MATHEMATICAなどがあります。
これらはフル装備となると非常に高価なので大学や研究機関での使用が基本で
です。
C(++)は各種OSやプログラムを作るための汎用プログラムといえいえます。プロ
グラムを実行するには、コンパイラにかけて実行ファイルを作っておく必要があり
ますので面倒です。

プログラムを書くソフトウェア
プログラムを書くソフトウェアとして私は長年MIFESを使ってきました。
MIFESは、WORDと違って、いわゆるTEXTファイル作成にほとんど特化したソフ
トウェアです。
特長
1. とにかくスクロールスピードが速い。
複数行の文字列、データを丸ごと超スピーディにコピー&ペーストできます。
例えば、プログラムの一部分(40桁300行とか500行丸ごととか)をコピーし、
それを別のWindowに表示させている別のプログラムのある個所に素早く
ペーストすることができます。
C言語では、一つの処理が関数型のまとまりからなっています。
その処理が300行で書かれているなら、それを別のプログラムで使うときは、
その300行を丸ごとコピー&ペーストすれば良いので作業効率が上がります。
2. MIFESからCなどのコンパイラーを走らせる事ができます。
3. 16進数で文字を処理できますし、機械語でプログラムを書くこともできます。
4. コピー&ペーストの速度は鉛筆で紙にメモするのを遙かに凌ぎます。
ばらばらのデータでもMIFESにテキストデータとして記録しておけば、後から
それらをまとめ推敲すれば、文献目録や、講義原稿等ができてしまいます。
WORDやPOWERPOINTにコピー&ペーストすることも容易です。

数値計算するためのソフトウェア
まずはGAUSSです。
3月19日 パソコンでプログラミング

数値計算用のソフトウェアです。
最近はR,Pythonといった無料(Free)ソフトウェアがが使えますが、私はそれらの前
からGAUSSを使ってきました。
現在、家では、GAUSS Light Ver12 (Free Version)を使っています。
3月19日 パソコンでプログラミング

上の画面では、階乗(!)を利用して自然対数の底(e)の計算をしています。
kの階乗とは 1*2*3*・・・・・*k です。
eはe=Σ1/k!  (k=0,1,2,3,・・・・・・∞)で与えられます。
画面では、kは1から14までとしています。
0!=1です。
format 文で桁数等を指定します。画面では、計算結果が
e=2.718281828459
と表示されています。

さらに最近ではFree SoftwearのJuliaがあります。
3月19日 パソコンでプログラミング

上の画面はJulia で3X3の対称行列A
6 8 4
7 5 7
4 8 6
の逆行列を計算させる手順を示したものです。
 A=[6 8 4; 7 5 7; 4 8 6]
とすれば3X3の対称行列を作成できます、
 print(inv(A))
とすれば、行列Aの逆行列(inverse matrix of A)が画面にプリント(print)
されます。
Juliaはマサチューセッツ工科大学(MIT)の研究者を中心にして開発されたソフト
ウェアです。Freeで使えます。Microsoft Visual Studio Codeの下で走らせること
できます。
MIFESでプログラムし、VSCodeで読み取り、デバッグして走らせることができま
す。
GAUSSは行列の操作に少し弱みがあります。
最近のハイスペックでかつFreeのものといえばJuliaかもしれません。
自分の使用目的に合った、自分にとって使い勝手のあるものを選ぶとよいでしょう。

プログラム言語の間の指示の違いに注意が必要です。
GAUSS の場合
  for k(1, 14, 1);  という文が写真に写っています。その意味は以下の通りです。
  k(1, 14, 1) --------->、kが1から14まで、1ずつ増加する
  for-------> 各々のkの値に対してと言う意味。for文の最後にセミコロンを付ける。

Cの場合
  for (k = 1 ; k <= 14 ; k++){...........} 
  上と同じ指示。kは括弧の中に入る。セミコロンで区切る。

上のように、プログラミングでは、コンマ、セミコロン、半角スペースのあるなし一つで、
文法違反になりますので要注意です。




同じカテゴリー(2024年)の記事画像
5月2日 おもちゃの修理
4月13日 おもちゃの修理
3月23日 おもちゃの修理
2月25日  おもちゃの修理
2月18日  おもちゃの修理
2月11日   アマチュア無線機 FTDX101MP firmware update
同じカテゴリー(2024年)の記事
 5月2日 おもちゃの修理 (2024-05-03 13:01)
 4月13日 おもちゃの修理 (2024-04-16 17:04)
 3月23日 おもちゃの修理 (2024-03-26 16:48)
 3月12日 C言語 (2024-03-17 20:16)
 2月25日 おもちゃの修理 (2024-03-03 11:02)
 2月18日 おもちゃの修理 (2024-03-02 19:52)

Posted by トシちゃん先生の海釣り at 15:07│Comments(0)2024年パソコン
 
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。

削除
3月19日 パソコンでプログラミング
    コメント(0)