Matlab (Scilab) jako kalkulator
Najbardziej prymitywne zastosowanie programu.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
>> 2+2 ans = 4 >> 3/11 ans = 0.2727 >> 5^3 ans = 125 >> log(10) ans = 2.3026 >> pi ans = 3.1416 >> sin(2*pi) ans = -2.4493e-16 >> sin(pi/2) ans = 1 -->sin(30) ans = - 0.9880316 -->sin(%pi/6) ans = 0.5 |
pi
. Zamiast niej rozpoznaje %pi
.
Polecenia wpisujemy po znaku ,,zachęty” >>
(–>
). Korzystać możemy z praktycznie wszystkich funkcji matematycznych.
Bardziej ,,zaawansowane” wykorzystanie Matlaba (Scilaba) pozwala na używanie ,,pamięci” czyli zmiennych:
1 2 3 4 |
>> a=pi a = 3.1416 >> b=pi/2; |
1 |
>> 7/8; |
1 2 3 4 5 |
>> 3/11; >> ans ans = 0.2727 >> |
ans
zawiera zawsze wynik ostatniego wyliczenia wykonywanego w trybie bezpośrednim.
W przypadku zadania do wykonania dziwnych obliczeń Matlab zachowuje się w sposób następujący:
1 2 3 4 5 6 7 8 9 |
>> 3/0 Warning: Divide by zero. (Type "warning off MATLAB:divideByZero" to suppress this warning.) ans = Inf >> ans+1 ans = Inf |
1 2 3 |
-->3/0 !--error 27 division by zero... |
!@#$^&*
nie dziel przez zero” jak głosi stare porzekadło — więc napisał, że jest błąd. Ale wynik, w zasadzie, jest dobry: Inf
, czyli nieskończoność. Co więcej można na tym wykonywać dalsze działania! \(\infty+1=\infty\)! Ale takie coś nie przechodzi:2
1 2 3 4 5 6 |
>> ans -3/0 Warning: Divide by zero. (Type "warning off MATLAB:divideByZero" to suppress this warning.) ans = NaN |
NaN
to po naszemu Not a Number — ,,to nie jest liczba”. Zatem odejmowanie dwu nieskończoności nie daje zera…3
W przypadku Scilaba — takich dziwnych obliczeń wykonać nie można. Ale Scilab poprawnie rozpoznaje zmienne o nazwach %inf
(nieskończoność), %nan
(Not a Number) czy %eps
(najmniejsza rozpoznawalna liczba).
[/raw]