読者です 読者をやめる 読者になる 読者になる

作業中のメモ

よく「計算機」を使って作業をする.知らなかったことを中心にまとめるつもり.

CSV ファイルを C 言語で読み込む

どうも,筆者です. 今回は,CSV ファイルを C 言語で読み込むことを考える. 考え方 カンマ(,)か改行コード(\n)が出てくるまで,データを char 型の配列に保持する.カンマ(,)か改行コード(\n)が出てきたら,atoi または,atof 関数で数値に変換す…

楕円が存在する領域

どうも,筆者です. 楕円を覆う領域 今回は,有限個の楕円が平面状に散らばっている状況を考える.この状況において,すべての楕円を含む長方形領域の最小値を求める問題を解く. 図で示すと以下のような長方形領域を求めることになる. 領域の計算方法 計算…

ガウスの消去法(Fortran 自由形式)

Fortran90 の自由形式に関して どうも,筆者です.何度同じ記事書くんだ?って感じだが,どうも自分が扱っていた Fortran の記述方法は古いらしい. 無料のコンパイラがあることを含めると,Fortran 90/95 の自由形式(free format)が主流らしい.Fortran 2…

ガウスの消去法(MATLAB バージョン)

どうも,筆者です.部分ピボット選択付きのガウスの消去法を C 言語と Fortran で書いてきたが,MATLAB のスクリプトを探している人もいた. 目的 なので,今回は,MATLAB 用にガウスの消去法を書き直すことにした.これも久しぶりに使うので,もっと効率化…

LU 分解で連立一次方程式を解く(Fortran バージョン)

どうも,筆者です.前回に続き,Fortran で LU 分解を行うプログラムを作成してみた.LU 分解については,以前の記事を参照すること. workspacememory.hatenablog.com LU 分解のプログラム 需要あるのだろうか.これは,「luDecompSolver.f」というファイル…

ガウスの消去法(Fortran バージョン)

お久しぶりです.筆者です. アクセス解析のデータをみた 久しぶりに,ブログに戻ってきた.最初に,アクセス解析のデータをみた. すると,多くの人がガウスの消去法関連でアクセスしている事が分かった.その中でも,Fortran 言語でガウスの消去法を探して…

【更新】レーベンバーグ・マーカート法と準ニュートン法(C 言語)

どうも,筆者です. 以前,同一のタイトルでレーベンバーグ・マーカート法と準ニュートン法の使い方を説明したが,あれは,Intel コンパイラがないと動作しないという欠点があった(また,3 次元のフィッティングが限界である). workspacememory.hatenablo…

レーベンバーグ・マーカート法と準ニュートン法(C 言語)

どうも筆者です. 最近,観測データを既知の関数で近似する必要が生じた.そのための近似方法を以前示したが,あれは,そのままプログラムを組むと,次元が大きくなると解きにくくなってしまうという問題がある. そのため,何か良い方法がないかと調べてい…

LU 分解による連立一次方程式の解法

前回は,ガウスの消去法について,簡単に説明した.今回は,LU 分解について説明する. LU 分解 行列 は正則行列(逆行列を持つもの)であるとする.このとき,行列 を部分ピボット選択をする(この行列を とする)ことにより, のように LU 分解できる.こ…

ガウスの消去法のプログラム

前回は,関数近似を行うことを考えた.このとき,係数を求めるために,連立方程式を解く必要が生じた. 今回は,とりあえず,ガウスの消去法を用いて,連立方程式を解くことを考える. ガウスの消去法 ガウスの消去法は,中学,高校のときに習った連立方程式…

n 変数関数の最小二乗近似

どうも,筆者です.数点のデータから,関数フィッティングを行う必要が出てきたので,原理から考えたいと思う. gnuplot の fit コマンドを使えば,解は出てくるけど,C 言語等のプログラム中で処理を行いたいため,1 から考えてみる. 最小二乗近似 まず, …