SKRYPTY. Zadanie: Wyznaczyć wartość wyrażenia arytmetycznego



Podobne dokumenty
LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab

1 Programowanie w matlabie - skrypty i funkcje

Wstęp do Programowania Lista 1

MATLAB tworzenie własnych funkcji

Wprowadzania liczb. Aby uniknąć wprowadzania ułamka jako daty, należy poprzedzać ułamki cyfrą 0 (zero); np.: wpisać 0 1/2

Ćwiczenie 1. Wprowadzenie do programu Octave

Wprowadzenie do MS Excel

Metody numeryczne Laboratorium 2

Programowanie w języku Python. Grażyna Koba

Makropolecenia w Excelu

Matlab Składnia + podstawy programowania

do MATLABa programowanie WYKŁAD Piotr Ciskowski

Przetwarzanie sygnałów

Kier. MTR Programowanie w MATLABie Laboratorium. 1. Tworzenie m-plików skryptowych i uruchamianie skryptów

Baltie 3. Podręcznik do nauki programowania dla klas I III gimnazjum. Tadeusz Sołtys, Bohumír Soukup

Wstęp do Informatyki i Programowania Laboratorium: Lista 1 Środowisko programowania

Podstawy Programowania C++

Ćwiczenie 1. Matlab podstawy (1) Matlab firmy MathWorks to uniwersalny pakiet do obliczeń naukowych i inżynierskich, analiz układów statycznych

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

PRZYKŁADOWE SKRYPTY (PROGRAMY W MATLABIE Z ROZSZERZENIEM.m): 1) OBLICZANIE WYRAŻEŃ 1:

Przewodnik dla każdego po: Dla każdego coś miłego Microsoft Excel 2010

Ćwiczenie 1. Wprowadzenie do programu Octave

Edytor tekstu MS Word 2010 PL. Edytor tekstu MS Word 2010 PL umożliwia wykonywanie działań matematycznych.

Kier. MTR Programowanie w MATLABie Laboratorium

MATLAB - laboratorium nr 1 wektory i macierze

Pracownia Informatyczna Instytut Technologii Mechanicznej Wydział Inżynierii Mechanicznej i Mechatroniki. Podstawy Informatyki i algorytmizacji

Diary przydatne polecenie. Korzystanie z funkcji wbudowanych i systemu pomocy on-line. Najczęstsze typy plików. diary nazwa_pliku

Programowanie komputerowe. Zajęcia 1

Matlab Składnia + podstawy programowania

Przenoszenie, kopiowanie formuł

Obliczenia w programie MATLAB

MATLAB Podstawowe polecenia

Podstawy programowania C. dr. Krystyna Łapin

Laboratorium Algorytmy Obliczeniowe. Lab. 9 Prezentacja wyników w Matlabie

Temat: Organizacja skoroszytów i arkuszy

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

OBLICZENIA I STATYSTYKA FORMUŁY I FUNKCJE

Instrukcje warunkowe i skoku. Spotkanie 2. Wyrażenia i operatory logiczne. Instrukcje warunkowe: if else, switch.

Skrypty i funkcje Zapisywane są w m-plikach Wywoływane są przez nazwę m-pliku, w którym są zapisane (bez rozszerzenia) M-pliki mogą zawierać

Podstawy Programowania Podstawowa składnia języka C++

Operacje na Wielu Arkuszach

WYDZIAŁ ELEKTROTECHNIKI, AUTOMATYKI I INFORMATYKI INSTYTUT AUTOMATYKI I INFORMATYKI KIERUNEK AUTOMATYKA I ROBOTYKA STUDIA STACJONARNE I STOPNIA

Co to jest arkusz kalkulacyjny?

1 Podstawy c++ w pigułce.

Najmniejszą możliwą macierzą jest macierz 1 x 2 lub 2 x 1 składająca się z dwóch przyległych komórek.

przedmiot kilka razy, wystarczy kliknąć przycisk Wyczaruj ostatni,

Układy VLSI Bramki 1.0

Języki skryptowe w programie Plans

