ONLY DO WHAT ONLY YOU CAN DO

こけたら立ちなはれ 立ったら歩きなはれ

C#

C#で固有値・固有ベクトルを求める (反復法)

n × n の正方行列 A と n次元のベクトル x について Ax = λx (ただし x ≠ 0) が成り立つとき λを固有値, x を固有ベクトルという. 最初に適当なベクトルx0から始めて xk+1 = Axk を反復すると xk は行列 A の最大固有値に対応する固有ベクトルに収束する. 固…

C#で非線形方程式を解く (正割法)

非線形方程式の解法(正割法 または 割線法, セカント法 ともいう)を利用して2の平方根を求める 考え方はニュートン法と同じだが, 接線の傾きを導関数から求めるのではなく, で求める. 漸化式は ニュートン法の に対して, となる. using System; public cla…

C#で非線形方程式を解く (ベイリー法)

非線形方程式の解法(ベイリー法)を利用して2の平方根を求める 関数 をテイラー展開すると, と, 近似できる. この式を 左辺 , として変形すると, この式の右辺の をニュートン法で使った で置き換えると この式を漸化式として用いる. using System; public …

C#で非線形方程式を解く (ニュートン法)

非線形方程式の解法(ニュートン法)を利用して2の平方根を求める 1. まず, 関数 上の点 を考える. 2. 点 における の接線と 軸との交点 は より解に近づいている. 3. この作業を繰り返して行くことで解を求める.点 での接線の傾きは なので, この式を漸化式…

C#で非線形方程式を解く (反復法 または 単純代入法)

非線形方程式の解法(反復法 または 単純代入法 とも言う)を利用して2の平方根を求める 1. まず, 方程式 を, と変形する. 2. の値を として処理を繰り返して行くことで解を求める. ※ただし, 曲線 の傾きが, の傾きより小さくなければ 収束しない.例 を と変…

C#で非線形方程式を解く (はさみうち法)

非線形方程式の解法(はさみうち法)を利用して2の平方根を求める 考え方は、2分法とほとんど同じ. 1. まず, 条件 を満たす点 を考えると, 関数 の解は, 区間 の中に存在する. 2. 次に, 点 と 点 を結ぶ直線と 軸の交点 を考えると, であれば, 解は区間 の…

C#で非線形方程式を解く (2分法)

非線形方程式の解法(2分法)を利用して2の平方根を求める 1. まず, 条件 を満たす点 を考えると, 関数 の解は, 区間 の中に存在する. 2. 次に, 区間 の中点 を考えると, であれば, 解は区間 の中に存在し, 同様に, であれば, 区間 の中に存在する. 3. この…

C#で関数の近似(ラグランジュ補間)

をラグランジュ補間で近似するn+1個の点 (x0, y0), (x1, y1) … (xn, yn) が与えられているとき, これらすべての点を通る n次式は次のように表すことができる. この式を使って, 与えられた点以外の点の値を求める. using System; public class CS0701 { priva…

さまざまな言語で四則演算と数値の出力

VBScript WScript.Echo 3 + 5 WScript.Echo 3 - 5 WScript.Echo 3 * 5 WScript.Echo 3 ^ 5 WScript.Echo 5 / 3 WScript.Echo 5 \ 3 WScript.Echo 5 Mod 3 WScript.StdOut.Write 3 * 5 & vbNewLine WScript.StdOut.WriteLine 3 * 5Z:\>cscript //nologo 0101.…

C# で 連分数展開を使って π を求める

πの求め方 こう書いてもおk using System; public class CS0512 { public static void Main() { for (int i = 11; i <= 31; i += 2) { double radian = 1; double x2 = radian * radian; // 自作の逆正接関数 double d1 = myAtan(radian, x2, i, 0.0); // i…

C# で 積分(台形則)して π を求める

πの求め方 積分(台形則) using System; public class CS0601 { public static void Main() { const double a = 0; const double b = 1; // 台形則で積分 int n = 2; for (int j = 1; j <= 10; j++) { double h = (b - a) / n; double s = 0; double x = a; f…

さまざまな言語で実行時引数を表示

VBScript For Each arg In WScript.Arguments WScript.Echo arg Next For i = 0 To WScript.Arguments.Count - 1 WScript.Echo WScript.Arguments(i) Next JScript var arg = new Enumerator(WScript.Arguments); for (;!arg.atEnd(); arg.moveNext()) WScri…

さまざまな言語で Excel オートメーション (まとめ)

VBScript Dim excelApp: Set excelApp = CreateObject("Excel.Application") excelApp.Visible = True excelApp.DisplayAlerts = False '警告メッセージをOFF 'ブックを読み取り専用で開く Dim book: Set book = excelApp.Workbooks.Open(WScript.Arguments(…

C# で Excel OLE オートメーション シート名を列挙する

using System.Runtime.InteropServices; using System.Reflection; class Program { static void Main(string[] args) { //Excelファイルパス string strMacroPath = @"C:\work\001 Excel シート名を 列挙する\Book1.xls"; try { // Excel操作用COMオブジェ…