2012年1月26日 星期四

MATLAB處理最小平方法

之前線代教了最小平方法的算法,用了$A^\mathrm{T}A\mathbf{\hat{x}}=A^\mathrm{T}\textbf{b}$
於是把這個方法丟給MATLAB算,馬上就跑出方程式的係數了
學以致用,很好XD
剛剛不小心找到了更簡單的方法...使用POLYFIT函數
p = polyfit(x,y,n)
##ReadMore##
其中x是所有點的x坐標,y是所有點的y坐標,n是插值多項式次數
輸出值p為一向量(其中的元素為多項式的係數以降冪排列)
其實這個函數本來是要計算多項式插值函數的,不過只要令n=1就是最小平方法了
如果要畫圖的話,再配合POLYVAL函數即可
POLYVAL函數的用法為polyval(p,x),其中p是多項式,x是要代入的數

兩個函數結合在一起就可以畫出最小平方法的圖了
例如:
x = [1 2 3 4 5];
y = [1 2.1 3.1 3.9 4.8];
p = polyfit(x,y,1);
xx = 0:.1:6;
yy = polyval(p,xx);
plot(x,y,'o',xx,yy);

心得:那我之前做結報那麼辛苦的用$A^\mathrm{T}A\mathbf{\hat{x}}=A^\mathrm{T}\textbf{b}$幹嘛OTZ

2012年1月25日 星期三

不動點定理

定理:設函數$f$是從$[0,1]$映到$[0,1]$,且$f\in C[0,1]$,則必存在一個$c\in [0,1]$使得\[f(c)=c\]
##ReadMore##
證明:令$g(x)=f(x)-x$,則\[\begin{align}g(0)&=f(0)\\ g(1)&=f(1)-1\end{align}\]
採用反證法,假設$g(0)g(1)>0$,則表示$f(0)f(1)>f(0)$,由於$0<f(0)\leq 1$,所以左右消去$f(0)$,得\[f(1)>1\]
顯然與命題不符,矛盾,得\[g(0)g(1)\leq 0\]
若$g(0)g(1)=0$,則表示$g(0)=0$或$g(1)=0$,也就是\[f(0)=0\text{ or }f(1)-1=0\]
命題成立
若$g(0)g(1)<0$,則根據中間值定理,存在$c\in [0,1]$使得$g(c)=0$,也就是\[f(c)-c=0\]
證畢

2012年1月6日 星期五

偉哉,行列式


這學期線代課印象最深刻的部分大概就是行列式吧
只需要三個看似基本的要求,就「唯一」決定行列式的運算規則,並且推導出許多有用的性質
1. $\text{det}(I)=1$
2. 兩列交換,行列式值變號
3. 行列式對第一列是線性的
就是這三條,實在是太酷了
想到以前高中學的行列式性質,其實都是從這三條導出來的,甚至連$\begin{vmatrix}a & b \\ c & d\end{vmatrix}=ad-bc$也可以導,明明在高中當作定義...