Skriptování co se do minula nevešlo, práce s řetězci a řešení rovnic

Podobné dokumenty
Skriptování aneb funkce a procedury, cykly a vstupy a výstupy

Numerická integrace a derivace

Břetislav Fajmon, UMAT FEKT, VUT Brno. Poznámka 1.1. A) první část hodiny (cca 50 minut): představení všech tří metod při řešení jednoho příkladu.

Orientaèní mapa (na výšku 50 ) Mapa pro hledáèek (zobrazené zorné pole 4 ) Planetární mlhovina

Základy algoritmizace a programování

Nelineární rovnice. Numerické metody 6. května FJFI ČVUT v Praze

Řešení diferenciálních rovnic I.

Numerické řešení rovnice f(x) = 0

Stručný návod k programu Octave

Systém je citlivý na velikost písmen CASE SENSITIVE rozeznává malá velká písmena, např. PROM=1; PROm=1; PRom=1; Prom=1; prom=1; - 5 různých proměnných

Úvod do Matlabu. Praha & EU: Investujeme do vaší budoucnosti. 1 / 24 Úvod do Matlabu

E+034 = ; = e E+034

Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu:

METODA PŮLENÍ INTERVALU (METODA BISEKCE) METODA PROSTÉ ITERACE NEWTONOVA METODA

Numerické metody a programování. Lekce 7

- znakové konstanty v apostrofech, např. a, +, (znak mezera) - proměnná zabírá 1 byte, obsahuje kód příslušného znaku

Kolekce ArrayList. Deklarace proměnných. Import. Vytvoření prázdné kolekce. napsal Pajclín

Algoritmus pro hledání nejkratší cesty orientovaným grafem

SEMESTRÁLNÍ PRÁCE Z X37SAS Zadání č. 7

MATLAB základy. Roman Stanec PEF MZLU