Schematy blokowe I. 1. Dostępne bloki: 2. Prosty program drukujący tekst.

CZĘŚĆ A PIERWSZE KROKI Z KOMPUTEREM

Przykład 1 -->s="hello World!" s = Hello World! -->disp(s) Hello World!

I. Program II. Opis głównych funkcji programu... 19

EXCEL TABELE PRZESTAWNE

Formularz oceny okresowej arkusz B w służbie cywilnej Instrukcja użytkownika

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka

System operacyjny Linux

Formularz pierwszej oceny w służbie cywilnej

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka

najlepszych trików Excelu

Przedmiot: Informatyka w inżynierii produkcji Forma: Laboratorium Temat: Zadanie 4. Instrukcja warunkowa.

Praktyczne wykorzystanie arkusza kalkulacyjnego w pracy nauczyciela część 1

Podstawy MATLABA, cd.

Ćwiczenie 1 - Arkusze kalkulacyjne

Ćwiczenia nr 4. Arkusz kalkulacyjny i programy do obliczeń statystycznych

Wprowadzenie do Scilab: podstawy języka Scilab

ABC 2002/XP PL EXCEL. Autor: Edward C. Willett, Steve Cummings. Rozdział 1. Podstawy pracy z programem (9) Uruchamianie programu (9)

dolar tylko przed numerem wiersza, a następnie tylko przed literą kolumny.

Operatory cd. Relacyjne: ==!= < > <= >= bool b; int i =10, j =20; dzielenie całkowitych wynik jest całkowity! Łączenie tekstu: + string s = "Ala ma ";

Wprowadzenie do środowiska

WyŜsza Szkoła Zarządzania Ochroną Pracy MS EXCEL CZ.2

LABORATORIUM SYSTEMÓW POMIAROWYCH KTP IR PW MATERIAŁY POMOCNICZE DO ĆWICZENIA 1 SYMULATOR SYSTEMU POMIAROWEGO W STANDARDZIE IEC-625.

Cash Flow System Instrukcja

Operacje wykonywane są na operandach (argumentach operatorów). Przy operacji dodawania: argumentami operatora dodawania + są dwa operandy 2 i 5.

Języki i metodyka programowania. Typy, operatory, wyrażenia. Wejście i wyjście.

Wprowadzenie do systemu Scilab

Kadry Optivum, Płace Optivum

Zadanie 8. Dołączanie obiektów

Instrukcja korzystania ze skryptu kroswalidacja.py

Krótki kurs obsługi środowiska programistycznego Turbo Pascal z 12 Opracował Jan T. Biernat. Wstęp

Arkusz kalkulacyjny EXCEL

AKADEMIA MORSKA W SZCZECINIE WI-ET / IIT / ZTT. Instrukcja do zajęc laboratoryjnych nr 1 AUTOMATYZACJA I ROBOTYZACJA PROCESÓW PRODUKCYJNYCH

Oferta na samochód nowy Oferta na samochód nowy spis kroków

Generator CABRILLO program Marka SP7DQR (Instrukcja obsługi)

Wykresy i interfejsy użytkownika

Tablice mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011

Podstawy programowania w języku C i C++

PRZEBIEG LABORATORIUM

Metody numeryczne. Instytut Sterowania i Systemów Informatycznych Wydział Elektrotechniki, Informatyki i Telekomunikacji Uniwersytet Zielonogórski

I. Interfejs użytkownika.

Wykorzystanie programów komputerowych do obliczeń matematycznych

EXCEL wprowadzenie Ćwiczenia

Robert Barański, AGH, KMIW MathScript and Formula Nodes v1.0

Podstawy programowania. 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń.

Matematyka grupa Uruchom arkusz kalkulacyjny. 2. Wprowadź do arkusza kalkulacyjnego wartości znajdujące się w kolumnach A i B.

Języki programowania zasady ich tworzenia

Instrukcja korzystania z portalu Diagnoza Nowej Ery

Zadanie 10. Stosowanie dokumentu głównego do organizowania dużych projektów

