Professional Documents
Culture Documents
撰文者:
1. 中央大氣科學系 楊善文
2.
( 如對本文有貢獻者,記得在此留名 )
加減乘除: + - * /
自然數的次方: ex 在 scilab 上,要寫成: exp(x)
絕對值: abs() ,例如: abs(-3) Ans= 3.
矩陣轉數值:在算符前加上 ''.'' ,為什麼要這麼做?因
為 Scilab 在運算時,基本上都是把那些數值當做矩陣來
看待的。當你打了一大串的數值串要做運算時,卻出現
了錯誤訊息。就有可能要考慮此狀況了,這時就要將乘
或除與 exp(),sin(),cos() 等等的運算式前加上點號。例
如: .* ./ .exp()......... 等等,例如: 3*t.*exp(sin(t))
( 注意:指令尾端的 ';' 號,加上則運算結果將不會輸出
至螢幕上,不加則效果反之 。 )
Conférencier : Prénom Nom Date : Transparent 3
Fichier : /albafile/重要文件/SCILAB資料/自製的Scilab教材/SCILAB_Chap1.odp
基本算符 ( 二 )
除了加減乘除算符: + - * /
另外還有次方算符: ^ ( 例如 2 的 3 次方: 2^3)
開根號: sqrt()
( 例如根號 2 表示成 sqrt(2) ,也可以直接用 2^(1/2) 或
2^(0.5) 表示。 )
括號: () 在運算時只能使用 '()' ,其他的括號類型有
別的用途,不能在此使用。
這是一個跟三角函數相似但內容完全不同的函數。此類
函數與 e 有關。
三個: sinh(),cosh(),tanh()
三個反函數: asinh(),acosh(),atanh()
在 scilab 中變數的宣告是很自由的,幾乎大部分的字串
皆可以成為變數。例如 x=3;a2=14;...... 但是變數開頭不可
以是數字。同時也不可以將 Scilab 內定常數更改它的數
值。
Scilab 的內定常數多半以 '%' 開頭,例如圓周率 π ,它
以 '%pi' 來表示。自然常數 e : %e 。虛數 i : %i 。如對
這些常數重新宣告會出現錯誤訊息。
poly() 指令可以用來宣告一個多項式,它的用法如下:
變數 1=poly([ 根 1 根 2 根 3 .........],' 多項式中的變
數 ');
例如:
--> a=poly([2 3 4],'s')
a =
-24 + 26s - 9s^2 + s^3
當宣告了數個多項式時,也是可以利用運算元來對它們
進行多項式運算。
例子:
--> C=poly([1 3 4],'x','coeff');
--> D=poly([2 5 3],'x','coeff');
--> C+D
Ans =
3 + 8x + 7x^2
--> C*D
Ans =
2 + 11x + 26x^2 + 29x^3 + 12x^4
矩陣在運算時,可以使用這些運算符號: + - *
運算時 ,必須把握矩陣特性的原則,才能進行運算。例
如相同大小 (M x N) 的矩陣才能相加相減。而相乘則必須
A 矩陣的大小的長與 B 矩陣的寬要吻合才能相乘。
矩陣內除了可放數值、字串外。也可以放置多項式來運
算。
矩陣運算的例子: --> A+B 或是 A*B
Scilab 的矩陣內也可以放入字串,但是字串與數值不可
以放在同一個矩陣內。
裡面的內容字串在宣告時,須加上 ' ' ,以表示是字串變
數。
例子:
--> F=['d' 'ce' 'fg']
F =
! d ce fg !
( 注意: Scilab 跟 Matlab 在這部分有差異, Matlab 所有
字串會全部相黏, Scilab 不會。 )
Conférencier : Prénom Nom Date : Transparent 17
Fichier : /albafile/重要文件/SCILAB資料/自製的Scilab教材/SCILAB_Chap1.odp
特殊矩陣
零矩陣 :
zeros(m,n) :宣告一個 m x n 大小,裡面全為零的矩陣。
一矩陣:
ones(m,n) :宣告一個 m x n 大小,裡面全為一的矩陣。
例子:
--> ones(2,5)
Ans =
1. 1. 1. 1. 1.
1. 1. 1. 1. 1.
空矩陣:
--> B=[]
B =
[]
Conférencier : Prénom Nom Date : Transparent 18
Fichier : /albafile/重要文件/SCILAB資料/自製的Scilab教材/SCILAB_Chap1.odp
矩陣的翻轉
求解反矩陣的指令是 inv()
例子:
--> A=[1 3 4;2 4 6;7 3 2];
--> B=inv(A); <== 宣告 B 為 A 的反矩陣
--> A*B
Ans =
1. 8.82E-16 0.
-1.332E-15 1. 2.766E-17
0. 0. 1.
( 由於計算機精度的問題,往往求得的反矩陣只能到近
似解。 )
Conférencier : Prénom Nom Date : Transparent 20
Fichier : /albafile/重要文件/SCILAB資料/自製的Scilab教材/SCILAB_Chap1.odp
矩陣內元素的處理
當宣告了一個矩陣後,如何使用它呢?
例如: A=[1 2 3;4 5 6;7 8 9]
取出內含元素的例子:
--> A(1,1)
Ans =
1.
--> A(2,1)
Ans =
4.
--> A(3,2)
Ans =
8.