Metody numeryczne druk

background image

Metody  numeryczne-­‐to  dział  matematyki  stosowanej  umożliwiający  rozwiązywanie  różnorodnych  problemów  z  dziedziny  
techniki,  medycyny,  ekonomii.  Matlab-­‐  jest  programem  przeznaczonym  do  wykonania  różnorodnych  obliczeń  numerycznych.  
F.  generujące  macierz:  eye(n,m)-­‐macierz  jednostkowa  o  rozm.  nxm;  ones(n,m)-­‐macierz  o  rozm.  nxm  wszystkie  elem.  równe  
1;  zeros(n,m)-­‐elem.  równe  zero.  A=diag(x)-­‐tworzenie  macierz  przekątnej  ze  składnikami  wektora  x  na  głównej  przekątnej.  
x=diag(A)-­‐tworzenie  wektora  x  z  elementami  znajdującymi  się  na  przekątnej.  inv(A)-­‐macierz  odwrotna  do  A.  tril(A)-­‐utworzy  
z  macierzy  A  macierz  3-­‐kątnej  dolnej(wyzerowanie  elem.  leżących  powyżej  gł.  przekątnej).  triu(A)-­‐||-­‐  poniżej  głównej  
przekątnej.  disp(A)-­‐wyświetla  zawartość  macierzy  A.  Typy  fundamentalne-­‐tworzenie  zmiennych  wybitnego  typu  poprzez  
funkcje:  double,  spense,  char,  sMnct,  unit  8.  Typy  wielowymiarowe-­‐elementy:  liczby,  znaki,  bloki/struktury,  dostęp  do  
danego  elementu  macierzy  po  podaniu  nr  wierszy  i  nr  kolumny.  Typy  znakowe:  łańcuchy-­‐wektory  składające  się  ze  znaków  
definiowanych  za  pomocą  apostrofów-­‐  s=’student’;  tablice  znakowe-­‐liczba  znaków  w  wierszach  musi  być  taka  sama.  
Dwukropek:  A(:,j)-­‐wypisanie  j-­‐tej  kolumny  macierzy  A;  A(i,:)-­‐wypisanie  i-­‐tego  wiersza  macierzy  A;  A(j:k)-­‐wypisanie  w  
jednym  wierszu  elementów  macierzy  A,  począwszy  od  elem.  o  indeksie  j,  aż  do  indeksu  k,  gdy  j>k  to  powstanie  wektor  
pusty;  sum(A(:,end))-­‐suma  elementów  ostatniej  kolumny  A;  A(i,:)=[]-­‐usuwanie  i-­‐tego  wiersza  macierzy  A;  A(:,j)=[]-­‐usuwanie  
j-­‐tej  kolumny  macierzy  A.  M-­‐pliki  skryptowe:  zawierają  ciąg  poleceń  własnych,  pisanych  przez  użytkownika  i  jego  algorytmy  
obliczeniowe;  działają  tylko  na  zmiennych  dostępnych  w  przestrzeni  roboczej(nie  pobierają  żadnych  argumentów  
wejściowych  i  nie  zwracają  arg.  wyjściowych);  wywołanie-­‐poprzez  podanie  jego  nazwy,  jeśli  skrypt  znajduje  się  w  bieżącym  
katalogu;  używa  się  w  nich  poleceń  umożliwiających  interaktywną  współpracę  programu  z  użytkownikiem;  wadą  m-­‐pliku  
skryptowego  jest  możliwość  powstania  konfliktu  nazw  zmiennych  w  przestrzeni  roboczej;  m-­‐pliki  skryptowe  traktujemy  jako  
etap  wstępny  w  przygotowaniu  m-­‐pliku  funkcyjnego;  wywołanie  komentarza(opis  działania);  m-­‐plik  działa  poprawnie  jeśli  
zmienne  istnieją  już  w  przestrzeni  roboczej.  M-­‐pliki  funkcyjne:  zawierają  funkcje  tworzone  przez  użytkownika;  rozpoczynają  
się  od  słowa  kluczowego  funcMon,  następnie  nazwa  funkcji  i  lista  argumentów  wejściowych;  nazwa  funkcji  musi  być  taka  
sama  jak  nazwa  M-­‐pliku(bez  rozszerzenia);  działają  na  zmiennych  lokalnych  i  globalnych.  Zmienne  lokalne  i  globalne:  
argumenty  wejściowe  i  wprowadzone  zmienne  w  M-­‐pliku  funkcyjnym  mają  charakter  lokalny  w  ciele  funkcji  wielkości  te  nie  
są  przechowywane  w  przestrzeni  roboczej  z  chwilą  zakończenia  wykonywania  funkcji;  istniejące  zmienne  w  przestrzeni  
roboczej  nie  są  dostępne  w  ciele  funkcji.  inst2str-­‐konwersja  liczb  całkowitych  w  łańcuch.  eval-­‐wykonanie  łańcucha  jako  
poleceń  M-­‐pliku.  Funkcja  inline:  f1=inline(‘sin(2*t)+sin(t)’);y=f1(pi).  Formaty  liczb:  format  short-­‐reprezentacja  
stałoprzecinkowa  pięciocyfrowa;  format  long-­‐  pietnastocyfrowa;  format  short  e-­‐zmiennoprzecinkowa  pięciocyfrowa;  format  
long  e
-­‐15-­‐cyfrowa;  format  short  g-­‐najlepsza  stała  zmiennoprzecinkowa;  format  long  g-­‐-­‐||-­‐;  format  rad-­‐ułamek  dziesiętny  za  
pomocą  małych;  format  hex-­‐16-­‐stkowe  wyświetla  zawartosć  komórek  pamięci  zawierajacych  daną  liczbę;  format  +  -­‐  
wyświetla  +  dla  dodatnich  i  –  dla  ujemnych;  format  bank-­‐format  walutowy  część  całkowita  do  2  miejsca  po  przecinku.  poly-­‐
wyznacza  współczynniki  wielomianu;  p1=[a,b,c,d]  r=roots(p1)-­‐oblicza  pierwiastki  wielomianu  y=polyval(p1,r)-­‐oblicza  
wartość  wielomianu  dla  podanego  argumentu  (dla  dowolnego  x);  fzero(‘F’,x0)-­‐oblicza  miejsca  zerowe  funkcji  o  nazwie  F,  
pierwiastki  funkcji  f  w  postaci  łańcucha.  Dekompozycja:1.  Faktoryzacja  Cholesky’ego  dla  macierzy  symetrycznych  dodatnio  
określonych  (chol).  2.  Eliminacja  Gaussa  dla  macierzy  kwadratowych  3.  Ortogonalizacja  macierzy  prostokątnych.  Rząd  
macierzy
-­‐to  liczba  liniowa  niezależnych  wierszy/kolumn  macierzy.  rank-­‐oblicza  rząd  macierzy.  Problemy  wyznaczania  
wartości  własnych  i  wektorów  własnych
:  brak  dokładnych  i  szybkich  metod;  przy  wyborze  metody  należy  uwzględnić  cechy  
macierzy,  czy  poszukujemy  wartości  rzeczywistych  czy  zespolonych.  eig-­‐oblicza  wartości  i  wektory  własne  macierzy.  Macierz  
Hessenberga
-­‐nazywamy  macierz  będącą  sumą  macierzy  3-­‐diagonalną  i  trójkątnej  górnej;  każda  macierz  kwadratowa  jest  
podobna  do  macierzy  Hessenberga  (ma  takie  same  wartości  własne).  Algorytm:  H=hess(A)  H:[Q,R]=gr(H)  H=R*Q    