Transkrypt:

1 SKRYPTY Zadanie: Wyznaczyć wartość wyrażenia arytmetycznego z = 1 y + 1+ ( x + 2) 3 x 2 + x sin y y + 1 2 dla danych wartości x = 12.5 i y = 9.87. Zadanie to można rozwiązać: wpisując dane i wzór wyrażenia z w oknie CommandWindow, po czym wykonać obliczenia naciskając klawisz <Enter>, lub tworząc SKRYPT i w nim zapisując wszystkie instrukcje do wykonania, po czym wykonać napisany skrypt. Skrypty są to: to zewnętrzne pliki, zawierające sekwencję instrukcji i poleceń MATLAB a, które będą wykonywane wielokrotnie z linii poleceń >> (Command Line) okna poleceń (Command Window) są zapamiętywane w kartotece roboczej MATLAB-a na plikach o nazwie z rozszerzeniem.m ( M pliki), np., Skrypt_W_Z.m mogą działać na danych już istniejących w przestrzeni roboczej (Workspace) lub mogą tworzyć nowe dane, które zostają umieszczone w Workspace, i na których można wykonywać określone działania w dalszych obliczeniach mogą zawierać komentarze

2 W oknie MATLAB a wybieramy opcje: File New M File TWORZENIE NOWEGO SKRYPTU: Pojawia się edytor MATLAB-a, w którym wpisujemy dane (ewentualnie) i polecenia do wykonania, czyli instrukcje algorytmu. W naszym przypadku będą to polecenia: % Wyznaczenie wartosc wyrazenia z x = 12.5 y = 9.87 z = (y+1/(1+(x+2)^2))/(3*x)+x*sin(y^2)/(y+1) Następnie wykonujemy opcje: File Save i w oknie Save file as: zapisujemy w kartotece roboczej skrypt pod nazwą, np. Skrypt_W_Z.m po czym zamykamy okno edycji klikając myszką na przycisku x. WYKONANIE SKRYPTU 1. SPOSÓB W oknie Command Window piszemy po znaku zachęty nazwę skryptu, czyli >> Skrypt_W_Z po czym naciskamy <Enter>. 2. SPOSÓB W zakładce Current Directory okna Workspace znajdujemy plik o nazwie Skrypt_W_Z.m. Kursor na nazwie pliku, klikamy prawym przyciskiem myszy, po czym wybieramy spośród wyświetlonych opcji opcję Run

3 POPRAWIANIE LUB UZUPEŁNIANIE SKRYPTU Okno Workspace, zakładka Current Directory: kursor na nazwie pliku Skrypt_W_Z.m przycisnąć prawy przycisk myszy wybrać spośród wyświetlonych opcji opcję Open. Pojawia się okno edycji istniejącego skryptu Skrypt_W_Z.m dokonujemy poprawek Opcje: File Save zapisujemy poprawioną wersję skryptu pod tą samą nazwą Ponownie wykonujemy poprawiony skrypt (sposób, jak wyżej) WCZYTYWANIE DANYCH Z PLIKU Tworzymy plik z danymi o nazwie, np., Dane_W_Z.txt za pomocą dowolnego zewnętrznego edytora (np. Notatnika) i zapisujemy go w kartotece roboczej MATLAB-a (nazwa kartoteki roboczej jest wyświetlana w oknie MATLAB a tuż poniżej głównego menu). Na pliku będą się znajdowały dwie liczby: 12.5 9.87 Jedną z funkcji do czytania danych z pliku (w naszym przypadku z pliku: Dane_W_Z.txt) jest funkcja LOAD, która może być stosowana w wersjach: lub load Dane_W_Z.txt load( Dane_W_Z.txt ) Korzystając z funkcji LOAD musimy pamiętać o tym, by dane na pliku były zapisane w postaci regularnej tablicy, tak by w każdym wierszu tej tablicy znajdowała się taka sama liczba elementów.

