TypeScriptで複素数クラスを作って複素数の四則演算、exp、べき、logの計算ができるようにした。大昔にJavaScriptで作ったり、数値計算ライブラリmathjsを使ったりしたがもうちょっとお手軽なものが欲しかったので。
だいぶ昔にこれを書いたが、いまだによくアクセスがある。ただ全くJavaScriptの知識がないまま書いたのでいまいち。
一方JavaScript/TypeScriptには数値計算ライブラリ math.jsというのがあってしばらく遊んでいた。最後につけているリンク参照。
これはこれで便利だが、複素数だけ使いたいというときには大げさ。
なので、今度はTypeScriptで複素数クラスを作ってみた。今回もほぼTypeScriptの知識はないのだが…
こんな感じのcomplex.tsを作って、
これをこんな感じで使う。
結構お手軽に計算できた。さてこれで何をやろうとしているかというと(続く)。
<math.jsの事例>
JavaScriptの数値計算ライブラリmathjsを使う(1) まずは行列演算。LU分解で一次方程式を解き、逆行列と行列式を求める。このココログで直接計算できる機能も付けた。
JavaScriptの数値計算ライブラリmathjsを使う(2) 次は複素数演算。四則演算や平方根、べき乗、expなどが簡単にできる。このココログで直接計算できる簡易電卓を作ってみた。
JavaScriptの数値計算ライブラリmathjsを使う(3) Plotlyを併用して関数をグラフ表示する。ココログでもグラフ表示できるようになった。
JavaScriptの数値計算ライブラリmathjsを使う(4) 高速フーリエ変換(FFT)を計算してココログにplotlyでグラフ表示できるようにする。。
JavaScriptの数値計算ライブラリmathjsを使う(5) 複素行列の固有値・固有ベクトルを求める。ココログで計算できるようにした。
JavaScriptの数値計算ライブラリmathjsを使う(6) 特異値分解(SVD)、主成分分析(PCA)を計算してみる。このココログでも計算できるようにした。
JavaScriptの数値計算ライブラリmathjsを使う(7) マンデルブロ集合を描く。このココログでも計算して図示できるようにしてみた。
JavaScriptの数値計算ライブラリmathjsを使う(8) 4段4次のルンゲクッタ法でローレンツ方程式を計算。このココログでもPlotlyで3次元でぐりぐり動かせるようにしてみた。
JavaScriptの数値計算ライブラリmathjsを使う(9) 仏陀のお姿のフラクタル Buddhabrot(ブッダブロ)を描く。このココログでも計算できるようにしてみた。
JavaScriptの数値計算ライブラリmathjsを使う(10) リーマンゼータ関数(Riemann Zeta function)を計算、3次元化してPlotlyでぐりぐり動かす
今回のコードのVisual Studio Codeの画像:
« すぐコンサル的な人は問題と課題は違うというが、あれは誰が言い出したんだろうか。マナー講師みたいなルール。辞書的には同じ風で、たぶん英語ならIssueとTask(Challenge)のような感じで違うものをわざと同じような単語でごまかしている?…戦略と戦術も同じ匂いがする。 | トップページ | Excelの自動化がいつの間にかVBAじゃなくてデスクトップ版でもOfficeスクリプト(TypeScript)で出来るようになっていた。Python in Excelとか触っているうちに出遅れた…そこで先日作った複素数クラスを使ってセルに入力した値を複素数計算できるようにした。 »
「パソコン・インターネット」カテゴリの記事
- 高周波回路シミュレータQucsStudioがuSimmicsに名称変更し、バージョンも4.8.3から5.8にアップデートされた。Qucsと区別するためだそうだ。また、Pythonの高周波用ライブラリscikit-rfもv1.5.0にバージョンアップされていた(2024.12.04)
- MATLAB Onlineで高周波用のRF Toolboxを使ってみる。Touchstoneファイルの読み込み、dB表示グラフ、スミスチャートなど簡単にできるし、フィルタ合成やIEEE P370 De-embedding(ZC-2xThru)も使える(MATLABで書かれたものがオリジナル)。(2024.12.05)
- MATLAB OnlineのSimulinkでローレンツ方程式をode8で計算してみる。Interface 2025年1月号でMATLAB Onlineの半年ライセンスがついてきたので。Simulinkを使うのは初めてだったが、わかりやすいSimulink入門コースを修了したのですぐできた。(2024.12.04)
- Interface2025年1月号はMATLABで1ニューロンから手作り 数学&図解でディープ・ラーニング。初歩からAlexNetの転移学習、CNNまで話題が豊富で、なんとMatlab Onlineの半年ライセンスがついてくる。Simulinkや各種toolboxも使える。早速MATLAB入門オンラインコース修了した。(2024.12.03)
「学問・資格」カテゴリの記事
- 高周波・RFニュース 2024年12月6日 NGMNが無線パフォーマンス評価フレームワーク発行、5GAAがC-V2Xのロードマップ発行、Marvellの3nm 1.6Tbps PAM4インターコネクト、Nokiaの2.4Tbps光伝送、Silicon Labsの低消費電力モジュール、Xiaomi 14T Pro分解動画(2024.12.06)
- 高周波回路シミュレータQucsStudioがuSimmicsに名称変更し、バージョンも4.8.3から5.8にアップデートされた。Qucsと区別するためだそうだ。また、Pythonの高周波用ライブラリscikit-rfもv1.5.0にバージョンアップされていた(2024.12.04)
- 日経サイエンス2025年1月号の特集 和算再発見の佐藤賢一さんの記事「算聖 関孝和の実像」に出てきた矢高に対する円弧の2乗の近似式をカシオの高精度計算サイトkeisan.casio.jpの自作式として作った。ものすごい精度であることがよくわかる。(2024.12.03)
- MATLAB Onlineで高周波用のRF Toolboxを使ってみる。Touchstoneファイルの読み込み、dB表示グラフ、スミスチャートなど簡単にできるし、フィルタ合成やIEEE P370 De-embedding(ZC-2xThru)も使える(MATLABで書かれたものがオリジナル)。(2024.12.05)
「日記・コラム・つぶやき」カテゴリの記事
- 高周波・RFニュース 2024年12月6日 NGMNが無線パフォーマンス評価フレームワーク発行、5GAAがC-V2Xのロードマップ発行、Marvellの3nm 1.6Tbps PAM4インターコネクト、Nokiaの2.4Tbps光伝送、Silicon Labsの低消費電力モジュール、Xiaomi 14T Pro分解動画(2024.12.06)
- 高周波回路シミュレータQucsStudioがuSimmicsに名称変更し、バージョンも4.8.3から5.8にアップデートされた。Qucsと区別するためだそうだ。また、Pythonの高周波用ライブラリscikit-rfもv1.5.0にバージョンアップされていた(2024.12.04)
- 日経サイエンス2025年1月号の特集 和算再発見の佐藤賢一さんの記事「算聖 関孝和の実像」に出てきた矢高に対する円弧の2乗の近似式をカシオの高精度計算サイトkeisan.casio.jpの自作式として作った。ものすごい精度であることがよくわかる。(2024.12.03)
- MATLAB Onlineで高周波用のRF Toolboxを使ってみる。Touchstoneファイルの読み込み、dB表示グラフ、スミスチャートなど簡単にできるし、フィルタ合成やIEEE P370 De-embedding(ZC-2xThru)も使える(MATLABで書かれたものがオリジナル)。(2024.12.05)
« すぐコンサル的な人は問題と課題は違うというが、あれは誰が言い出したんだろうか。マナー講師みたいなルール。辞書的には同じ風で、たぶん英語ならIssueとTask(Challenge)のような感じで違うものをわざと同じような単語でごまかしている?…戦略と戦術も同じ匂いがする。 | トップページ | Excelの自動化がいつの間にかVBAじゃなくてデスクトップ版でもOfficeスクリプト(TypeScript)で出来るようになっていた。Python in Excelとか触っているうちに出遅れた…そこで先日作った複素数クラスを使ってセルに入力した値を複素数計算できるようにした。 »
コメント