Informatyka Transport Matlab c.d. Macierze cd. Wykresy graficzne

Slides:



Advertisements
Podobne prezentacje
Excel Narzędzia do analizy regresji
Advertisements

Tablice 1. Deklaracja tablicy
Modelowanie i symulacja
Algorytmy sortowania i przeszukiwania
Zadanie z dekompozycji
Funkcje c.d. Strukturalność. Algorytmy. Ćwiczenia przed kolokwium.
typy całkowite (całkowitoliczbowe)
ZŁOŻONOŚĆ OBLICZENIOWA
Turbo pascal – instrukcje warunkowe, iteracyjne,…
Podstawy informatyki Wirtotechnologia – Wskaźniki i referencje
Podstawy informatyki Informatyka stosowana Prowadzący: Grzegorz Smyk
Wprowadzenie do Mathcada
Tablice Informatyka Cele lekcji: Wiadomości: Uczeń potrafi:
Podstawy programowania PP – WYK5 Wojciech Pieprzyca.
Komunikacja z arkuszem. Iteracje. Funkcje.
Metody numeryczne Wykład no 2.
dr inż. Piotr Muryjas Wyższa Szkoła Przedsiębiorczości i Administracji
Matematyka.
O relacjach i algorytmach
Dane do obliczeń.
Podstawy programowania
Programowanie w języku Matlab
Programowanie strukturalne i obiektowe
© A. Jędryczkowski – 2006 r. © A. Jędryczkowski – 2006 r.
TABLICE C++.
Algorytmy i struktury danych
Pliki tekstowe – A. Jędryczkowski © 2007 Turbo Pascal umożliwia wykorzystanie w programach plików tekstowych. Pliki takie zawierają informację niezakodowaną
Podstawy programowania w języku C i C++
Jerzy F. Kotowski1 Informatyka I Wykład 15 PIERWSZE KROKI.
Tablice w Turbo Pascalu.
Użytkowanie i programowanie Matlaba
MOiPP Wykład 2 Matlab Tablice i ich zastosowania Wykresy Iteracja.
MOiPP Matlab Sortowanie Obliczenia symboliczne - Symbolic ToolBox
MOiPP Wykład 3 Matlab Przykłady prostych metod obliczeniowych.
Ogólna struktura programu w TP
Informatyka 2 MPDI Wykład 9 Delphi tablice, rekordy.
Algorytmika Iteracje autor: Tadeusz Lachawiec.
MOiPP Matlab Przykłady metod obliczeniowych Obliczenia symboliczne
MOiPP Matlab Aproksymacja Interpolacja Inne metody obliczeniowe
Wykład 6 Informatyka MPDI 3 semestr JavaScript cd.
MOiPP Wykład 5 Matlab Przykłady praktyczne Równania różniczkowe.
Excel Wykresy – różne typy, wykresy funkcji.
Temat 8: Pętle.
Informatyka MPDI2 Wykład 10 DELPHI cd. - zmienne tablicowe,
Informatyka +.
PWSW Mechatronika Wykład 7 Matlab cd.
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski 1 informatyka +
MOiPP Wykład 2 Matlab tablice.
Zagadnienie i algorytm transportowy
Wprowadzenie do Matlaba
Informatyka PWSW Wykład 6.
Warstwowe sieci jednokierunkowe – perceptrony wielowarstwowe
Podsumowanie wiedzy MPDI2 sem.3 INFORMATYKA. tworzenie nowego pliku i katalogu, nawigacja po katalogach, listowanie zawartości katalogu, zmiana nazw,
Pętle – instrukcje powtórzeń
SciLab.
SciLab.
Tworzenie wykresów część II Tworzenie wykresu domyślnego Modyfikacja wykresów Pasek narzędzi Wykres.
Pakiety numeryczne Skrypty, funkcje Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania.
Do czego służy arkusz kalkulacyjny, jego budowa
Wykład 1 Informatyka II MPZI2 sem.letni. Tablice Tablice deklarujemy array [ lista typów indeksów ] of typ bazowy (składowych) np. var t1,t2:array [1..5,
Excel 2007 dla średniozaawansowanych Zajęcia z Prowadzący: Artur Kołos.
 Formuła to wyrażenie algebraiczne (wzór) określające jakie operacje ma wykonać program na danych. Może ona zawierać liczby, łańcuchy znaków, funkcje,
Osoby prowadzące zajęcia z Informatyki (II część): Prof. Mirosław Czarnecki (W+L) Konsultacje:piątek (p. 302a)
Osoby prowadzące zajęcia z Informatyki (II część): Prof. Mirosław Czarnecki (W+L) Konsultacje:piątek (p. 302a)
Treść dzisiejszego wykładu l Postać standardowa zadania PL. l Zmienne dodatkowe w zadaniu PL. l Metoda simpleks –wymagania metody simpleks, –tablica simpleksowa.
Wykład 2 MATLAB cd INFORMATYKA 2 MPZI2 sem.4. 2x + 3y – 4z = 5 x + y – z = 3,5 –2,5y – z = 2 Rozwiązanie w Matlabie (m-plik): A = [ ; ; 0.
Liczbami naturalnymi nazywamy liczby 0,1,2,3,..., 127,... Liczby naturalne poznaliśmy już wcześniej; służą one do liczenia przedmiotów. Zbiór liczb.
Tomasz Adamowicz Anna Kostun
Obliczenia w Matlabie Tablice
Zapis prezentacji:

Informatyka Transport Matlab c.d. Macierze cd. Wykresy graficzne Wykład 7 Matlab c.d. Macierze cd. Wykresy graficzne Instrukcja iteracyjna for Sortowanie

Użyteczne funkcje macierzowe rand(n) - losowo generowana macierz kwadratowa nxn rand(n,m) - losowo generowana macierz kwadratowa nxm sum (A) - wektor sum elementów w kolumnach macierzy A sum(sum(A)) - suma wszystkich elementów macierzy 2-wymiarowej max(A) - wektor elementów maksymalnych w kolumnach max(max(A)) - element największy w macierzy dwuwymiarowej min(A) - wektor elementów minimalnych w kolumnach macierzy A min(min(A)) - element najmniejszy w macierzy dwuwymiarowej ndims(A) - ile wymiarów macierzy numel(A) - liczba elementów macierzy size(A) - rozmiar macierzy (tablica rozmiarów we wszystkich wymiarach)

clc clear M=[1 1 1; 5 5 5]; x=size(M) y=numel(M) x= 2 3 y= 6 Przykład Wyniki x= 2 3 y= 6

sort (A, i, typ) - sortowanie i: 1 - kolumny lub 2 - wiersze typ: 'ascend' 'descend' domyślne wartości: 1 i 'ascend' m = 3 5 8 10 8 7 10 3 5 3 7 3 5 1 8 2 6 7 1 2 1 2 9 3 9 sortowanie kolumnami m1 = 1 2 3 1 2 2 3 5 1 3 3 5 7 3 8 7 6 8 5 8 7 10 9 10 9 sortowanie wierszami m2 = 3 5 8 8 10 3 3 5 7 10 1 3 5 7 8 1 2 2 6 7 1 2 3 9 9 sortowanie wierszami malejąco m3 = 10 8 8 5 3 10 7 5 3 3 8 7 5 3 1 7 6 2 2 1 9 9 3 2 1 clc m=round(10*rand(5)) disp('sortowanie kolumnami') m1=sort(m,1) disp('sortowanie wierszami') m2=sort(m,2) disp('sortowanie wierszami malejąco') m3=sort(m,2,'descend')

Przykład >> M=rand(3) M = 0.3404 0.7513 0.6991 0.3404 0.7513 0.6991 0.5853 0.2551 0.8909 0.2238 0.5060 0.9593 >> size(M) ans = 3 3 >>

Tablice komórkowe (cell) >>A = {[1 8 5], 'Jakiś tekst'; 2+4i, 1:2:7} A = [1x3 double] 'Jakiś tekst' [2.0000 + 4.0000i] [1x4 double] >> T= A{1} % pierwsza składowa tablicy A T = 1 8 5 Po co? Umożliwiają one umieszczenie różnych typów danych w komórkach tablicy (tablice heterogeniczne) – teksty, dane liczbowe, inne tablice

Tablice - struktury (struct) Umożliwiają one umieszczenie różnych typów danych w nazwanych komórkach tablicy, zwanych polami Definiowanie: nazwa_tablicy = struct('nazwa_pola1', wartosc_pola1, 'nazwa2', wartosc2, …) Dostęp: nazwa_tablicy.nazwa_pola Przykład: osoba=struct('Nazwisko','Kowalski','wiek',25) disp(osoba.wiek) osoba.wzrost=170 % dodanie nowego pola 7

WYKRESY 2-wymiarowe 1 sposób: Funkcja plot Wymaga utworzenia dwóch wektorów o tej samej liczbie elementów x=0:10 %generowanie wektora co 1 % wart_pocz:wart_koncowa y=[5.1 1.1 -2 -3 4.2 5.5 4.3 3.1 4.5 5.9 4.9] z=[0 2 3 3 5 4 3 4 5 4 9] %trzeci wektor title('wykres') %dodanie tytułu plot(x,y) %rysowanie wykresu plot(x,y,'r',x , z,'k') %r – red k- black

Przykłady wykresów funkcji x=0:90 %generowanie wektora co 1 y=sin(pi*x/180) %wektor y plot(x,y) ,grid %wykres z siatką x=0:pi/50:6*pi y=cos(2*x)./sqrt(x+1) plot(x,y) Uwaga: zapis kropkowy elementowe dzielenie(mnożenie wektorów) x = - 9:1:9 z = x.^2 plot(x, z)

Wykres funkcji podanej jako parametr tekstowy 2 sposób: Funkcja fplot Wykres funkcji podanej jako parametr tekstowy jedna krzywa: fplot('sin(x*x)/x',[0 4*pi]) punkt dzielenia przez 0 nie jest rysowany - ostrzeżenie dwie krzywe: fplot('[sin(x*x)/x cos(x)]',[0.01 4*pi]) Uwaga: zamiast x można użyć innej, dowolnej nazwy zmiennej niezależnej

Wykorzystujemy funkcję plot3(y,z,x) Wykresy 3D Krzywe 3D Wykorzystujemy funkcję plot3(y,z,x) Przykładowo dla krzywej (helisy) danej równaniami: y=sin(x) z=cos(x) Tworzymy m-plik: t = 0:pi/50:10*pi; plot3(sin(t),cos(t),t);

Korzystamy z funkcji mesh(x,y,z) Dla powierzchni podanej równaniem: Wykresy powierzchniowe (3D) Korzystamy z funkcji mesh(x,y,z) Dla powierzchni podanej równaniem: z=cos3x siny

Piszemy m-plik: clear y = 0:0.01:pi %wektor wierszowy x = y' %wektor kolumnowy! z=cos(3*x) * sin(y) % tablica z będzie kwadratowa mesh(x, y, z) rezultat mnożenia dwóch wektorów: * sin y cos3x

Przykładowe funkcje rysujące standardowe wykresy powierzchniowe 3D peaks cylider (średnica) sphere (precyzja)

Instrukcja iteracyjna („pętla liczona”) Schemat iteracji: for zmienna = wartość_pocz : krok: wartość_końcowa instrukcja …. end blok instrukcji powtarzanych Jeśli pominięty krok to krok=1

Przykłady prostych iteracji ("pętli"): clc for i= 1:10, disp('jakiś tekst') end; clear for i= 1:1:10, a(i) = i; %element tablicy disp(a) pause end;

Przykład ("zagnieżdżanie" iteracji): for i= 1:10, for j = 1:10, a(i , j) = i*j end

Przykład (uzależnienie licznika "pętli wewnętrznej): for i= 1:5, for j = 1:i, a(i , j) = i*j; end disp(a) 1 0 0 0 0 2 4 0 0 0 3 6 9 0 0 4 8 12 16 0 5 10 15 20 25

Przykład (sumowanie elementów w tablicy dwuwymiarowej): suma = 0; for i= 1:5, for j = 1:5, a(i , j) = 2*i - 4* j, pause, %zatrzymuje do naciśnięcia klawisza suma=suma+a(i , j); end disp(suma)

Przykład (zliczanie elementów dodatnich w tablicy dwuwymiarowej): clear; clc a=rand(5,5)-0.5 %elementy dodatnie i ujemne iledod= 0; for i= 1:1:5, for j = 1:1:5, if a(i , j)>0 iledod=iledod+1; end disp(iledod)

Przykład a=rand(5) disp('Oto 3-ci wiersz') for k= 1:1:5, disp(a(3, k)) end disp('Oto przekątna') disp(a(k, k))

Sortowanie bąbelkowe Sortowanie bąbelkowe skrócone Porównywanie kolejnych par elementów sąsiadujących i zamiana miejscami w przypadku niewłaściwej kolejności 1 2 3 4 ..... N N-1 porównań Wykonujemy N przebiegów Sortowanie bąbelkowe skrócone Przebiegów wykonujemy N-1 W każdym kolejnym przebiegu liczba analizowanych par jest zmniejszana o 1, a

1 PRZEBIEG 96 12 22 76 64 23 74 11 2 PRZEBIEG 12 22 76 64 23 74 11 96

M=round(100*rand(1,N)) %losujemy wektor Sortowanie bąbelkowe – m-plik clc clear N=8; %liczba elementów M=round(100*rand(1,N)) %losujemy wektor M1=sort(M) %sortowanie funkcyjne %Nasz algorytm for n=1:N-1 for m=1:N-n if M(m)>M(m+1) p=M(m); M(m)=M(m+1); M(m+1)=p; end disp('Nasz algorytm bąbelkowy daje efekt:') disp(M)