4 Funkcja LOAD zapisuje dane znajdujące się na pliku do tablicy o nazwie takiej samej jak nazwa pliku. Po wykonaniu czytania otrzymujemy tablicę dwuelementową: Dane_W_Z = 12.5000 9.8700 Pierwszy element tej tablicy zawiera wartość zmiennej x z naszego przykładu, drugi zawiera wartość y. Musimy więc dokonać przyporządkowania: x = Dane_W_Z(1) y = Dane_W_Z(2) i tak określone wartości zostaną wstawione do wzoru na z, by wyznaczyć wartość zmiennej z. Skrypt zawierający instrukcje czytania danych z pliku będzie miał więc postać: % Wyznaczenie wartosci wyrazenia z load Dane_W_Z.txt x = Dane_W_Z(1) y = Dane_W_Z(2) z = (y+1/(1+(x+2)^2))/(3*x)+x*sin(y^2)/(y+1) UWAGA! We wszystkich dotychczasowych przykładach wynik obliczeń był wyświetlany na monitorze w oknie CommandWindow.

5 FORMATOWANY ZAPIS DANYCH DO PLIKU. FUNKCJA FPRINTF Załóżmy, że chcemy zapisać wynik działania naszego skryptu na pliku przechowywanym w kartotece roboczej. Załóżmy, że chcemy, by wydruk danych i wyników na tym pliku miał poniższą postać: Obliczenie wartości wyrażenia Dane: x = 12.500 y = 9.870 Wynik: z = 0.2317 Zapis danych i wyników do pliku wymaga wykonania kilku poleceń: Skojarzenie z nazwą fid nazwy pliku z wynikami i otwarcie dostępu do tego pliku: fid = fopen( Wyn_W_Z.txt, w, a ) gdzie: fid = >0 - OK fid = 1 ekran fid = -1 błąd! Atrybuty pliku: w plik do zapisu, a możliwość dopisywania informacji na końcu pliku Wydruk wartości zmiennej na plik skojarzony ze zmienną fid: count =fprintf(fid,format,a,b,c) gdzie: fid oznacza gdzie (na którym pliku) będziemy zapisywać dane i wyniki format oznacza jak będziemy drukować dane a,b co będziemy drukować count liczba zapisanych bitów (opcjonalnie)

6 format: % 10. 3 f początek specyfikacji formatu szerokość pola przeznaczonego na wydruk liczby Liczba miejsc po kropce w wydruku liczby rzeczywistej - dokładność wydruku kod konwersji - postać wydruku Kod konwersji dla wydruku liczby double może być: f, e lub E. Przykład: Chcemy wydrukować wartość zmiennej x = 12.85. Napisanie fprintf(fid, Zmienna x = %10.5f \n,x) da efekt: Zmienna x = 12.850 Napisanie: fprintf(fid, Zmienna x = %10.5E \n,x) da efekt: Zmienna x = 1.285E+001 \n w formacie wydruku oznacza przejście do następnej linii PO wykonaniu wydruku. Uwaga na apostrofy! Zamknięcie dostępu do pliku z wynikami, skojarzonego ze zmienną plikową fid: fclose(fid)

7 Aby zrealizować zamierzony wydruk na plik, skrypt powinien zawierać instrukcje: % Wyznaczenie wartosci wyrazenia z load Dane_W_Z.txt x = Dane_W_Z(1) y = Dane_W_Z(2) z = (y+1/(1+(x+2)^2))/(3*x)+x*sin(y^2)/(y+1) fid=open( Wyn_W_Z.txt, w, a ) fprintf(fid, Obliczenie wartosci wyrazenia \n\n ) fprintf(fid, Dane: \n ) fprintf(fid, x = %10.3f \n,x) fprintf(fid, y = %10.3f \n\n,y) fprintf(fid, z = %10.4f \n,z) fclose(fid) CZYTANIE DANYCH Z PLIKU EXCEL owego Załóżmy, że dane reprezentujące wartość x i y do obliczenia wartości wyrażenia z znajdują się na pliku Excel owym o nazwie W_Z.xls i postaci: Napisanie w oknie CommandWindow instrukcji: >>A = xlsread( W_Z.xls )

