Solve と、Findroot(続)

2013-09-05 :  PCクリニック
本文の前に、
-・・・ -・-
現時点での、blogramのランクインカテゴリは、
3、3、1、1、2、 2、0、1、1、0(40)で、換算ポイント 72pt 。
・-・ - -・

さて、本文。

先日の記事:
Solve と、Findroot
の続き。

最初の、「R」プログラムの例として、

  ・・・・・
    ・・・・・
     連立方程式の解
     A・x = b なる形の x についての連立方程式の解は
     関数 solve() を使って解く事が出来る。
    ・・・・・
  と云うことで、
    a <- matrix(c(0,1,2,3,4,5,6,7,9), 3, 3 )   #      3y + 6z = 1
    b <- matrix(c(1,0,-2 ) )           #    x + 4y + 7z = 0
    solve( a, b )                 #   2x + 5y + 9z = -2
  とすると、
        [,1]
  [1, ] -2.333333
  [2, ] 2.333333
  [3, ] -1.000000
  と、
    x, y, z
  が求まる。
  ・・・・・

と書いた。


3番目に「multiroot」について、書いた。


それで、
上記の「solve」処理を、「multiroot」でやってみた。


先ず、

  library(rootSolve)

と、宣言して、

2つの関数、

  ff <- function(x) A %*% x - b
  jf <- function(x) A

を定義する。
(1つ目は、A・x = b のこと)
(2つ目は? おまじない(?) )

そうしておいて、
solve の時と同じもの:

  A <- matrix(c(0,1,2,3,4,5,6,7,9), 3,3) # 係数行列:上から下を先に
  b <- c(1,0,-2) # 右辺

を。


最後に、「multiroot」を実行。

  X <- multiroot( ff, c(0,0,0), jacfunc=jf )


そうすると、

  X$root

で、

  [1] -2.333333 2.333333 -1.000000

と解(根)が求まる。


こちらの方は、記述量が多くなるが、
その分( jacfunc=・・・ とか?)
詳細な指定が出来る???


もう少し、勉強してみよう(かナ???)



見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒ blogram投票ボタン


130817
関連記事
スポンサーサイト

コメントの投稿

管理者にだけ表示を許可する

おきてがみ/blogram
blogram投票ボタン



おきてがみ

最新記事
カレンダー
07 | 2017/08 | 09
- - 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 - -
月別アーカイブ
カテゴリ
最新コメント
検索フォーム
リンク
プロフィール

<紙>

Author:<紙>
ようこそ。
「パソコンヲタクの雑記帳」
もろもろなことを綴っています。
パソコン ヲタクってねくら?
画像は kami でなく kani です。

カウンター(fc2、i2i) /Google Analytics


i2i(from 2010-08-24)
Total =
Today  =  
Yesterday=
アンチエイジング

Google Analytics
ブックマーク