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.

Podobne dokumenty