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.

Podobne dokumenty