2012年2月12日日曜日

Matlab 最小二乗解の求め方 ①

4点 (4,-17), (15,-4), (30,-7), (100,50)に直線を当てはめよ

当てはめる直線を y = a * x + b と置く


>> A = [4,1;15,1;30,1;100,1]

A =

     4     1
    15     1
    30     1
   100     1

>> y = [-17,-4,-7,50]'
y =

   -17
    -4
    -7
    50

>> x = A\y
x =

    0.6873
  -20.1018

よって y = 0.687 * a -20.1
4点 (-1,0), (0,-2), (0,-1), (1,1) に2次曲線を当てはめよ


当てはめる2次曲線を y = a * x^2 + b * x + c と置く

 >> A = [1,-1,1;0,0,1;0,0,1;1,1,1]   ← a, b, c の係数(x の2乗、1乗、0乗)

A =

     1    -1     1
     0     0     1
     0     0     1
     1     1     1

>> y = [0,-2,-1,1]'

y =

     0
    -2
    -1
     1

>> x = A\y

x =

    2.0000
    0.5000
   -1.5000

2次曲線は
y = 2 * x^2 + 0.5 * x -1.5



Reference
 これなら分かる応用数学教室 金谷健一

0 件のコメント:

コメントを投稿