8 Daje efekt A = NaN 12.5000 NaN 9.8700 2.0 5.0000 Wszystkie dane, które znajdowały się na pliku ą wpisane do tablicy A. Tam gdzie zamiast liczby jest tekst, MATLAB wpisuje symbol NaN co oznacza: Not-a-Number. Teraz należy tylko określić, że: x = A(1,2) y = A(2,2). Można wybrać z Arkusza Excel owego odpowiedni fragment podając interesujący zakres komórek: >>A = xlsread( W_Z.xls, B1:B2 ) Teraz >>A = 12.5000 9.8700 i wystarczy dokonać przyporządkowania x = A(1), y = A(2) by policzyć wartość z. Odpowiedni skrypt miałby postać: % Wyznaczenie wartosci wyrazenia z A = xlsread( W_Z.txt, B1:B2 ) x = A(1)

9 y = A(2) z = (y+1/(1+(x+2)^2))/(3*x)+x*sin(y^2)/(y+1) fid=open( Wyn_W_Z.txt, w, a ) fprintf(fid, Obliczenie wartosci wyrazenia \n\n ) fprintf(fid, Dane: \n ) fprintf(fid, x = %10.3f \n,x) fprintf(fid, y = %10.3f \n\n,y) fprintf(fid, z = %10.4f \n,z) fclose(fid) ZAPIS WYNIKÓW NA PLIK EXCEL owy Do zapisu na plik Excel owy służy instrukcja: xlswrite. Należy podać nazwę pliku Excel owego na który mają być zapisane dane i nazwę tablicy, która powinna być na tym pliku zapisana. Czyli jeśli chcielibyśmy zapisać na pliku Wyn_W_Z.xls dane i wynik obliczenia wartości z należałoby na końcu w/w skryptu umieścić instrukcje: A(3) = z xlswrite( Wyn_W_Z.xls,A)

10 ELEMENTY PROGRAMOWANIA W MATLABIE PĘTLA FOR Instrukcja pętli służy do wielokrotnego wykonywania w identyczny sposób jednej lub wielu instrukcji. SKŁADNIA: for zmienna = od:krok:do instrukcje na przykład za pomocą instrukcji: >>n = 10 >>for i = 1:1:n fprintf(1, Kocham Cie!!! \n ) można wydrukować n razy tekst Kocham Cie!!! Przykład_1: utworzyć tablicę x, której elementami będą sześciany kolejnych liczb całkowitych i, dla i=1,2,...,n >>n = 5 >> for i=1:1:n x(i) = i^3; >> x % Wydrukuj wektor x x = 1 8 27 64 125 Przykład_2: utworzyć dwuwymiarową tablicę A, której elementy określa wzór i j A ij =, i = 1,2,..., n j = 1,2,..., n i + j

11 Wykonanie poniższych instrukcji for i=1:1:3 for j=1:1:3 A(i,j) = (i-j)/(i+j) ; daje efekt: A = 0-0.3333-0.5000 0.3333 0-0.2000 0.5000 0.2000 0 PĘTLA WHILE SKŁADNIA: while wyrażenie logiczne instrukcje Instrukcja while wykonywana jest tak długo jak długo wyrażenie logiczne jest prawdziwe. Przykład: Wyznaczyć wartość? S = i i= 1 2 = 1+ 4 + 9 +... Sumowanie przerwać w momencie, gdy suma S będzie >= 1000. >> i=1; >> S=1; >> while S <= 1000 i = i+1; S = S+i^2

12 INSTRUKCJE WARUNKOWE Operatory relacji logicznych: > >= < <= == ~= równy i różny, odpowiednio Operatory te dokonują porównania element po elemencie dwóch tablic. W wyniku otrzymujemy tablicę takiego samego rozmiaru wypełnioną 1 i 0. 1 gdy relacja jest prawdziwa, 0 w przypadku przeciwnym. Na przykład: >>A = magic(3) A = 8 1 6 3 5 7 4 9 2 >>B = 1 5 12 4 8 20 0 15 7 >> P = A<B P = 0 1 1 1 1 1 0 1 1 OPERATORY LOGICZNE AND & A & B lub and(a,b) OR A B lub or(a,b) NOT ~ ~A lub not(a)

