g1(x,y) := 2x+y=7;
g2(x,y) := 3x-7y=10;
solve([g1(x,y),g2(x,y)],[x,y]);
2. 指定運算元 ":", 定義運算式,將右邊的運算式指定給左邊的變數
a:3
此時 a 等於 3
3. 指定運算元 "::", 除了將右邊的值指定給左邊的變數外, 同時也將其值賦予其指定的運算式, 可以用"雙重指定"來幫助記憶
x: foo
x:: 123
此時 x 等於 foo, 而 foo 等於 123
4. 函數定義運算元 ":="
f(x,y) := x + y+1
g(x,y) := x -y +3
在此定義f(x,y) 為兩個變數的函數, 而 g(x,y) 為另一個含兩個變數的函數
5. 巨集定義運算元 "::=", 一連串的函數集合
f(x,y)::=(print("x=",x),print("y=",y));
6. 使用者也可以自行定義運算元, 如下可將 "dd" 當成 單個字符的前置運算元(不含雙引號)
prefix("dd");
經上述定義後, dd a 就如同 dd(a) 的用法了
7. 自行定義兩個字符中間的運算元, 如下可將 "##" 當成中間運算元(不含雙引號)
infix("##");
如再搭配運算元 := 來將運算式指定成函數後, 可以讓新的中間運算元賦予新意義
a ## b := a^b
經上述定義後, ## 運算元就如同 ^ 的用法了
8. kill 可以將上述運算元的定義及運算式全部移除
kill("dd");
kill("##");
remove 也可以將上述運算元的定義移除, 但只移除運算元定義的部份
remove("##,op);
9. 運算元 "'" 強制不做賦值運算
foo: 30;
x: 'foo;
在此例中, foo 雖已指定等於 30, 但加上運算元後, 僅就字串將 foo 賦予 x
10. 繪圖 plot2d(y(x),[x,-min,max]);以下定義了一個函數,並繪出函數的波形圖
y(x):=sin(x)*exp(-x/(2*%pi));
plot2d(y(x),[x,-2*%pi,2*%pi]);
沒有留言:
張貼留言