X=A\B  jest  

równoważne

   

X2=inv(A)*B  jest  równoważne

   

X1=A^(-­‐1)*B  

 TYPY  DANYCH    -­‐podstawowym  typem  danych  w  MATLABie  jest  

tablica(macierz)  o  elementach  rzeczywistych  lub  zespolonych  -­‐wszystkie  zmienne  w  MATLABie  są  traktowane  jak  macierze  -­‐  
wektory  i  skalary  są  szczególnymi  przypadkami  macierzy  -­‐  każda  macierz  jest  identyfikowana  przez  nazwę  zmiennej  -­‐  nazwy  
zmiennych  rozpoczynają  się  od  litery,  a  po  niej  mogą  być  litery,  cyfry  i  znaki  podkreślenia  -­‐  pamiętanych  jest  31  pierwszych  
znakówNAZWY  I  DEFINICJE  ZMIENNCYCH  -­‐MATLAB  rozróżnia  duże  i  małe  litery  -­‐  polecenia  standardowe  należy  pisać  
małymi  literami  -­‐  do  nazywania  własnych  programów  i  zmiennych  można  używać  
małych  i  dużych  liter    -­‐  definiowanie  typu  i  wymiarów  macierzy  odbywa  się  automatycznie  -­‐  
przez  rozpoznanie  rodzaju  wpisanych  wartości  -­‐  MATLAB  generuje  zmienną  automatycznie  podczas  jej  pierwszego  użycia  -­‐  
aby  sprawdzić  wartość  istniejącej  już  zmiennej,  należy  w  wierszu    
poleceń  wpisać  jej  nazwę.  -­‐po  wydaniu  polecenia  i  naciśnięciu  klawisza  Enter  Matlab  natychmiast    
wyświetla  jego  wynik  -­‐  umieszczenie  po  poleceniu  średnika  spowoduje  wykonanie  obliczeń,    
ale  bez  wyświetlania  wyniku  -­‐  polecenie  powinno  się  mieścić  w  jednym  wierszu  -­‐  kilka  poleceń  w  jednym  wierszu  
oddzielamy  od  siebie  przecinkami  lub  średnikami.  
FUNKCJE  MATEMATYCZNE  abs  -­‐  wartość  bezwzględna    
funkcje  trygonometryczne,  hiperboliczne  i  odwrotne:  exp  -­‐  e  do  x;  fix  -­‐  zaokrągla  w  stronę  zera;  floor-­‐  zaokrągla  w  dół;  log  -­‐  
logarytm  naturalny;  log2  -­‐  logarytm  o  podstawie  2;  round  -­‐  zaokrągla  do  najbliższej  całkowitej;  sign  –  znak;  sqrt-­‐  pierwiastek  
MACIERZE  eye(n)  –  macierz  jednostkową  nxn;  ones(n)  -­‐  macierz  nxn  o  elementach  równych  1  ;  zeros(n)  -­‐  macierz  zerowa  
nxn;  rand(n)  -­‐  macierz  nxn  wypełniona  liczbami  pseudolosowymi  z    
przedziału  <0,1>  o  rozkładzie  jednostajnym;  A=diag(x)  -­‐  macierz  przekątniowa  A  ze  składnikami  wektora  x  na  głównej  
przekątnej;  x=diag(A)  -­‐  wektor  x  utworzony  z  elementów  znajdujących  się  na    
głównej  przekątnej  macierzy  A;  inv(A)  -­‐  macierz  odwrotna  do  A  
STAŁE  MATEMATYCZNE  pi  -­‐  przybliżenie  wartości;  eps  -­‐  względna  dokładność  zmiennoprzecinkowa  
i  lub  j  -­‐  
 pierwiastek  z  liczby  –1  nieskończoność  (ang.  infinity);  jest  rezultatem  operacji,  Inf  lub  inf  -­‐  która  przekracza  zakres  
