Podstawowe obliczenia w programie SciLab
Transkrypt
Podstawowe obliczenia w programie SciLab
13 listopad 2012 Podstawowe obliczenia w programie SciLab slajd 1 Wprowadzenie do programowania w SciLab: typy danych, wyrażenia, operatory, funkcje własne, skrypty. Instytut Konstrukcji Budowlanych Zakład Komputerowego Wspomagania Projektowania Informatyka Stosowana Semestr 1. 13 listopad 2012 Podstawowe obliczenia w programie SciLab slajd 2 Plan zajęć ● Wprowadzenie, stałe specjalne, podstawowe operatory i funkcje ● Zmienne liczbowe, tablicowe, tekstowe, konwersja i przeliczanie wyrażeń tekstowych ● Deklaracja wielomianów ● Operatory logiczne ● Deklaracja funkcji użytkownika ● Skrypty Instytut Konstrukcji Budowlanych Zakład Komputerowego Wspomagania Projektowania Informatyka Stosowana Semestr 1. 13 listopad 2012 Podstawowe obliczenia w programie SciLab Instytut Konstrukcji Budowlanych Zakład Komputerowego Wspomagania Projektowania slajd 3 Informatyka Stosowana Semestr 1. Podstawowe obliczenia w programie SciLab 13 listopad 2012 slajd 4 Podstawowe operatory działań matematycznych + dodawanie 2+2 =4 - odejmowanie 4–1 =3 * mnożenie 3*2 =6 / dzielenie 6/2 =3 ^ potęgowanie 4^2 = 16 -->3 + 2.5 ans = 5.5 -->8*3 - 2^2 ans = 20. -->10 + 6/2 ans = 13. -->(10 + 6)/2 ans = 8. Instytut Konstrukcji Budowlanych Zakład Komputerowego Wspomagania Projektowania Informatyka Stosowana Semestr 1. Podstawowe obliczenia w programie SciLab 13 listopad 2012 slajd 5 Stałe specjalne %pi liczba π ( 3.1415927...) %e liczba e (2.7182818...) %i −1 %inf nieskończoność %eps wielkość „bardzo mała” (dokładność maszyny liczącej) %nan wielkość nie będąca liczbą (NotANumber) %t stała logiczna = True (prawda) %f stała logiczna = False (fałsz) Instytut Konstrukcji Budowlanych Zakład Komputerowego Wspomagania Projektowania Informatyka Stosowana Semestr 1. Podstawowe obliczenia w programie SciLab 13 listopad 2012 slajd 6 Kilka podstawowych funkcji abs() sqrt() sin(), cos() exp() wartość bezwzględna, moduł liczby pierwiastek sinus, cosinus eksponent Instytut Konstrukcji Budowlanych Zakład Komputerowego Wspomagania Projektowania Informatyka Stosowana Semestr 1. Podstawowe obliczenia w programie SciLab 13 listopad 2012 slajd 7 Kilka podstawowych funkcji abs() sqrt() sin(), cos() exp() wartość bezwzględna, moduł liczby pierwiastek sinus, cosinus eksponent Obliczyć wyrażenia: π sin( ) 5 (2 + e5 ) 3 e − 3π ∞ + 11 6+ ε Instytut Konstrukcji Budowlanych Zakład Komputerowego Wspomagania Projektowania Informatyka Stosowana Semestr 1. Podstawowe obliczenia w programie SciLab 13 listopad 2012 slajd 8 Kilka podstawowych funkcji abs() sqrt() sin(), cos() exp() wartość bezwzględna, moduł liczby pierwiastek sinus, cosinus eksponent Obliczyć wyrażenia: π sin( ) 5 (2 + e5 ) 3 e − 3π ∞ + 11 6+ ε -->sin(%pi/5) ans = 0.5877853 -->sqrt(2+exp(5)) ans = 12.264304 -->abs(%e-3* %pi)^(1/3) ans = 1.8858127 Instytut Konstrukcji Budowlanych Zakład Komputerowego Wspomagania Projektowania -->%inf+11 ans = Inf -->6+%eps ans = 6. Informatyka Stosowana Semestr 1. Podstawowe obliczenia w programie SciLab 13 listopad 2012 slajd 9 Ćwiczenie Obliczyć wyrażenia: sin(π − cos(e )) 2 (2 + e ) 2 + sin( 2 + π ) 3 3 π +π 4 1 sin (1 − ) π 2 Instytut Konstrukcji Budowlanych Zakład Komputerowego Wspomagania Projektowania Informatyka Stosowana Semestr 1. Podstawowe obliczenia w programie SciLab 13 listopad 2012 slajd 10 Ćwiczenie Obliczyć wyrażenia: sin(π − cos(e )) 2 -->sin(%pi-cos(exp(2))) ans = (2 + e ) 2 + sin( 2 + π ) 3 3 π +π 0.4334848 4 1 sin (1 − ) π 2 Instytut Konstrukcji Budowlanych Zakład Komputerowego Wspomagania Projektowania Informatyka Stosowana Semestr 1. Podstawowe obliczenia w programie SciLab 13 listopad 2012 slajd 11 Ćwiczenie Obliczyć wyrażenia: sin(π − cos(e )) 2 (2 + e ) 2 + sin( 2 + π ) -->sin(%pi-cos(exp(2))) ans = 0.4334848 3 -->sqrt(2+exp(3))/(2+sin(sqrt(2+%pi))) ans = 1.6984457 3 π +π 4 1 sin (1 − ) π 2 -->(%pi+%pi^4)^(1/3)/sin(1-1/%pi)^2 ans = 11.71208 Instytut Konstrukcji Budowlanych Zakład Komputerowego Wspomagania Projektowania Informatyka Stosowana Semestr 1. Podstawowe obliczenia w programie SciLab 13 listopad 2012 slajd 12 Zmienne - instrukcja podstawienia: pojedyncza wartość tablica 2 2 1 3 5 a = 2 podstawienie liczby rzeczywistej w = [2,3,4] v = [1;2;3] m = [1,2;3,4] podstawienie wektora (wierszowego) podstawienie wektora (kolumnowego) podstawienie macierzy ( 2 wiersze, 2 kolumny) t = w(2) b = m(1,2) podstawienie współrzędnej wektora podstawienie elementu macierzy Instytut Konstrukcji Budowlanych Zakład Komputerowego Wspomagania Projektowania Informatyka Stosowana Semestr 1. Podstawowe obliczenia w programie SciLab 13 listopad 2012 slajd 13 Zmienne - instrukcja podstawienia wx = [1,3,5,7,9] lub wx = 1:2:9 lub wx = 1:2:10 ● ● ● 1 2 9 pierwsza współrzędna krok, wx(i) = wx(i-1) + krok ostatnia współrzędna wz = [1,2,3,4,5,6,7,8] wz = 1:8 lub domyślny krok = 1 wt = [1;3;5;7;9] wt = wx' lub transpozycja wektora Instytut Konstrukcji Budowlanych Zakład Komputerowego Wspomagania Projektowania Informatyka Stosowana Semestr 1. Podstawowe obliczenia w programie SciLab 13 listopad 2012 slajd 14 Zmienne - instrukcja podstawienia → A =[1,2,3,4,5,6; 8,8,8,8,8,8] A = ! 1. 2. 3. 4. 5. 6.! ! 8. 8. 8. 8. 8. 8.! -->A(1,3) ans = 3. pierwszy indeks dotyczy wiersza -->A(1,3:6) ans = ! 3. 4. 5. 6. ! -->B = A(1:2,2:3) B = ! 2. 3. ! ! 8. 8. ! Instytut Konstrukcji Budowlanych Zakład Komputerowego Wspomagania Projektowania Informatyka Stosowana Semestr 1. Podstawowe obliczenia w programie SciLab 13 listopad 2012 slajd 15 Zmienne - instrukcja podstawienia → A =[1,2,3,4,5,6; 8,8,8,8,8,8] A = ! 1. 2. 3. 4. 5. 6.! ! 8. 8. 8. 8. 8. 8.! -->B = matrix(A, 3, 4) B = ! 1. 8. 4. 8. ! ! 8. 3. 8. 6. ! ! 2. 8. 5. 8. ! zmiana kształtu macierzy – elementy macierzy czytane kolumnami 1 2 3 4 5 6 1 8 4 11 7 8 9 10 11 12 7 3 10 6 2 9 5 12 Instytut Konstrukcji Budowlanych Zakład Komputerowego Wspomagania Projektowania Informatyka Stosowana Semestr 1. 13 listopad 2012 Podstawowe obliczenia w programie SciLab slajd 16 Ćwiczenie ● ● ● Zdeklaruj wektor X = [-5π,-4π,...,5π,6π] Przepisz elementy wektora X do macierzy A (3 wiersze, 4 kolumny) wpisując wg kolumn Zdeklaruj wektor Y, tworząc go jako wektor kolumnowy z pierwszych 4 współrzędnych wektora X Instytut Konstrukcji Budowlanych Zakład Komputerowego Wspomagania Projektowania Informatyka Stosowana Semestr 1. Podstawowe obliczenia w programie SciLab 13 listopad 2012 slajd 17 Ćwiczenie ● ● ● Zdeklaruj wektor X = [-5π,-4π,...,5π,6π] Przepisz elementy wektora X do macierzy A (3 wiersze, 4 kolumny) wpisując wg kolumn Zdeklaruj wektor Y, tworząc go jako wektor kolumnowy z pierwszych 4 współrzędnych wektora X → X=-5*%pi:%pi:6*%pi X = ! - 15.707963 - 12.566371 ... ! ... 12.566371 15.707963 -->A=matrix(X,3,4) A = ! - 15.707963 - 6.2831853 ! - 12.566371 - 3.1415927 ! - 9.424778 0. -->Y=X(1:4)' Y = ! - 15.707963 ! - 12.566371 ! - 9.424778 ! - 6.2831853 3.1415927 6.2831853 9.424778 18.849556 ! 12.566371 ! 15.707963 ! 18.849556 ! ! ! ! ! Instytut Konstrukcji Budowlanych Zakład Komputerowego Wspomagania Projektowania Informatyka Stosowana Semestr 1. Podstawowe obliczenia w programie SciLab 13 listopad 2012 slajd 18 Kilka funkcji macierzowych → w = zeros(1:3) w = ! 0. 0. 0.! podstawienie pod w wektora trzech zer → x = ones(1:6) podstawienie pod x wektora sześciu jedynek x = ! 1. 1. 1. 1. 1. 1.! →A = A = ! 1. ! 1. ! 1. ones(3,4) 1. 1. 1. ! 1. 1. 1. ! 1. 1. 1. ! → A(1,1:3) = w A ! ! ! podstawienie pod A macierzy 3x4 złożonej z jedynek podstawienie pod pierwsze 3 elementy pierwszego wiersza macierzy A współrzędnych wektora x = 0. 0. 0. 1. ! 1. 1. 1. 1. ! 1. 1. 1. 1. ! Instytut Konstrukcji Budowlanych Zakład Komputerowego Wspomagania Projektowania Informatyka Stosowana Semestr 1. Podstawowe obliczenia w programie SciLab 13 listopad 2012 slajd 19 Kilka funkcji macierzowych podstawienie pod w losowo wybranej liczby z [0,1) → w = rand() w = 0.0002211 → x = 10*rand(1:3) podstawienie pod x wektora losowego liczb z [0,10) x = ! 0.6837404 5.6084861 6.6235694 ! → sin(x) ans = ! 0.6316970 obliczenie wartości funkcji sin() dla wszystkich elementów tablicy x - 0.6246625 0.3338491 Instytut Konstrukcji Budowlanych Zakład Komputerowego Wspomagania Projektowania ! Informatyka Stosowana Semestr 1. 13 listopad 2012 Podstawowe obliczenia w programie SciLab slajd 20 Pomoc – opis funkcji dostępnych w SciLab -->help sin Instytut Konstrukcji Budowlanych Zakład Komputerowego Wspomagania Projektowania Informatyka Stosowana Semestr 1. 13 listopad 2012 Podstawowe obliczenia w programie SciLab slajd 21 Zmienne tekstowe x=2;y=3 T='x+2*y' podstawienie ciągu znaków evstr(T) → x = 2 x = 2. → y = 3 y = 3. obliczenie wartości wyrażenia T → T ='x+2*y' T = x+2*y → evstr(T) ans = 8. Instytut Konstrukcji Budowlanych Zakład Komputerowego Wspomagania Projektowania Informatyka Stosowana Semestr 1. 13 listopad 2012 Podstawowe obliczenia w programie SciLab slajd 22 Wielomiany p = poly([1,2,3],'x'); w = poly(0,'x') podstawienie wielomianu o podanych pierwiastkach q = poly([1,2,3],'x','c') podstawienie wielomianu o podanych współczynnikach -->p = poly([1, 2, 3],'x') p = 2 3 - 6 + 11x - 6x + x -->q = poly([1, 2, 3],'x','c') q = 2 1 + 2x + 3x Instytut Konstrukcji Budowlanych Zakład Komputerowego Wspomagania Projektowania Informatyka Stosowana Semestr 1. 13 listopad 2012 Podstawowe obliczenia w programie SciLab slajd 23 Wielomiany p = poly([1,2,3],'x'); w = poly(0,'x') podstawienie wielomianu o podanych pierwiastkach q = poly([1,2,3],'x','c') podstawienie wielomianu o podanych współczynnikach -->p = poly([1, 2, 3],'x') p = 2 3 - 6 + 11x - 6x + x -->q = poly([1, 2, 3],'x','c') q = 2 1 + 2x + 3x roots(p) obliczenie pierwiastków wielomianu p roots(q)= ? Instytut Konstrukcji Budowlanych Zakład Komputerowego Wspomagania Projektowania -->roots(p) ans = 1. 2. 3. Informatyka Stosowana Semestr 1. 13 listopad 2012 Podstawowe obliczenia w programie SciLab slajd 24 Wielomiany Dla określonych wielomianów możliwe są: ● dodawanie, mnożenie, dzielenie (tylko gdy mają tę samą zmienną) oblicz wyrażenia p+q, p*q, p/q, wylicz pierwiastki dwóch pierwszych wielomianów -->p+q ans = 2 3 - 5 + 13x - 3x + x -->p*q ans = 2 3 4 5 - 6 - x - 2x + 22x - 16x + 3x Instytut Konstrukcji Budowlanych Zakład Komputerowego Wspomagania Projektowania -->p/q ans = 2 3 - 6 + 11x - 6x + x ---------------2 1 + 2x + 3x Informatyka Stosowana Semestr 1. Podstawowe obliczenia w programie SciLab 13 listopad 2012 slajd 25 Operacje logiczne 2 == 2; [1 2 3]== [2 2 2] porównanie wartości ~( 1 == 2 ) zaprzeczenie [1 2 3]== 1 porównanie współczynników tablicy z podaną wartością w | z operator alternatywy (lub) w & z operator koniunkcji (i) Instytut Konstrukcji Budowlanych Zakład Komputerowego Wspomagania Projektowania Informatyka Stosowana Semestr 1. Podstawowe obliczenia w programie SciLab 13 listopad 2012 slajd 26 Ćwiczenie Zdeklaruj wektory o współczynnikach stałych logicznych ● ● a=[ T b=[ F T T F F T ], T]. Wyświetl ● wektor przeciwny do a ● koniunkcję a i b ● alternatywę a i b ● koniunkcję a i wektora przeciwnego do b Instytut Konstrukcji Budowlanych Zakład Komputerowego Wspomagania Projektowania Informatyka Stosowana Semestr 1. Podstawowe obliczenia w programie SciLab 13 listopad 2012 slajd 27 Ćwiczenie Zdeklaruj wektory o współczynnikach stałych logicznych ● ● a=[ T b=[ F T T F F T ], T]. Wyświetl ● wektor przeciwny do a ● koniunkcję a i b ● alternatywę a i b ● koniunkcję a i wektora przeciwnego do b -->a=[ %T %T %F %T ] a = ! T T F T ! -->b=[%F %T %F %T] b = ! F T F T ! -->~a ans = ! F F T F ! Instytut Konstrukcji Budowlanych Zakład Komputerowego Wspomagania Projektowania Informatyka Stosowana Semestr 1. Podstawowe obliczenia w programie SciLab 13 listopad 2012 slajd 28 Ćwiczenie Zdeklaruj wektory o współczynnikach stałych logicznych ● ● a=[ T b=[ F T T F F T ], T]. Wyświetl ● wektor przeciwny do a ● koniunkcję a i b ● alternatywę a i b ● koniunkcję a i wektora przeciwnego do b -->a=[ %T %T %F %T ] a = ! T T F T ! -->b=[%F %T %F %T] b = ! F T F T ! -->a&b ans = ! F T F T ! -->a|b ans = ! T T F T ! -->~a ans = ! F F T F ! -->a & ~b ans = ! T F F F ! Instytut Konstrukcji Budowlanych Zakład Komputerowego Wspomagania Projektowania Informatyka Stosowana Semestr 1. 13 listopad 2012 Podstawowe obliczenia w programie SciLab slajd 29 Wykorzystanie wbudowanego edytora Instytut Konstrukcji Budowlanych Zakład Komputerowego Wspomagania Projektowania Informatyka Stosowana Semestr 1. Podstawowe obliczenia w programie SciLab 13 listopad 2012 slajd 30 Definiowane funkcje użytkownika Funkcja - przyporządkowanie argumenty Obliczenie wyniku x y wynik z Definiujemy: • nagłówek funkcji • nazwa funkcji, • lista argumentów • oczekiwane wyniki •sposób obliczenia funkcji – algorytm wraz z instrukcją podstawienia • Instytut Konstrukcji Budowlanych Zakład Komputerowego Wspomagania Projektowania Informatyka Stosowana Semestr 1. 13 listopad 2012 Podstawowe obliczenia w programie SciLab slajd 31 Definiowane funkcje użytkownika funkcja obliczająca przekątną prostokąta function [c] = przekatna(a,b) c = sqrt(a^2+b^2) endfunction Instytut Konstrukcji Budowlanych Zakład Komputerowego Wspomagania Projektowania Informatyka Stosowana Semestr 1. Podstawowe obliczenia w programie SciLab 13 listopad 2012 slajd 32 Definiowane funkcje użytkownika funkcja obliczająca przekątną prostokąta function [c] = przekatna(a,b) c = sqrt(a^2+b^2) endfunction Load into Sclilab przesłanie do interpretera całości skryptu Evaluate selection przesłanie do interpretera zaznaczonego fragmentu skryptu --> function [c]=przekatna(a,b), c=sqrt(a^2+b^2), endfunction, -->przekatna(3,4) ans = 5. Instytut Konstrukcji Budowlanych Zakład Komputerowego Wspomagania Projektowania Informatyka Stosowana Semestr 1. 13 listopad 2012 Podstawowe obliczenia w programie SciLab slajd 33 Przykład Zdefiniować w edytorze funkcję dokonującą zamiany współrzędnych biegunowych na kartezjańskie Zapisać zawartość edytora do pliku ~/biegun.sci Obliczyć współrzędne kartezjańskie punktu odległego od środka układu współrzędnych o wielkość = 1, przy nachyleniu prostej łączącej punkt z początkiem układu współrzędnych pod kątem 60 stopni Instytut Konstrukcji Budowlanych Zakład Komputerowego Wspomagania Projektowania Informatyka Stosowana Semestr 1. 13 listopad 2012 Podstawowe obliczenia w programie SciLab slajd 34 Przykład Zdefiniować w edytorze funkcję dokonującą zamiany współrzędnych biegunowych na kartezjańskie Zapisać zawartość edytora do pliku ~/biegun.sci Obliczyć współrzędne kartezjańskie punktu odległego od środka układu współrzędnych o wielkość = 1, przy nachyleniu prostej łączącej punkt z początkiem układu współrzędnych pod kątem 60 stopni function [x,y]=biegun(r,fi) x=r*cos(fi); y=r*sin(fi); endfunction -->[a,b]=biegun(1,%pi/3) b = 0.8660254 a = 0.5 Instytut Konstrukcji Budowlanych Zakład Komputerowego Wspomagania Projektowania Informatyka Stosowana Semestr 1. 13 listopad 2012 Podstawowe obliczenia w programie SciLab slajd 35 Ćwiczenie Przy użyciu zdefiniowanych funkcji przekatna i biegun wykonać ● ● ● ● ● Podstaw a=3, b=5 Oblicz przekątną pr prostokątu o bokach a,b Znajdź współrzędne kartezjańskie punktu określonego współrzędnymi biegunowymi : Promień jest równy przekątnej prostokąta o bokach a,b Kąt fi jest równy kątowi nachylenia przekątnej prostokąta o bokach a,b do boku a (skorzystaj z funkcji acos() lub asin() ) Instytut Konstrukcji Budowlanych Zakład Komputerowego Wspomagania Projektowania Informatyka Stosowana Semestr 1. 13 listopad 2012 Podstawowe obliczenia w programie SciLab slajd 36 Ćwiczenie Przy użyciu zdefiniowanych funkcji przekatna i biegun wykonać ● ● ● ● ● Podstaw a=3, b=5 -->a=3; b=5 b = 5. Oblicz przekątną pr prostokątu o bokach a,b -->pr=przekatna(a,b) pr = 5.8309519 Znajdź współrzędne kartezjańskie punktu określonego współrzędnymi biegunowymi : -->fi=acos(a/pr) fi = 1.0303768 Promień jest równy przekątnej prostokąta o bokach a,b Kąt fi jest równy kątowi nachylenia przekątnej prostokąta o bokach a,b do boku a (skorzystaj z funkcji acos() lub asin() ) Instytut Konstrukcji Budowlanych Zakład Komputerowego Wspomagania Projektowania -->[x,y]=biegun(pr,fi) y = 5. x = 3. Informatyka Stosowana Semestr 1. 13 listopad 2012 Podstawowe obliczenia w programie SciLab slajd 37 Definiowane funkcje użytkownika funkcja dokonuje zamiany współrzędnych biegunowych na kartezjańskie użycie polecenia deff() deff('[x,y]=biegun(r,fi)','x=r*cos(fi);y=r*sin(fi)') użycie zapisu function ... endfunction function [x,y]=biegun(r,fi) x=r*cos(fi); y=r*sin(fi); endfunction Instytut Konstrukcji Budowlanych Zakład Komputerowego Wspomagania Projektowania Informatyka Stosowana Semestr 1. 13 listopad 2012 Podstawowe obliczenia w programie SciLab slajd 38 Ćwiczenie Określić funkcję sfera (przy użyciu polecenia deff), dokonującą zamiany współrzędnych sferycznych na kartezjańskie wg wzorów: x = r * cos(fi) * sin(psi) y = r * sin(fi) * sin(psi) z = r * cos(psi) Wylicz współrzędne kartezjańskie dla punktu podanego we współrzędnych sferycznych (1, π/3, π/4 ) Instytut Konstrukcji Budowlanych Zakład Komputerowego Wspomagania Projektowania Informatyka Stosowana Semestr 1. 13 listopad 2012 Podstawowe obliczenia w programie SciLab slajd 39 Ćwiczenie Określić funkcję sfera (przy użyciu polecenia deff), dokonującą zamiany współrzędnych sferycznych na kartezjańskie wg wzorów: x = r * cos(fi) * sin(psi) y = r * sin(fi) * sin(psi) z = r * cos(psi) Wylicz współrzędne kartezjańskie dla punktu podanego we współrzędnych sferycznych (1, π/3, π/4 ) -->deff('[x,y,z]=sfera(r,fi,psi)','x = r*cos(fi)*sin(psi);... y = r*sin(fi)*sin(psi); z = r*cos(psi)') Instytut Konstrukcji Budowlanych Zakład Komputerowego Wspomagania Projektowania Informatyka Stosowana Semestr 1. 13 listopad 2012 Podstawowe obliczenia w programie SciLab slajd 40 Ćwiczenie Określić funkcję sfera (przy użyciu polecenia deff), dokonującą zamiany współrzędnych sferycznych na kartezjańskie wg wzorów: x = r * cos(fi) * sin(psi) y = r * sin(fi) * sin(psi) z = r * cos(psi) Wylicz współrzędne kartezjańskie dla punktu podanego we współrzędnych sferycznych (1, π/3, π/4 ) -->deff('[x,y,z]=sfera(r,fi,psi)','x = r*cos(fi)*sin(psi);... y = r*sin(fi)*sin(psi); z = r*cos(psi)') -->[x,y,z]=sfera(1,%pi/3,%pi/4) z = 0.7071068 y = 0.6123724 x = 0.3535534 Instytut Konstrukcji Budowlanych Zakład Komputerowego Wspomagania Projektowania Informatyka Stosowana Semestr 1. 13 listopad 2012 Podstawowe obliczenia w programie SciLab slajd 41 Definiowane funkcje – wykorzystanie bibliotek ● ● ● Deklaracja funkcji – oddzielne pliki (rozszerzenie *.sci ) Wczytanie funkcji do SciLaba Po ponownym uruchomieniu SciLaba, sprawdzić czy można skorzystać z funkcji biegun() -->exists('biegun') ans = 0. Wyświetlić na ekranie zawartość pliku /pub/programy/biegun.sci ● ● ● ● Wczytać definicję funkcji poleceniem Getf (menu File) Ponownie sprawdzić czy można skorzystać z funkcji biegun() Przeliczyć współrzędne biegunowe (2, π/3) na współrzędne kartezjańskie Instytut Konstrukcji Budowlanych Zakład Komputerowego Wspomagania Projektowania Informatyka Stosowana Semestr 1. 13 listopad 2012 Podstawowe obliczenia w programie SciLab slajd 42 Definiowane funkcje – wykorzystanie bibliotek Instytut Konstrukcji Budowlanych Zakład Komputerowego Wspomagania Projektowania Informatyka Stosowana Semestr 1. 13 listopad 2012 Podstawowe obliczenia w programie SciLab slajd 43 Definiowane funkcje – wykorzystanie bibliotek Instytut Konstrukcji Budowlanych Zakład Komputerowego Wspomagania Projektowania Informatyka Stosowana Semestr 1. 13 listopad 2012 Podstawowe obliczenia w programie SciLab slajd 44 Skrypty Wyświetlić na ekranie zawartość pliku lab_scilab_1.dem znajdującego się w katalogu /pub/programy Wczytać skrypt lab_scilab_1.dem (z menu FILE wybrać pozycję FILE OPERATIONS, wskazać plik, wybrać EXEC i kliknąć Ok) Wykonać kolejne, zapisane polecenia naciskając klawisz [ENTER] Instytut Konstrukcji Budowlanych Zakład Komputerowego Wspomagania Projektowania Informatyka Stosowana Semestr 1. 13 listopad 2012 Podstawowe obliczenia w programie SciLab slajd 45 Skrypty (exec file) Funkcja mode(k) stosowana międzu innymi w plikach typu 'exec', decyduje w zależności od wartości parametru k o sposobie wyswietlania informacji podczas wykonywania skryptów ● ● ● k = 1 : (wartość domyslna) polecenia pliku 'exec' wykonywane są w sposób nie interaktywny (ciągły), pokazując wyniki na ekranie k = -1 : polecenia pliku 'exec' wykonywane są w sposób ciągły, nie pokazując wyników wykonania na ekranie k = 7 : wykonywanie skryptu w sposób interaktywny, każda instrukcja wymaga potwierdzenia (klawiszem ENTER) Instytut Konstrukcji Budowlanych Zakład Komputerowego Wspomagania Projektowania Informatyka Stosowana Semestr 1. 13 listopad 2012 Podstawowe obliczenia w programie SciLab slajd 46 Ćwiczenie Przy użyciu dowolnego, dostępnego edytora utwórz skrypt moje_funkcje.sci (zapisując go w katalogu domowym) i zdefiniuj w nim następujące funkcje: kula(r) - wynikiem wektor [s, v], gdzie s jest powierzchnią kuli o promieniu r, v jej objętością. Przetestuj działanie skryptu obliczając: kula(2) Instytut Konstrukcji Budowlanych Zakład Komputerowego Wspomagania Projektowania Informatyka Stosowana Semestr 1. 13 listopad 2012 Podstawowe obliczenia w programie SciLab slajd 47 Ćwiczenie Przy użyciu dowolnego, dostępnego edytora utwórz skrypt moje_funkcje.sci (zapisując go w katalogu domowym) i zdefiniuj w nim następujące funkcje: kula(r) - wynikiem wektor [s, v], gdzie s jest powierzchnią kuli o promieniu r, v jej objętością. function [s,v]=kula(r) s=4*%pi*r^2; v=4/3*%pi*r^3; endfunction [s,v]=kula(2) v = 33.510322 s = 50.265482 Przetestuj działanie skryptu obliczając: kula(2) Instytut Konstrukcji Budowlanych Zakład Komputerowego Wspomagania Projektowania Informatyka Stosowana Semestr 1. 13 listopad 2012 Podstawowe obliczenia w programie SciLab slajd 48 Ćwiczenie W skrypcie moje_funkcje.sci i zdefiniować funkcje jedynki(n,m), wynikiem działania funkcji ma być macierz An x m wypełniona jedynkami Przetestuj działanie skryptu obliczając: jedynki(6,6) Instytut Konstrukcji Budowlanych Zakład Komputerowego Wspomagania Projektowania Informatyka Stosowana Semestr 1. 13 listopad 2012 Podstawowe obliczenia w programie SciLab slajd 49 Ćwiczenie W skrypcie moje_funkcje.sci i zdefiniować funkcje jedynki(n,m), wynikiem działania funkcji ma być macierz An x m wypełniona jedynkami function A = jedynki(n,m) A = ones(n,m); endfunction Przetestuj działanie skryptu obliczając: jedynki(6,6) Instytut Konstrukcji Budowlanych Zakład Komputerowego Wspomagania Projektowania Informatyka Stosowana Semestr 1. 13 listopad 2012 Podstawowe obliczenia w programie SciLab slajd 50 Ćwiczenie W skrypcie moje_funkcje.sci i zdefiniować funkcje jedynki(n,m), wynikiem działania funkcji ma być macierz An x m wypełniona jedynkami uzupełnij funkcję o instrukcje które ● ● ● k-ty wiersz macierzy A wypełnią zerami ( k dodać do listy argumentów), ostatni wiersz macierzy A wypełnią kolejnymi liczbami naturalnymi (rozpoczynając od jedynki) ostatnią kolumnę macierzy A, z wyłączeniem elementu w ostatnim wierszu) wypełnią kolejnymi liczbami naturalnymi (rozpoczynając od jedynki) function A = jedynki(n,m) A = ones(n,m); endfunction Przetestuj działanie skryptu obliczając: jedynki(6,6) Instytut Konstrukcji Budowlanych Zakład Komputerowego Wspomagania Projektowania Informatyka Stosowana Semestr 1. 13 listopad 2012 Podstawowe obliczenia w programie SciLab slajd 51 Ćwiczenie W skrypcie moje_funkcje.sci i zdefiniować funkcje jedynki(n,m), wynikiem działania funkcji ma być macierz An x m wypełniona jedynkami uzupełnij funkcję o instrukcje które ● ● ● k-ty wiersz macierzy A wypełnią zerami ( k dodać do listy argumentów), ostatni wiersz macierzy A wypełnią kolejnymi liczbami naturalnymi (rozpoczynając od jedynki) ostatnią kolumnę macierzy A, z wyłączeniem elementu w ostatnim wierszu) wypełnią kolejnymi liczbami naturalnymi (rozpoczynając od jedynki) function A = jedynki(n,m,k) A = ones(n,m); A(k,1:m)= 0 A(n,1:m)= [1:m] A(1:n-1,m)= [1:n-1]' endfunction Przetestuj działanie skryptu obliczając: jedynki(6,6) Instytut Konstrukcji Budowlanych Zakład Komputerowego Wspomagania Projektowania Informatyka Stosowana Semestr 1. 13 listopad 2012 Podstawowe obliczenia w programie SciLab slajd 52 Ćwiczenie W skrypcie moje_funkcje.sci i zdefiniować następujące funkcje: sin( x + y ) f ( x, y , z ) = cos 2 ( z + xy ) + 1 delta (a, b, c) = b 2 − 4ac Przetestuj działanie skryptu obliczając: f(1,2,3), delta(1,3,1) Instytut Konstrukcji Budowlanych Zakład Komputerowego Wspomagania Projektowania Informatyka Stosowana Semestr 1. 13 listopad 2012 Podstawowe obliczenia w programie SciLab slajd 53 Ćwiczenie W skrypcie moje_funkcje.sci i zdefiniować następujące funkcje: sin( x + y ) f ( x, y , z ) = cos 2 ( z + xy ) + 1 delta (a, b, c) = b 2 − 4ac function [p]=f(x,y,z) p=sin(x+y)/(cos(z+x*y)^2+1) endfunction function [d]=delta(a,b,c) d=b^2-4*a*c endfunction -->f(1,2,3) ans = 0.1306105 -->delta(1,3,1) ans = 5. Przetestuj działanie skryptu obliczając: f(1,2,3), delta(1,3,1) Instytut Konstrukcji Budowlanych Zakład Komputerowego Wspomagania Projektowania Informatyka Stosowana Semestr 1.