DSL manuál. Ing. Jan Hranáč. 27. října V této kapitole je stručný průvodce k tvorbě v systému DrdSim a (v

Zadání: TÉMA: Zápis algoritmu, čtení textového souboru, porovnání řetězců.

dovolují dělení velkých úloh na menší = dekompozice

Řízení toku programu Programátor musí být schopen nějak ovlivňovat běh programu a k tomu má několik možností:

Lineární a polynomická regrese, interpolace, hledání v tabulce

Numerické metody 6. května FJFI ČVUT v Praze

pi Ludolfovo číslo π = 3,14159 e Eulerovo číslo e = 2,71828 (lze spočítat jako exp(1)), např. je v Octave, v MATLABu tato konstanta e není

KTE / PPEL Počítačová podpora v elektrotechnice

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

MATLAB a numerické metody

Petr Hasil

SYSTÉM ZPRACOVÁNÍ DAT FOTOVOLTAICKÉHO SYSTÉMU A METEOSTANICE

1. Téma 12 - Textové soubory a výjimky

- transpozice (odlišuje se od překlopení pro komplexní čísla) - překlopení matice pole podle hlavní diagonály, např.: A.' ans =

6. [8 bodů] Neurčitý integrál

Test z programování v jazyce VBA v rámci předmětu Počítače II Vzorová zadání a vypracování

Poslední nenulová číslice faktoriálu

Numerická matematika 1

SEMESTRÁLNÍ PRÁCE Z PŘEDMĚTU MODELOVÁNÍ MATLABEM

Martin Flusser. Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague. October 17, 2016

Grafické výstupy v Octave/Matlabu a GnuPlotu

Doňar B., Zaplatílek K.: MATLAB - tvorba uživatelských aplikací, BEN - technická literatura, Praha, (ISBN:

ZPRO v "C" Ing. Vít Hanousek. verze 0.3

A 9. Počítejte v radiánech, ne ve stupních!

Programování v jazyce JavaScript

X36UNX 16. Numerické výpočty v sh příkazy expr, bc, dc. Zdeněk Sojka

1. Téma 03 - Rozhodování

Standardní algoritmy vyhledávací.

Algoritmizace prostorových úloh

Assembler RISC RISC MIPS. T.Mainzer, kiv.zcu.cz

Písemná zkouška z Matematiky II pro FSV vzor

Polynomy a interpolace text neobsahuje přesné matematické definice, pouze jejich vysvětlení

Operační systémy. Cvičení 4: Programování v C pod Unixem

Skripta ke školení. Základy VBA. vypracoval: Tomáš Herout. tel:

Funkce, podmíněný příkaz if-else, příkaz cyklu for

Informatika pro moderní fyziky (2) základy Ruby, zpracování textu

Zápis programu v jazyce C#

7. ODE a SIMULINK. Nejprve velmi jednoduchý příklad s numerických řešením. Řešme rovnici

Iterační výpočty. Dokumentace k projektu č. 2 do IZP. 24. listopadu 2004

Numerická matematika Písemky

metoda Regula Falsi 23. října 2012

Definice funkcí a procedur. Mnoho operací provozujeme opakovaně, proto je hloupé programovat je při každém použití znovu.

Předzpracování dat. Cvičení 2: Import a příprava dat v Matlabu MI-PDD, 09/2011. Pavel Kordík MI-POA

NPGR032 Cv úvod

Implementace LL(1) překladů

Programování v Pythonu

Zkouška ze Aplikované matematiky pro Arboristy (AMPA), LDF, minut. Součet Koeficient Body. 4. [10 bodů] Integrální počet. 5.

Analýza spolehlivosti tlakové nádoby metodou Monte Carlo

Začínáme vážně programovat. Řídící struktury Přetypování Vstupně výstupní operace Vlastní tvorba programů

% vyhledání prvku s max. velikostí v jednotlivých sloupcích matice X

František Batysta 19. listopadu Abstrakt

4EK211 Základy ekonometrie

Pole a Funkce. Úvod do programování 1 Tomáš Kühr


ALGORITMIZACE A PROGRAMOVÁNÍ

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

Algoritmizace prostorových úloh

WSH Windows Script Hosting. OSY 2 Přednáška číslo 2 opravená verze z

Basic256 - úvod do programování Příklady. ing. petr polách

Příklad: Součet náhodných čísel ve vektoru s počtem prvků, které zadá uživatel, pomocí sum() a pomocí cyklu for. Ověříme, že příliš výpisů na

Martin Flusser. Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague. October 23, 2016

Syntaktická analýza. Implementace LL(1) překladů. Šárka Vavrečková. Ústav informatiky, FPF SU Opava

Dělení. Demonstrační cvičení 8 INP

16. Goniometrické rovnice

Řešení nelineárních rovnic

Vyučovací hodina. 1vyučovací hodina: 2vyučovací hodiny: Opakování z minulé hodiny. Procvičení nové látky

Programování 2 (NMIN102) Soubory. RNDr. Michal Žemlička, Ph.D.

Je n O(n 2 )? Je n 2 O(n)? Je 3n 5 +2n Θ(n 5 )? Je n 1000 O(2 n )? Je 2 n O(n 2000 )? Cvičení s kartami aneb jak rychle roste exponenciála.

NPRG030 Programování I, 2017/18 1 / :22:16

for (int i = 0; i < sizeof(hodnoty) / sizeof(int); i++) { cout<<hodonoty[i]<< endl; } cin.get(); return 0; }

y H = c 1 e 2x + c 2 xe 2x, Partikularni reseni hledam metodou variace konstant ve tvaru c 1(x)e 2x + c 2(x)xe 2x = 0

Základy algoritmizace a programování

Příklad : String txt1 = new String( Ahoj vsichni! ); //vytvoří instanci třídy String a přiřadí ji vnitřní hodnotu Ahoj vsichni!

X37SGS Signály a systémy

KTE / PPEL Počítačová podpora v elektrotechnice

Dělení. MI-AAK(Aritmetika a kódy)

Příklad: Řešte soustavu lineárních algebraických rovnic 10x 1 + 5x 2 +70x 3 + 5x 4 + 5x 5 = 275 2x 1 + 7x 2 + 6x 3 + 9x 4 + 6x 5 = 100 8x 1 + 9x 2 +

Přednáška 8. Proměnné. Psaní a ladění skriptů. Parametry skriptu. Vstup a výstup. Konfigurační soubory shellu. Úvod do Operačních Systémů Přednáška 8

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

Hledání kořenů rovnic jedné reálné proměnné metoda sečen Michal Čihák 23. října 2012

Transkript:

co byste měli umět po dnešní lekci: používat proměnnou nargin používat globální proměnné pracovat s řetězci, převést řetězec na číslo a naopak načíst, zpracovat a uložit textový soubor (funkce pro práci s řetězci) najít kořen rovnice

proměnná nargin vrací počet předávaných parametrů dané funkci to se hodí zejména v prípadě, kdy potřebujeme vědět, zda li jsou předány funkci všechny parametry function test1(a,b,c) if (nargin~=3) disp('spatny pocet parametru'); else disp('pocet parametru ok'); end stejně funguje i proměnná nargout, která obsahuje počet návratových hodnot function test2(a,b,c) switch nargin case 0; disp('chybi vsechny parametry'); a=0;b=0;c=0; case 1; disp('chybi parametry b a c'); b=0;c=0; case 2; disp('chybi parametr c'); c=0; case 3; disp('parametry OK'); otherwise disp('nejak moc parametru'); end

globální vs. lokální proměnné mám funkci, která počítá funkční hodnotu a potřebuji znát ještě parametr: function y=test3(x, p) y=p*x; function y=test4(x) global p; y=p*x; % clear all % hodnota parametru p p=10; x=linspace(1,100,100); y=test3(x,p); doporučení: globální proměnné jednoznačně odlišit jměnem, např. g_x % clear all % p je globalni promenna global p; % hodnota parametru p p=10; x=linspace(1,100,100); y=test4(x);

Řetězce neboli stringy s='ahoj. Cislo uctu mas tady: 2123'; delka_s=length(s); % urci delku retezce pos=findstr(s,':'); % urci pozici : (dvojtecky) ss=substr(s,pos+1, length(s) pos); % do ss ulozi podretezec cislo=str2num(ss); % z retezce ss spacha cislo další užitečné funkce (zkuste aplikovat na řetězec s): isdigit(s), isalpha(s) (pozn. existuje i funkce num2str(), která převede číslo na řetězec vhodné při výpisech)

Řetězce neboli stringy načtení souboru z média: (load nebo fopen) načtení souboru cos.dat load('cos.dat'); data=load('cos.dat'); % mnohem lepší soubor=fopen('cos.dat','r'); s=fgets(soubor); soubor=fopen('cos.dat','r'); ind=1; s=fgets(soubor); % precte jeden radek while (length(s)>2) x=str2num(s); data(ind,1)=x(1); data(ind,2)=x(2); ind=ind+1; s=fgets(soubor); end fclose(soubor);

Řetězce neboli stringy napište program, který načte a zobrazí následující datový soubor 8.400 0.05 157.350 790.0 823.0 849.0

A teď trocha matematiky: Najděte kořen rovnice x=cos(x) iterační metoda: x 0 = odhad řešení x 1 =cos(x 0 ) x n+1 =cos(x n ) % clear all pres=1e 6; % presnost reseni x0=0.7; % odhad reseni x1=cos(x0); iter=1; while (abs(x1 x0)>=pres) x0=x1; x1=cos(x0); iter=iter+1; end fprintf( x=%.6f chyba=%.e i=%d \n,x1,abs(x1 x0), iter);

A teď trocha matematiky: Najděte kořen rovnice x=cos(x) metodou půlení intervalu function y=rovnice(x) y=cos(x) x; function koren=puleni(func,x1,x2,pres,maxit) % pocita koren rovnice rce metodou puleni intervalu % x1 je dolni hodnota intervalum x2 horni % pres je presnost vysledku % maxit je maximalni pocet iteraci a dál je to na vás

A teď trocha matematiky: Najděte kořen rovnice x=cos(x) metodou Newton Raphson y 0 x potřebujeme derivaci!!!!

Prostudujte pomocí helpu tyto funkce: Octave [koren, info, msg]=fsolve(funkce, odhad); Matlab [X,FVAL,EXITFLAG,OUTPUT]=fzero(funkce, odhad);

Úkol: Platinový resistor se často používá jako teplotní čidlo. Odpor teploměru v závislosti na teplotě je dán vztahem Jaké teplotě odpovídá hodnota odporu 120, je li R(0)=100. Teplota t je ve o C. Kolik iterací je potřeba při odhadu rešení t=0 o C iterační metodou, metodou půlení intervalu a metodou Newton Raphson? Přesnost uvažujte 10 3.

Úkol: Soubor messier.txt obsahuje tabulku tvz. Messierova katalogu. Zjistěte, kolik objektů se nachází v intervalu deklinací 20 o 20 o. Zkuste z tabulky uložit do nového souboru jen sloupec M, RA a Dec. M NGC Con RA Dec Mag Size (min) Typ Distance Common Name 1 1952 Tau 05 34.5 22 01 9.0 6 x 4 SNR 6.3 Crab Nebula 2 7089 Aqr 21 33.5 00 49 7.5 12.9 GCl 36 3 5272 CVn 13 42.2 28 23 7.0 16.2 GCl 31 4 6121 Sco 16 23.6 26 32 7.5 26.3 GCl 7 5 5904 Ser 15 18.6 02 05 7.0 17.4 GCl 23 6 6405 Sco 17 40.1 32 13 4.5 15.0 OCl 2 Butterfly Cluster