13 OPERATOR LOGICZNY AND W =A & B & C W=and(A,B)! A, B to tablice lub skalary. Gdy A,B,C są tablicami jednakowych rozmiarów AND dokonuje operacji logicznej na odpowiadających sobie elementach tych tablic. Tablica wynikowa W ma taki sam wymiar i ma elementy o wartościach równych 1 lub 0. Element Wij = 1 gdy na pozycji (i,j) w tablicach A,B i C były elementy niezerowe, oraz 0 w przypadku przeciwnym. Gdy A,B,C są skalarami W też jest skalarem. Przykład: A = 1 2 3 4 B = -1 0 5 6 C = 0 1 2 3 >> W=A&B&C W = 0 0 1 1 OPERATOR LOGICZNY OR W =A B C W=or(A,B)! A, B to tablice lub skalary. Gdy A,B,C są tablicami jednakowych rozmiarów OR dokonuje operacji logicznej na odpowiadających sobie elementach tych tablic. Tablica wynikowa W ma taki sam rozmiar i składa się elementów równych 1 lub 0. Element Wij = 1 gdy na pozycji (i,j) w którejkolwiek tablicy A,B lub C znajduje się element niezerowy, oraz 0 w przypadku przeciwnym. Gdy A,B,C są skalarami W też jest skalarem A = 1 2 3 4 B = -1 0 5 6 C = 0 1 2 3 >> W = A B C W = 1 1 1 1

14 OPERATOR LOGICZNY NOT C=~A C=not(A) A może być tablicą lub skalarem. Gdy A jest tablicą NOT działa na kolejne elementy tablicy A i zwraca tablicę takiego samego wymiaru co A składającą się albo z 1 albo 0. Element tablicy wynikowej przyjmuje wartość1 gdy w tablicy A na danej pozycji znajduje się 0, lub 0 gdy na danej pozycji w tablicy A stoi element różny od zera A = 0 2 0 3 4 5 1 0 5 >> N = not(a) N = 1 0 1 0 0 0 0 1 0 INSTRUKCJA WARUNKOWA I SKŁADNIA: if wyrażenie_logiczne1 instrukcje_1 INSTRUKCJA WARUNKOWA II SKŁADNIA: if wyrażenie_logiczne1 instrukcje_1 else instrukcje_2

15 Przykład: >>x = -10; >>y = 20; >> if x<y z = x+y, info = 'x<y' else z = x-y, info = 'x>y' >>z = 10 info = x<y INSTRUKCJA WARUNKOWA III SKŁADNIA: if wyrażenie_logiczne1 instrukcje_1 elseif wyrażenie_logiczne2 instrukcje_2 else instrukcje_3 Przykład: Wyznaczyć wartość funkcji y=y(x) określonej wykresem w zależności od wartości x y a+1 1 a x

16 >> a = 10; >> x = 6.5; >> if x<=0 y = 1 elseif x>a y = a+1 else y = x+1 y = 7.5000 lub równoważnie >> a = 10; >> x = 6.5; >> if ((x>0) & (x<=a)) y = x+1 elseif x>a y = a+1 else y = 1 y = 7.5000 KOLEJNOŚĆ DZIAŁAŃ W KIERUNKU MALEJĄCEGO PRIORYTETU 1. Działania w ( ) 2. Transponowanie (. ), potęgowanie (.^), potęgowanie (^) 3. Plus, minus (+) (-) (zmiana znaku), negacja logiczna (~) 4. Mnożenie (.*), dzielenie (./), dzielenie (.\), mnożenie macierzy (*) dzielenie macierzy (/), dzielenie macierzy (\) 5. Dodawanie (+), odejmowanie (-) 6. Operator ( : ) 7. Operatory relacji logicznych <, <=, >, <=, ==, ~= 8. Operator AND (&) 9. Operator OR ( )