arytmetyki  komputera,  np.dzielenie  przez  0;  NaN  lub  nan    -­‐  nie  liczba;  jest  wynikiem  matematycznie  niezdefiniowanych  

background image

operacji  OPERACJE  NA  WEKTORACH  max(x)    -­‐  zwraca  największy  element  wektora  x;  min(x)  -­‐  zwraca  najmniejszy  element  
wektora  x;  sum(x)  -­‐  zwraca  sumę  elementów  wektora  x;  prod(x)  -­‐  zwraca  iloczyn  elementów  wektora  x;  mean(x)  -­‐  zwraca  
średnią  arytmetyczną  elementów  wektora  xOPIS  WYKRESÓW  wyświetla  łańcuch  znaków  tekst  jako  opis  osi  x  aktywnego  
wykresu    -­‐  xlabel(tekst)wyświetla  łańcuch  znaków  tekst  jako  opis  osi  y  aktywnego  wykresu  -­‐  ylabel(tekst)      
włącza/wyłącza  wyświetlanie  pomocniczej  siatki  współrzędnych  -­‐  grid  on/off  
wyświetla  legendę;  łańcuch  znaków  s1  jest  opisem  odnoszącym  się  do  pierwszego  wykresu,s2-­‐drugiego,...  -­‐  legend(s1,s2,..)  
wyświetla  łańcuch  znaków  tekst  w  miejscu  określonym  przez  współrzędne  x,y    -­‐  text(x,y,tekst)  
wyświetla  łańcuch  znaków  tekst  jako  tytuł  aktywnego  wykresu  -­‐  itle(tekst)  
rysuje  wykres  y(x)  z  określeniem  dokładnego  wyglądu  linii;  s-­‐łańcuch  zawierający  kody  -­‐  plot(x,y,s)  
rysuje  wykres  elementów  wektora  y,  przyjmując  x=1:length(y)  -­‐  plot(y)  
rysuje  wykres  elementów  wektora  y  względem  elementów  wektora  x  –  plot(x,y)  
OPERATORY  PORÓWNANIA  a==b  równy;  a~=  nierówny;  a<b  mniejszy;  a>b  większy;  a<=b  mniejszy  lub  równy;  a>=b  większy  
lub  równy  aM-­‐PLIKI  -­‐  własne  programy  (wieloliniowe)  można  pisać  w  edytorze  MATLABa  lub  w  notatniku                              -­‐  
zapisywane  są  do  plików  z  rozszerzeniem  *.m  -­‐  uruchamiane  (wywoływane)  są  przez  wpisanie  nazwy  pliku  (bez  
rozszerzenia  .m)  w  oknie  komend.  Rozróżniamy:  skrypty  -­‐  operujące  na  zmiennych  przestrzeni  roboczej  Matlaba;  funkcje  -­‐  
posiadające  zmienne  lokalneSKRYPTY  -­‐skrypt  jest  plikiem  tekstowym  o  rozszerzeniu  .m  (m-­‐plikiem),  zawierającym  polecenia  
i  instrukcje  Matlaba  -­‐  skrypty  nie  pobierają    żadnych  argumentów  wejściowych  ani  nie  zwracają  argumentów  wyjściowych  -­‐  
mogą  tylko  operować  na  zmiennych  dostępnych  w  przestrzeni    
roboczej  Matlaba.FUNKCJE  Pierwszy  wiersz  m-­‐pliku  musi  zawierać  definicję  nowej  funkcji:  -­‐  słowo  kluczowe  funcMon  
-­‐  nazwę  funkcji;  -­‐  musi  być  taka  sama,  jak  nazwa  pliku  (bez  rozszerzenia  .m),  w  którym  znajduje  się  funkcja;  -­‐  wartości  funkcji  
(lista  argumentów  wyjściowych);  -­‐  parametry  funkcji  (lista  argumentów  wejściowych).  
PIERWIASTKI  WIELOMIANU  Wielomian  n-­‐tego  stopnia  ma  ogólną  postać:    W(x,a)=a

