Docsity
Docsity

Przygotuj się do egzaminów
Przygotuj się do egzaminów

Studiuj dzięki licznym zasobom udostępnionym na Docsity


Otrzymaj punkty, aby pobrać
Otrzymaj punkty, aby pobrać

Zdobywaj punkty, pomagając innym studentom lub wykup je w ramach planu Premium


Informacje i wskazówki
Informacje i wskazówki

Algebra liniowa - rozwiązywanie układów liniowych, Ćwiczenia z Algebra liniowa

Zadania różne do wykonania na zajęcia

Typologia: Ćwiczenia

2019/2020

Załadowany 16.07.2020

Grzegorz_Br
Grzegorz_Br 🇵🇱

4.5

(15)

98 dokumenty

Podgląd częściowego tekstu

Pobierz Algebra liniowa - rozwiązywanie układów liniowych i więcej Ćwiczenia w PDF z Algebra liniowa tylko na Docsity!

Ćwiczenie 3. MatLab : Algebra

liniowa. Rozwiązywanie układów

liniowych

Wszystko proszę zapisywać komendą diary do pliku o nazwie: imie nazwisko_

1. Definiowanie macierzy i odwoływanie się do elementów:

Definicji macierzy można dokonać na kilka sposobów: − przez wymienienie elementów, − przez wygenerowanie elementów, − przez zbudowanie z innych macierzy, − poprzez zastosowanie dwóch lub więcej wyżej wymienionych technik razem.  Elementy w wierszu macierzy muszą być oddzielane spacją lub przecinkami.  Średnik lub znak nowego wiersza kończy wiersz macierzy i powoduje przejście do następnego. Zaleca się wcześniejsze generowanie macierzy przez rezerwowanie pamięci, gdy jej rozmiar jest znany. W tym celu można stosować instrukcje: Tab.

eye(n) macierz jednostkowa nxn;

eye(n, m) z jedynkami na głównej przekątnej

ones(n) macierz jedynek nxn;

ones(n,m) macierz jedynek nxm;

zeros(n) macierz zerowa nxn;

pascal(n) tworzenie macierzy trójkąta Pascala (trójkąt arabski)

magic(n) macierz o równej sumie wierszy i kolumn o elementach od 1 do

n^

rand(n) macierz nxn liczb pseudolosowych z przedziału <0,1> o rozkładzie jednostajnym;

randn(n) macierz nxn liczb pseudolosowych o rozkładzie normalnym ze średnią 0 i wariancją 1

tril(A) tworzy z macierzy A macierz dolnie trójkatną.

triu(A) tworzy z macierzy A macierz górnie trójkatną.

Odwołanie do elementów macierzy:

  • podanie zakresu wierszy i kolumn (od,do) za pomocą operatora dwukropka, na przykład:

Tab 2. A(i,:) i-ty wiersz macierzy A

A(:,j) j-ta kolumna macierzy A

A(:) Cała macierz w postaci wektora kolumnowego

A(:,:) Cała macierz (dwuwymiarowa)

A(i,j:k) Elementy i-tego wiersza macierzy A o numerach od j do k (kolumny od j do k)

A(i:j,k:l) Elementy od i-tego do j-tego wiersza oraz od k-tej do l-tej kolumny

A(X,i:j) Wszystkie elementy w kolumnach od i do j i wierszach macierzy A o numerach określonych przez elementy wektora X

2. Operacje na macierzach: długość, przekątna, maksimum, minimum, dodawanie, mnożenie, iloczyn skalarny, potęgowanie macierzy, operacje tablicowe.

Tab3. cumprod (^) wyznacza nowy wektor zgodnie ze wzorem:

dla wejściowego wektora. (macierz jest czytana kolumnami) cumsum (^) analogicznie, wyznacza sumy elementów zgodnie

ze wzorem [n m]=size(A) przypisuje zmiennej n liczbę wierszy, a zmiennej m liczbę kolumn; n=size(A,1) przypisuje zmiennej n liczbę wierszy macierzy A;

m=size(A,2) przypisuje zmiennej m liczbę kolumn macierzy A; length(x) zwraca długość wektora x lub dłuższy z wymiarów macierzy. diag(A) zwraca wektor z elementów na przekątnej macierzy

