スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。


Scilabで非線形方程式ソルバ その1

Scilabの非線形方程式ソルバfsolveは任意の関数 f(x) に対して f(x) = 0 となるxを探すことができます。

これまで比較的複雑なプログラムでfsolveを使っていたので、簡単な例について書いておきます。

001_20150205220744dcb.png

Fig.1: y = ln(x) と y = 1 の交点のx座標を計算した結果



簡単な例題


これまで既に非線形方程式ソルバを利用してきました。
しかしこれらは、比較的複雑な使用例だったので、今回は簡単な例について説明します。

非線形方程式ソルバ―fsolveを用いれば y=f(x) の形で表されている関数を解くことができます。
方程式を解くとは y=0 となるxを探すという事です。fsolveはyがベクトルであっても y がゼロベクトルとなるxの組を計算してくれます(例: Scilabでおもりの吊り下げ)。しかし、今回は簡単な例ということでx, yはスカラーとします。
なお任意の定数 y = yp となるときの x = xp を探すには 0 = f(xp) - yp を解けばよいことになります。

今回は具体的な関数の形として f(x) = ln(x) を考え、yp=1 となる x = xp を求めることから始めます。
もちろんこれは、数値計算を行うまでもなく高校数学の知識を用いれば xp = exp(1) = 2.71828... という解がすでに分かっているわけですが、同じ方法を用いればもっと複雑で、簡単には解がわからない関数も数値的に解を得ることができます。

プログラミング


このScilabスクリプトはlogsolve_sce.txtのようになりました。

clear;

// *** データの作成 ***
X = linspace(0.1,10);
Y = log(X);

// *** 解くべき関数の定義 ***
function y = func(x)
y = log(x) - yp;
endfunction

// *** 非線形方程式ソルバ ***
yp = 1; // yp = f(x)
x0 = 1; // ソルバ―の初期値
// 非線形方程式を解く
xp = fsolve(x0, func)
// 誤差
err = abs(xp - exp(yp))

// *** グラフのプロット ***
plot(X, Y, '-b');
plot(X, yp * ones(Y), '--k');
plot(xp, yp, 'or');



関連エントリ




付録


このエントリで使用したScilabのシミュレーション用ファイルを添付します。ファイル名末尾の".txt"を削除して、"_"を"."に変更すれば使えるはずです。(参考:ねがてぃぶろぐの付録)


参考文献/使用機器




フィードバック



にほんブログ村 その他趣味ブログ 電子工作へ

 ↑ 電子工作ブログランキング参加中です。1クリックお願いします。


コメント・トラックバックも歓迎です。 ↓      


 ↓ この記事が面白かった方は「拍手」をお願いします。


tag: Scilab 非線形方程式ソルバ 

comment

Secret

FC2カウンター
カテゴリ
ユーザータグ

LTspiceAkaiKKRmachikaneyamaScilabKKRPSoC強磁性CPAPICOPアンプecalj状態密度モンテカルロ解析常微分方程式トランジスタodeDOSインターフェースPDS5022定電流スイッチング回路分散関係半導体シェルスクリプトレベルシフト乱数HP6632A可変抵抗トランジスタ技術R6452AI2C温度解析ブレッドボードバンドギャップ確率論反強磁性セミナーバンド構造数値積分偏微分方程式非線形方程式ソルバ熱設計絶縁三端子レギュレータISO-I2CA/DコンバータシュミットトリガフォトカプラカオスPWscfGW近似LM358LEDマフィンティン半径発振回路USB数値微分TL431PC817Cサーボアナログスイッチ直流動作点解析補間カレントミラー74HC4053bzqltyチョッパアンプFFT2ちゃんねる開発環境量子力学単振り子電子負荷VESTAQuantumESPRESSO標準ロジックパラメトリック解析ブラべ格子イジング模型アセンブラLDA基本並進ベクトルBSchSMPTLP621失敗談六方最密充填構造コバルト位相図QSGWGGAスイッチト・キャパシタewidth状態方程式VCAキュリー温度繰り返し最適化仮想結晶近似不規則合金熱伝導gfortran相対論抵抗FETMaximaQuantum_ESPRESSOcygwinランダムウォークラプラス方程式スピン軌道相互作用スレーターポーリング曲線マントルシュレディンガー方程式ZnO自動計測QNAP固有値問題ダイヤモンドデータロガー井戸型ポテンシャルTLP552CIFxcrysdenゼーベック係数熱力学条件分岐MCU最小値UPS格子比熱最大値ガイガー管平均場近似過渡解析Writer509スーパーセルFXA-7020ZR差し込みグラフ第一原理計算テスタ起電力OpenMP三角波ubuntuLM555NE555ブラウン運動詰め回路ハーフメタルawkfsolveUbuntuフェルミ面TLP521トランスMAS830LPGACK1026OPA2277フィルタトレーナーバトルEAGLEノコギリ波負帰還安定性ナイキスト線図MBEP-10LMC6622SC1815CapSenseAACircuitPIC16F785入出力固定スピンモーメントFSMTeX結晶磁気異方性全エネルギーc/a合金multiplotgnuplot非線型方程式ソルバL10構造正規分布等高線ジバニャン方程式ヒストグラム確率論初期値interp1fcc面心立方構造ウィグナーザイツ胞半金属デバイ模型磁気モーメント電荷密度重積分SIC不純物問題擬ポテンシャル状態図cif2cellPWgui二相共存ウルツ鉱構造edeltquantumESPRESSOフォノンリジッドバンド模型スワップ領域BaO岩塩構造ルチル構造マテリアルデザインspecx.fフラクタルマンデルブロ集合キーボードRealforceクーロン散乱三次元疎行列縮退化学反応関数フィッティング最小二乗法Excel直流解析PCTS-110TS-112日本語パラメータ・モデル等価回路モデル文字列ポケモンGO熱拡散方程式HiLAPW両対数グラフ片対数グラフ陰解法Crank-Nicolson法ifort境界条件連立一次方程式グラフの分割軸ラベルヒストグラム不規則局所モーメントスーパーリーグ円周率Gimp凡例線種シンボルトラックボール

最新コメント
リンク

にほんブログ村 その他趣味ブログ 電子工作へ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。