求矩陣的determinant,利用到的指令就是det( )
舉例來說,如果想找矩陣A的determinant,只要像下面這樣即可。
A = [2, -5, 3; 1, 3, 4; -2, 3, 7]
det( A )
輸出結果
A =
2 -5 3
1 3 4
-2 3 7
ans = 120
那麼就知道矩陣的determinant為120。
向量的 cross product 只要利用函數 cross( , )
即可。可以直接放入兩個向量,或是令成變數再做cross product都可以。
例如:我們想做兩個向量 $\vec{v}=[10, 4, -1]$ 跟 $\vec{u} = [-5, -2, 3]$ 的cross product,那麼只要輸入
cross( [10, 4, -1], [-5, -2, 3] )
或是
v = [10, 4, -1]
u = [-5, -2, 3]
cross(v, u)
最終都可以得到答案
ans =
10 -25 0
求 $f(x)=0$ 的解,主要是先定義什麼叫做函數$f(x)$,再利用指令fzero( , )
。
首先我們來解釋怎麼定義函數,舉例來說,如果我想令 $f(x)=x^2-4x+3$,那麼我會用
f = @(x) x^2-4*x+3
其中,@後面的括號內放的是變數,也就是說,我定義的$f$內,只有『x』是變數。
括號後面就是正常的函數寫法。
再來,在解$f(x)=0$的時候,解出來的根可能不只一個,
所以 fzero 的括號內有兩件物品,第一項放的是函數,第二項放的是你希望找出來靠近哪邊的根。
舉例來說,我們都知道$x^2-4x+3=(x-3)(x-1)=0$,所以此函數的兩根是$x=1, ~x=3$。
所以靠近0的那個根是$x=1$,靠近3.5的那個根是$x=3$。
但是這邊要注意一件事,因為Octave是用數值方法去逼近解,所以建議不要給一個離得太遠的點,
例如選擇『離10最近的根』就會出現錯誤。
f = @(x) x^2-4*x+3
x1 = fzero( f, 0 )
x2 = fzero( f, 3.5 )
輸出結果
f =
@(x) x ^ 2 - 4 * x + 3
x1 = 1
x2 = 3
基本上這就只是用上面解方程式的方法,稍做變化而已。舉例來說,如果我想解
$$\left\{\begin{array}{l}
x-2y=3\\
2x+3y=-1
\end{array}\right.$$
這題目乍看跟前一塊解釋的解方程式毫無關係,但是只要轉念改寫題目成:
$$\left\{\begin{array}{l}
y=(x-3)/2\\
y=(-1-2x)/3
\end{array}\right.$$
也就是說,現在我們知道
$$\frac{x-3}{2}=y=\frac{-1-2x}{3}$$
那麼當然有
$$f(x)=\frac{x-3}{2}-\frac{-1-2x}{3}=0$$
算出解來,代回原式,即可得到交點了。
f = @(x) (x-3)/2 - (-1-2*x)/3
x1 = fzero( f, 0 )
y1 = ( x1 - 3 ) / 2
輸出結果
f =
@(x) (x - 3) / 2 - (-1 - 2 * x) / 3
x1 = 1
y1 = -1
所以兩直線的交點為 $(1, -1)$。