1

x

n

+a

2

x

n-­‐1

+...+a

nx

+a

n+1

;  a=poly(  r  )  -­‐  

zwraca  wektor  a  współczynników  a

1

,  a

2  

a

3

,  ...,  a

n+1  

wielomianu  W(x,a)  o  pierwiastkach  podanych  w  postaci  wektora  

r=[r

1

,r

2

,  ...,  r

n

];  p=polyval(a,x0)  -­‐  zwraca  wartość  wielomianu  W(x,a)  w  punkcie  x=x0;    współczynniki  wielomianu  określa  

wektor  a,  przy  czym  muszą  być  one  uszeregowane  w  kolejności  od  najbardziej  znaczącego  (a

1

)  do  wyrazu  wolnego  (a

n+1)

 

r=roots(a)  -­‐  wraca  wektor  r  pierwiastków  wielomianu  W(x,a);  a  jest  wektorem  współczynników  wielomianu  a

1

,  a

2

,  a

3

,  ...,  a

n

+1

;  

x1=fzero(f,x0)  -­‐  zwraca  miejsce  zerowe  x1  nieliniowej  funkcji  jednej  zmiennej  f(x);  argument  x0  określa  początkowe  

przybliżenie  wartości  szukanego  miejsca  zerowego;  f  jest  łańcuchem  znaków  określającym  funkcję  Matlaba.  rank(A)-­‐  oblicza  
rząd  macierzy  A

;  

det(A)  -­‐  oblicza  wyznacznik  macierzy  kwadratowej  A

;  

norm(A)  -­‐  oblicza  normę  macierzy  A

;  

cond(A)  -­‐  

oblicza  liczbę  warunkową  macierzy  A

;  

L=eig(A)  -­‐  zwraca  wektor  L,  zawierający  wartości  własne  macierzy  

 

kwadratowej  A;  x=inv(A)*b  lub  x=b/A  -­‐  rozwiązuje  układ  równań  A*x=b  (b-­‐wektor  
kolumnowy)PRZYKŁAD  z=5+10i  →z=5.0000+10.0000i;  z1=real(z)  →  z1=5  –  l.  rzeczywista;  z2  =  imag(z)  →  z2  =  10  –  l.urojona  

PRZYKŁAD  x=[-­‐10:1:10];  f=inline('(1./(x-­‐0.3).^2+0.01)+(1./(x-­‐0.9).^2+0.04)-­‐6');  y=f(x);  z=fzero(f,3);  plot(x,y)  

PRZYKŁAD  a  =1  b  =2  c  =3;  K>>  W=2*a.^(3)+3*b.^(2)+4*c;  W  =  26;  K>>  r=roots([a,b,c])  
r  =-­‐1.0000  +  1.4142i;  -­‐1.0000  -­‐  1.4142i;  K>>  p=poly(r);  p  =1.0000        2.0000        3.0000


Wyszukiwarka

Podobne podstrony:
Metody numeryczne druk
Metody numeryczne ściąga1 druk
Metody numeryczne w6
metoda siecznych, Elektrotechnika, SEM3, Metody numeryczne, egzamin metody numeryczn
MN energetyka zadania od wykładowcy 09-05-14, STARE, Metody Numeryczne, Część wykładowa Sem IV
METODA BAIRSTOWA, Politechnika, Lab. Metody numeryczne
testMNłatwy0708, WI ZUT studia, Metody numeryczne, Metody Numeryczne - Ćwiczenia
Metody numeryczne Metoda węzłowa
Metody numeryczne, wstep
metody numeryczne w4
Metody numeryczne PDF, MN macierze 01 1
Metody numeryczne w11
metody numeryczne i w9
Metody numeryczne PDF, MN raphson 11
metody numeryczne w9

więcej podobnych podstron