Strona używa cookies (ciasteczek). Dowiedz się więcej o celu ich używania i zmianach ustawień. Korzystając ze strony wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.    X

SCILAB - podstawowy "jedzenia" ;)

Przede wszystkim chciałbym podziękować za komentarze pod poprzednim wpisem. Mam nadzieję, ze niektórzy zaciekawili się programem. Pora napisać troszeczkę o jego używaniu.

W programie SCILAB możemy wykonywać jak już wspomniałem w poprzednim wpisie masę funkcji. W tym wpisie, jak sam jego tytuł wskazuje postaram się opisać podstawy. Nie chodzi o pokazanie, że ktoś nie wie jak wpisać znak "plus", lecz o pokazanie w jaki sposób można to robić, bo przecież nie zawsze mamy do obliczenia wyrażenie 2+2 – trafiają nam się także bardziej złożone "kombinacje" ;)

Dobrze zatem zacznijmy od prostych rzeczy. Jak napisałem wcześniej wyrażenie 2+2 jest dość łatwo policzyć – wystarczy wpisać to do SCILABa i kliknąć <ENTER>. Otrzymamy ans = 4. Wpisując 6+3 otrzymamy ans = 9 itd. To jest proste, ale co zrobimy, gdy mamy do policzenia takie wyrażenie jak te z lewej strony:

Czy damy radę policzyć to tak samo szybko w pamięci jak 2+2 ?. Zatem jak uzyskać szybko wynik? Z pomocą przychodzi nam SCILAB. Możemy o zrobić na dwa sposoby.

I. Sposób

W sposobie pierwszym, w celu łatwiejszego zrozumienia i nie popadnięcia w "gąszcz" wpisanych znaków utworzymy trzy "zmienne", które nazwiemy kolejno: licznik, mianownik i wynik.

a) licznik

Licznik, jak wiadomo to górna część ułamka, czyli środkowe wyrażenie z grafiki na górze.

Aby je obliczyć wpisujemy kolejno nasze wyrażenie do SCILABA w zmiennej licznik. Powinno to wyglądać tak:

licznik=(4*2^3*5*8^(1/3))

Jak widać wpisanie tego nie było trudne. Należy pamiętać o kolejności wykonywania działań.

Po zatwierdzeniu klawiszem <ENTER> otrzymamy wynik naszej zmiennej:

licznik=320

b)mianownik

Mianownik, jak wiadomo to dolna część ułamka, czyli z prawej strony grafiki na górze wpisu.

Analogicznie do "licznika" wyrażenie z mianownika wprowadzamy do SCILABA, z tą różnicą, iż teraz pod zmienną mianownik:

mianownik=(200*10^2-28790)

Otrzymujemy mianownik=-8790

c)wynik

Aby otrzymać ostateczny wynik naszego wyrażenia zastosujemy zmienną wynik i wykonamy działanie na zmiennych licznik i mianownik:

wynik=licznik/mianownik

Po zatwierdzeniu otrzymamy wynik=-0.0364050.

Sposób ten pozwala małymi krokami wykonać nawet bardzo skomplikowane przykłady. Dzięki temu popełnimy mniej błędów i nie zgubimy się w gąszczu nawiasów, klamer i innych wpisanych przez nas znaków. Nawet, gdy popełnimy błąd nie wpisując np. operatora szybciej ów błąd wyłapiemy.

II. Sposób

W sposobie drugim wykorzystamy tylko jedną zmienną: wynik. Jak (?) skoro, wcześniej były potrzebne aż 3 "zmienne"? Po prostu zamiast zmiennych licznik i mianownik wprowadzimy od razu nasze wyrażenie. Będzie to wyglądało tak:

wynik=(4*2^3*5*8^(1/3))/(200*10^2-28790)

Po zaakceptowaniu w ułamku sekundy zobaczymy:

wynik=-0.0364050

Jak widać, zarówno sposobie pierwszym jak i drugim otrzymaliśmy ten sam wynik.

Jeżeli przykład, którego rozwiązanie chcemy uzyskać nie jest skomplikowany możemy robić to w ten sposób, jeżeli jednak jest on bardziej wymagający warto zastanowić się nad sposobem pierwszym – w razie jakiegoś błędu, łatwiej go odnajdziemy.

Jak już wspomniałem nie chodziło mi o pokazanie tego, ze można liczyć ani samego liczenia. Sam często spotykam się z dość "piętrowymi" wyrażeniami, i spotkałem się z sytuacją, gdzie po wpisaniu całego wyrażenia coś pominąłem, a znaleźć potem wspominany błąd było dość ciężko. Nie jest to też jakieś arcy trudne, po prostu można sobie czasem ułatwić pracę "rozkładając" nasze wyrażenie na mniejsze kawałki.

Już niebawem kolejny wpis dotyczący ... liczenia ;)

Oczywiście każdy ma własne zdanie dotyczące danych kwestii nie zamierzam go w żaden sposób podważać, czy obrażać kogokolwiek w jakikolwiek sposób. Przepraszam także za ewentualne błędy. 

Komentarze

0 nowych
Jaahquubel_   12 #1 24.10.2011 18:10

Jestem w trakcie pisania o Octave'ie. Scilaba nie znam w ogóle. Czy możesz opisać podobieństwa i różnice między tymi dwoma pakietami?
Gdzie Scilab "rozjeżdża" się z Matlabem?

To, co tu napisałeś, jest bardzo proste i w Octave'ie wygląda tak samo.

McDracullo   16 #2 24.10.2011 18:46

Pokazał byś jakieś tranformaty, równania różniczkowe, etc. - czyli to czego liczyć nie lubi chyba nikt ;P

  #3 24.10.2011 21:05

Ja do takich obliczeń używam (wx)Maximy:)

tomimaki   6 #4 24.10.2011 23:28

@McDracullo
Oj tam transformaty. Prościzna. :)

McDracullo   16 #5 25.10.2011 12:11

@tomimaki
Prościzna, ale upierdliwa :P