max(A) element maksymalny w kolumnie min(A) element minimalny w kolumnie mean(A) średnia elementów z kolumny median(A) mediana std odchylenie standardowe, sum suma prod iloczyn, j.w. linspace(x1,x2) wektor równomiernych liczb generuje wektor wierszy składających się ze

linspace(x1,x2,n) 100 punktów z równym odstępem miedzy x1 a x

  • gdy jest n określamy ilość punktów między x1 a x

b) Operacje tablicowe^1 – wykonywane na każdym z elementów macierzy. Symbol zwykłej operacji poprzedzony jest kropką.

  • Macierze muszą być tych samych wymiarów -Dodawanie oraz odejmowanie tablicowe i macierzowe są tożsame. B.\A ==A./B A.\B==B./A 3. Wyznacznik, macierz transponowana, macierz odwrotna, suma elementów w macierzy

 wyznacznik macierzy: det(A),  macierz odwrotna: inv(A),  macierz transponowana: A' suma elementów:  sum(A) lub sum(A,1)– wynikiem jest wektor składający się z sum kolumn macierzy A.

natomiast aproksymować nieznaną funkcję będziemy inną funkcją postaci np.

gdzie wartości i są nieznane. Wyznaczyć je możemy metodą najmniejszych kwadratów, która to minimalizuje sumę kwadratów błędów przy rozwiązywaniu każdego z równań.

Rozwiązanie problemu w Matlabie: Zdefiniowanie danych: t=[0 .3 .8 1.1 1.6 2.3]'; y=[.82 .72 .63 .60 .55 .50]';

Wyznaczenie wartości współczynników i :

E=[ ones(size(t)) exp(-t) ]; c=E\y

Otrzymujemy przybliżenie

które następnie możemy wizualizować na wykresie:

T=(0:0.1:2.5)' Y=[ones(size(T)) exp(-T)]*c plot(T,Y,'-',t,y,'o')

4.3 Układ nieoznaczony

W tym przypadku mamy do czynienia z większą liczbą zmiennych niż równań w układzie. Jest to zagadnienie programowania liniowego. Przy znajdywaniu rozwiązań parametrycznych wykorzystywany jest rozkład QR.

Przykładowo dane są macierze zdefiniowane losowo:

R=fix(10rand(2,4)); b=fix(10rand(2,1));

zamieniamy format wyświetlania danych na ułamkowy:

format rat

a następnie wyznaczamy

p=R\b Z=null(R,'r')

wtedy mnożenie da macierz zerową, lub bliską zerowej. Następnie każdy wektor w postaci:

dla dowolnego wektora q, spełnia równanie , a więc jest rozwiązaniem równania wejściowego.

Ćwiczenia

Zad.1. a) Wykonaj następujące operacje zwykłe na macierzach:

b) Wykonaj powyższe operacje korzystając z operacji tablicowych. Zobacz jaka jest różnica.

c) Zapisz stworzoną przez Ciebie macierz i oblicz jej drugą potęgę dla obu rodzajów operatorów potęgowania.

  • obliczyć macierz odwrotną oraz wyznacznik:

a)

b)

c)

Zad.2.

Powyższa macierz jest macierzą Durera – magicznym kwadratem. Jeśli dodasz do siebie wszystkie liczby z dowolnego wiersza lub kolumny, czy też z jednej z dwóch głównych przekątnych, otrzymasz zawsze ten sam wynik. Sprawdź, korzystając z funkcji sum i transpozycji, to w MATLAB-ie.

Zad.3. Z podanej macierzy 4x4 wypisz po 3 macierze 3x oraz 2x2.

Zad.4. Dla 100 elementowego wektora A oblicz: a) sumę elementów b)średnią elementów c) medianę d)odchylenie standardowe e)liczbę elementów

Zad.5. Dla macierzy A o wymiarach 5x5 oblicz sumę wszystkich elementów.

Zad.6. Stwórz wektor 9 liczb z przedziału od 5 do 15, które są posortowane i ułożone równomiernie.

Zad.7. W wektorze Kwoty =[30, 25, 20, 34, 32] są umieszczone sumy pieniężne dla poszczególnych dni tygodnia. Wyznacz skumulowany wektor sum, w którym są przechowywane sumy wartości kwot z poprzednich dni.