问题如下:

闲来无事,用Octive 计算一下:
octave-3.2.4.exe:19> load “f:/work/math1/x.txt” x
warning: load: loaded ASCII file `f:/work/math1/x.txt’ — ignoring extra args
octave-3.2.4.exe:20> x
x =
1 3 0 0 0 0 0 1 0 0 0
1 0 0 0 0 0 0 0 2 1 1
1 1 2 0 0 0 0 1 0 0 0
1 0 0 0 0 0 4 0 0 0 0
1 4 0 0 0 0 0 0 0 0 0
1 0 4 0 0 0 0 0 0 0 0
1 0 1 0 0 0 2 1 0 0 0
1 1 0 2 0 0 0 0 0 1 0
1 0 0 0 0 0 0 0 0 0 4
1 0 0 0 0 4 0 0 0 0 0
1 1 0 1 0 0 0 0 1 1 0
1 0 0 0 0 0 1 0 1 1 1
1 0 0 1 1 0 0 0 1 1 0
1 0 0 0 1 1 0 1 0 1 0
1 0 0 1 0 0 0 0 1 1 1
1 1 0 1 1 0 0 0 1 0 0
octave-3.2.4.exe:21> load “f:/work/math1/y.txt” y
warning: load: loaded ASCII file `f:/work/math1/y.txt’ — ignoring extra args
octave-3.2.4.exe:22> y
y =
0
6
0
4
0
0
2
1
4
0
3
5
3
1
4
2
octave-3.2.4.exe:23> load “f:/work/math1/x1.txt” x1
warning: load: loaded ASCII file `f:/work/math1/x1.txt’ — ignoring extra args
octave-3.2.4.exe:24> x1
x1 =
1 0 1 0 0 0 0 0 2 1 0
octave-3.2.4.exe:25> q= pinv(x’*x)*x’*y
q =
0.76923
-0.19231
-0.19231
-0.19231
-0.19231
-0.19231
0.80769
-0.19231
1.80769
0.80769
0.80769
octave-3.2.4.exe:26> x1*q
ans = 5.0000
octave-3.2.4.exe:27>
原理如下:

You must log in to post a comment.