Matlab (1)
Transkrypt
Matlab (1)
Matlab (1) Matlab to pakiet do obliczeń naukowych, tworzenia wykresów, analiz układów dynamicznych itp. Podstawowa praca w środowisku odbywa się sposobem interakcyjnym, w oknie poleceń (Command Window) wpisujemy pojedyncze instrukcje obliczeniowe i na bieżąco otrzymujemy wyniki. Domyślne środowisko (Desktop Layout) składa się z okna Command Window, w którym wpisujemy kolejne polecenia, okna Command History (historia utworzonych poleceń), ewentualnie okna z zakładkami Workspace (obszar roboczy - lista zainicjowanych przez użytkownika zmiennych i ich wartości) i Current Directory (zawartość katalogu roboczego). Sposoby obsługi: • dialog - wpisywanie kolejnych poleceń w oknie Command Window, • praca wsadowa – wykonywanie napisanych skryptów zawierających ciągi poleceń. Wykonać i zanalizować odpowiedzi na przykładowe instrukcje: a=1.2 %przypisanie (nadanie wartości) zmiennej - uwaga: kropka dziesiętna! % po tym znaku komentarz - ignorowany przez MATLAB’a b=1.5E5 %przypisanie wartości w formacie naukowym (wykładniczym) – 1.5E5 to 150000 3*5 % przypisanie zmiennej domyślnej ans (answer) c=a+b %przypisanie wartości prostego wyrażenia c %prosty sposób wyświetlenia wartości zmiennej c disp(a) %wyprowadzenie wartości zmiennej a a=sin(pi/4)+b %przypisanie wartości prostego wyrażenia Uwagi: Operatory działań jak w Excelu: + – * / ^. Potęgowanie wykonywane przed zmianą znaku (-2^2= -4 ale 2^-1=0,5). Nazwy zmiennych, muszą się zaczynać od litery, a potem dowolny ciąg liter, cyfr i znaków _. W nazwach zmiennych istotne są duże i małe litery. Edycja ewentualnego błędu polecenia po przewinięciu pamięci poleceń - przy pomocy strzałek klawiatury ↓↑. Wybrane funkcje arytmetyczne sqrt(w) – pierwiastek kwadratowy abs(w) – wartość bezwzględna exp(w) – funkcja wykładnicza (ew) power(a, b) – potęga (ab) log(w) – logarytm naturalny log10(w) – logarytm dziesiętny sin(w), cos(w), tan(w) – funkcje trygonometryczne (w – radiany) sind(w), cosd(w), tand(w) – funkcje trygonometryczne (w – stopnie) rem(x, y) – reszta z dzielenia x/y fix(w), ceil(w), floor(w), round(w) – funkcje zaokrągleń gdzie: w, a, b, x, y – dowolne wyrażenia obliczeniowe. Przykład x=3.45 y=(x^3-exp(-2*x))/(power(x,6)-2) → Inne użyteczne polecenia: help %pomoc globalna help elfun % pomoc – spis funkcji elementarnych help rem % pomoc na temat wybranej funkcji (tu: rem) format long % większa dokładność wyświetlanych wyników format short % dokładność podstawowa demo % program demonstracyjny Matlab'a clc % czyszczenie ekranu clear zmienna % usunięcie zmiennej z obszaru roboczego Zadanie: Wykonać przykładowe obliczenie wyrażenia dla wartości x=2.43: 23x − e 3 − √x − 3 Operacje na tablicach m=[1 2 3 ] %przypisanie wartości elementom macierzy (wektor wierszowy) m0= [1; 2; 1; 1; 0] % przypisanie macierzy (wektor kolumnowy) m1 = [1.1 2.1 3.55 ; -2 1 1; 1.44 0 0] %macierz kwadratowa m2=[1 1 1 1 1] m3=[1 2 3 4 5] m4 = m1 + m2 % dodanie macierzy (uwaga na wymiary i rozmiar) m5 = m4*m0 % mnożenie macierzy (uwaga na wymiary i rozmiar) m5t = m5' % macierz transponowana m5o = m5^(-1) % macierz odwrotna m5*m5o % sprawdzenie - macierz jednostkowa det(m1) % funkcja obliczenia wyznacznika macierzy kwadratowej m3(3) % dostęp do elementu macierzy (indeks) m1(2,3) % dostęp do elementu macierzy (indeksy wiersz-kolumna) Inny sposób definicji tablic: M1=0:10:90 %Uwaga: wartość_początkowa:krok:wartość_końcowa Przykład: Zinterpretować rezultat wypełnienia tablicy: M2=[M1; sin(M1*pi/180)] Zadania: 1. Wypełnić dwie macierze dwuwymiarowe (wiersze, kolumny) rozmiarze MxN, a następnie: • dodać je do siebie, • pomnożyć je przez siebie. 2. Jaki rozmiar w obu wymiarach powinny mieć macierze, żeby dozwolone było wykonanie obu operacji? 3. Zastąpić operator mnożenia * operatorem dwuznakowym .* . Zinterpretować wynik. 4. Wykonać dzielenie elementowe macierzy przez macierz wykorzystując operator ./ (obie ten sam rozmiar w obydwu wymiarach. Zinterpretować wynik. 5. Jaką macierz da się podnieść do kwadratu? Wypróbować operatory: ^ i .^ 6. Wypróbować i wyjaśnić działanie kolejnych poleceń: A=rand(5,5) B=max(A) C=max(max(A)) [i,k]=max(A) Rozwiązanie układu równań liniowych 2x + 3y – 4 z = 5 x + y – z = 3,5 -4 y + 2,5 x – z = 2 Rozwiązanie: A = [2 3 –4 ; 1 1 -1 ; 2.5 –4 –1] % Uwaga: zachować kolejność zmiennych B = [ 5 ; 3.5 ; 2] X= A^(-1)*B %wektor rozwiązań A*X %sprawdzenie – wynikiem powinien być wektor wyrazów wolnych B Pierwiastki wielomianu Funkcja roots (argumentem funkcji jest tablica współczynników [an an-1 ... a0]) Przykład: Dla równania: 5x4+x2 –2x –3 =0 roots ( [5 0 1 –2 -3] ) Zadanie: Rozwiązać samodzielnie układ równań: –x + y – 4.3 z + 2 v= 15 3x + y – v = 35 4 x + 0,5 y + z – 4.5 v = 2,2 12,5 y – z – 5 v = 12 Zmienne zespolone z1 = 5.0 + 5.0i % zmienna zespolona z2 = sqrt(-1) % jednostka urojona (pierwiastek arytmetyczny z –1) z3 = angle(z1) % kąt z4 = z3*4 k1 = angle(0+1i)*180/pi k2 = angle(1+0i)*180/pi z1o=1/z1 z4=z1*z2 log(0) log(-1) exp(1)^log(-1) %sprawdzenie Zadanie 1. Zdefiniować dwie zmienne zespolone: 4.5+4.7i –2.5 –5.6i 2. Wykonać dodawanie i mnożenie obu liczb. Przedstawić graficznie wynik dodawania dwóch liczb zespolonych w układzie kartezjańskim jako sumę dwóch wektorów.