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

Podobne dokumenty
GNU Octave (w skrócie Octave) to rozbudowany program do analizy numerycznej.

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

Wprowadzenie do środowiska

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

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

do MATLABa programowanie WYKŁAD Piotr Ciskowski

1 Programowanie w matlabie - skrypty i funkcje

Matlab Składnia + podstawy programowania

Metody i analiza danych

Metody numeryczne Laboratorium 2

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

Podstawowe operacje na macierzach, operacje we/wy

Elementy projektowania inzynierskiego Przypomnienie systemu Mathcad

Podstawowe operacje na macierzach

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

Metody Numeryczne. Laboratorium 1. Wstęp do programu Matlab

Matlab Składnia + podstawy programowania

Ćwiczenie 1. Wprowadzenie do programu Octave

Ćwiczenie 1. Wprowadzenie do programu Octave

Zadania. Rozdział Wektory i macierze. 1.Podajpolecenie 1,któreutworzywektor: v = [100, 95, 90,..., 95, 100].

Przykładowo, jeśli współrzędna x zmienia się od 0 do 8 co 1, a współrzędna y od 12 co 2 do 25, to punkty powinny wyglądać następująco:

Cw.12 JAVAScript w dokumentach HTML

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

Przetwarzanie sygnałów

Metody i analiza danych

Elementy Projektowania Inżynierskiego MATLAB Wprowadzenie.

Podstawy Automatyki ćwiczenia Cz.1. Środowisko Matlab

Warsztaty dla nauczycieli

WHILE (wyrażenie) instrukcja;

MATLAB ŚRODOWISKO MATLABA OPIS, PODSTAWY

WHILE (wyrażenie) instrukcja;

; B = Wykonaj poniższe obliczenia: Mnożenia, transpozycje etc wykonuję programem i przepisuję wyniki. Mam nadzieję, że umiesz mnożyć macierze...

Program na zaliczenie: Odejmowanie widm

WEKTORY I MACIERZE. Strona 1 z 11. Lekcja 7.

Mathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje

Matlab, zajęcia 3. Jeszcze jeden przykład metoda eliminacji Gaussa dla macierzy 3 na 3

Podstawy Programowania C++

PODSTAWY INFORMATYKI 1 MATLAB CZ. 3

Instalacja Pakietu R

Wprowadzenie do Pakietu R dla kierunku Zootechnika. Dr Magda Mielczarek Katedra Genetyki Uniwersytet Przyrodniczy we Wrocławiu

Pzetestuj działanie pętli while i do...while na poniższym przykładzie:

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

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

Wstęp do Programowania Lista 1

WSZYSTKIE OBLICZENIA W MATLAB-ie DLA ZMIENNYCH NUMERYCZNYCH I ŁAŃCUCHOWYCH SĄ PROWADZONE W TRYBIE PODWÓJNEJ PRECYZJI (double).

Kier. MTR Programowanie w MATLABie Laboratorium

MATLAB tworzenie własnych funkcji

Operatory arytmetyczne

Administracja sieciowymi systemami operacyjnymi III Klasa - Linux

ALGORYTMY Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny

System operacyjny Linux

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

MATLAB Podstawowe polecenia

do instrukcja while (wyrażenie);

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

W języku C dostępne są trzy instrukcje, umożliwiające tworzenie pętli: for, while oraz do. for (w1;w2;w3) instrukcja

Wprowadzenie do pakietów MATLAB/GNU Octave

Obliczenia w programie MATLAB

JAVAScript w dokumentach HTML (2)

PHP w-3. Sterowanie w PHP

if (wyrażenie ) instrukcja

MATLAB wprowadzenie śycie jest zbyt krótkie, aby tracić czas na pisanie pętli!

do MATLABa podstawowe operacje na macierzach WYKŁAD Piotr Ciskowski

Wprowadzenie do Scilab: macierze

Wykład 4. Matlab cz.3 Tablice i operacje na tablicach

Re +/- Im i lub Re +/- Im j

Pętle iteracyjne i decyzyjne

Wykład 7 Macierze i wyznaczniki

Laboratorium Cel ćwiczenia Ćwiczenie ma na celu praktyczne przedstawienie grafiki 3D.

Funkcje Andrzej Musielak 1. Funkcje

Macierze. Rozdział Działania na macierzach

Programowanie w języku Python. Grażyna Koba

Rozdział 5. Macierze. a 11 a a 1m a 21 a a 2m... a n1 a n2... a nm

Elementy metod numerycznych - zajęcia 9

Dział I FUNKCJE I ICH WŁASNOŚCI

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

Pomorski Czarodziej 2016 Zadania. Kategoria C

L1 - WPROWADZENIE DO MATLABA

Programowanie - instrukcje sterujące

Nazwa implementacji: Nauka języka Python wyrażenia warunkowe. Autor: Piotr Fiorek. Opis implementacji: Poznanie wyrażeń warunkowych if elif - else.

zajęcia 2 Definiowanie wektorów:

Podstawy programowania w języku Visual Basic dla Aplikacji (VBA)

Wyk lad 5 W lasności wyznaczników. Macierz odwrotna

Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki

MATLAB - laboratorium nr 1 wektory i macierze

MATrix LABoratory. A C21 delta tvx444 omega_zero. hxx J23 aaa g4534 Fx_38

Pakiety Matematyczne - R Zestaw 2.

Zakłócenia w układach elektroenergetycznych LABORATORIUM

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

Algorytm. a programowanie -

Ćwiczenie 3: Wprowadzenie do programu Matlab

Podstawy MATLABA, cd.

WPROWADZENIE DO ŚRODOWISKA SCILAB

Ćwiczenie 3. Iteracja, proste metody obliczeniowe

Wprowadzenie do środowiska Matlab/GNU Octave

PRZYKŁADY OPERACJI PLIKOWYCH z wykorzystaniem biblioteki <stdio.h>

Zajęcia nr 1 (1h) Dwumian Newtona. Indukcja. Zajęcia nr 2 i 3 (4h) Trygonometria

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

Laboratorium 3: Tablice, tablice znaków i funkcje operujące na ciągach znaków. dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski

Wprowadzenie do Scilab: funkcje i wykresy

Transkrypt:

PRZYKŁADOWE SKRYPTY (PROGRAMY W MATLABIE Z ROZSZERZENIEM.m): 1) OBLICZANIE WYRAŻEŃ 1: clear % usunięcie zmiennych z pamięci roboczej MATLABa % wyczyszczenie okna kom % nadanie wartości zmiennym x1 i x2 x1 = 3.5; x2 = -7.22; % obliczenie wyrażeń w1 = sind(2*x1)+ cosd(x2/3); %wyświetlenie tekstu i wartości zmiennej w oknie kom disp('wyrażenie w1 ma wartość') disp(w1) disp('dla x1 =') disp(x1) disp('oraz x2 = ') disp(x2) 2) OBLICZANIE WYRAŻEŃ 2 DANE PODANE Z KLAWIATURY: clear % wczytanie wartości zmiennych x1 i x2 x1 = input('podaj wartość zmiennej x1 = '); x2 = input('podaj wartość zmiennej x2 = '); % obliczenie wyrażeń w1 = sind(2*x1)+ cosd(x2/3); %wyświetlenie tekstu i wartości zmiennej w oknie kom disp('wyrażenie w1 ma wartość') disp(w1) disp('dla x1 =') disp(x1) disp('oraz x2 = ') disp(x2) 3) OBLICZANIE WYRAŻEŃ 3 clear %wyczyszczenie przestrzeni roboczej %wczytanie danych x = input('podaj wartość zmiennej x\nx = '); y = input('podaj wartość zmiennej y\ny = '); %obliczenie wyrażeń z = nthroot(((y^2+1)/(2*x*y)+0.5*(x+y)),3) t = (1/x-(y-1)/(x+1))/(x^2*(x-2)) f = sin((x+2)^3)*cos((x+1)^2)+1 ---------------------------------------------------------------------------------------------------------------------------------------------------

4) OBLICZANIE WYRAŻEŃ 4 clear % wczytanie wartości zmiennych x1 i x2 x1 = input('podaj wartość zmiennej x1 = '); x2 = input('podaj wartość zmiennej x2 = '); % obliczenie wyrażeń w1 = nthroot(((x1+x2)/(2*x1)),3); w2 = log(1+x1^2)/(3*x2); w3 = (log(1+x1^2))^2/(3*x2); w4 = log((1+x1^2)^2.5)/(3*x2); w5 = (log((1+x1^2)^2.5))^3/(3*x2); w6 = exp(2*(x1^6)^0.5/(3*(x1+x2))); w7 = abs(x1-x2)/(2*x1*x2^3); %wyświetlenie tekstu i wartości zmiennej w oknie kom disp('wyrażenie w1 ma wartość') disp(w1) disp('wyrażenie w2 ma wartość') disp(w2) disp('wyrażenie w3 ma wartość') disp(w3) disp('wyrażenie w4 ma wartość') disp(w4) disp('wyrażenie w5 ma wartość') disp(w5) disp('wyrażenie w6 ma wartość') disp(w6) disp('wyrażenie w7 ma wartość') disp(w7) disp('dla x1 =') disp(x1) disp('oraz x2 = ') disp(x2)

5) SKRYPT 4 MACIERZE 1 %tworzenie macierzy wypełnionej jedynkami, zerami i macierzy identyczności clear B = ones(5); C = zeros(5); D = eye(7); E = ones(3,5); F = zeros(5,4); G = eye(3,7); %działania na macierzach H = B+C; C(:,4)= 4; K = B-5*C; B(5,2:)=5; C(2,:)= -1; %mnożenie tablicowe M = B.*C; %mnożenie macierzowe N = B*C; %dzielenie tablicowe C(4:5,:) = 2; MM = C./B; %dzielenie macierzowe %NN = C/B %wyznacznik macierzy B, dla macierzy kwadratowej B wyznacznikb = det(b); %macierz odwrotna, do macierzy kwadratowej B, o wyznaczniku 0 Bodw = inv(b); %suma el. w macierzy sumab = sum(sum(b)); %iloczyn el. w macierzy ilb = prod(prod(b)); %średnia arytmetyczna srb = mean(mean(b)); %transpozycja transb = B' 6) SKRYPT MACIERZE 2 clear A B %zapis do pliku tekstowego utworzonych macierzy A i B, a następnie %odczytanie wartości macierzy zapamiętanych w pliku A = ones(3,4); B = zeros(3,4); save macierzeab.txt A B -ascii clear A B % odczytanie danych z pliku tekstowego load macierzeab.txt %utworzy się struktura o nazwie identycznej jak nazwa pliku, tylko bez %rozszerzenia A = macierzeab(1:3,1:4); B = macierzeab(4:6,1:4);

7) INSTRUKCJA WARUNKOWA (najprostsza) %program wczytuje argument funkcji, sprawdza jego wartość i wypisuje wynik %na ekran x = input('podaj liczbę rzeczywistą\nx = '); if x>0 disp('liczba dodatnia') 8) INSTRUKCJA WARUNKOWA Z ELSE %program wczytuje argument funkcji, sprawdza jego wartość i wypisuje wynik %na ekran x = input('podaj liczbę rzeczywistą\nx = '); if x>0 disp('x - liczba dodatnia') y = 2 * sqrt(x) % obliczenie y = 2 x else disp('x - liczba niedodatnia') y = 2*nthroot(x,3) % obliczenie y = 2*pierwiastek 3 stopnia ze zmiennej x 9) INSTRUKCJA WARUNKOWA Z ELSEIF %program wczytuje argument funkcji, sprawdza jego wartość, oblicza wzór funkcji i wypisuje wynik na ekran x = input('podaj liczbę rzeczywistą\nx = '); if x>0 disp('x - liczba dodatnia') y = 2 * sqrt(x) % obliczenie y = 2 x elseif x == 0 disp('x jest zerem') y = 5 else disp('x - liczba niedodatnia') y = 2*nthroot(x,3) % obliczenie y = 2*pierwiastek 3 stopnia ze zmiennej x 10) INSTRUKCJA WARUNKOWA Z ELSEIF, BEZ ELSE %program wczytuje argument funkcji, sprawdza jego wartość i wypisuje wynik %na ekran x = input('podaj liczbę rzeczywistą\nx = '); if x>0 disp('x - liczba dodatnia') y = 2 * sqrt(x) % obliczenie y = 2 x elseif x == 0 disp('x jest zerem') y = 5 11) INSTRUKCJA WARUNKOWA %wczytanie danych a = input('podaj wartość dla a\na = '); b = input('podaj wartość dla b\nb = '); %sprawdzenie danych: jeśli a>b to obliczane jest c = a - b if a>b %warunek logiczny c = a - b %instrukcja do wykonania, jeśli war. logiczny jest prawdziwy --------------------------------------------------------------------

12) FUNKCJA 1 %funkcja wczytuje pojedyńczy argument, oblicza wartość funkcji dla tego argumentu i %wypisuje wynik x = input('podaj argument funkcji\nx = '); %wzór funkcji f(x) = 2x^2+ln(x^2+2)^2 f = 2*x^2+log((x^2+2)^2); %wypisanie wyniku disp('wartość funkcji f wynosi: ') disp(f) 13) FUNKCJA 2 %funkcja wczytuje pojedyńczy agrument, oblicza wartość funkcji dla tego argumenu i wypisuje wynik x = input('podaj argument funkcji\nx = '); %wzór funkcji f(x) = 2x^2+ln(x^2+2)^2 f = 2*x^2+log((x^2+2)^2); %wypisanie wyniku w sposób sformatowany - funkcja fprintf fprintf('dla argumentu x = %6.2f \nfunkcja f(x) ma wartość %8.4f\n',x,f) 14) FUNKCJA 3 Z WYKRESEM %dane: początek i koniec przedziału tabelaryzacji funkcji oraz krok dx %funkcja oblicza wartość dla ciągu argumentów, a wykonany jest jej wykres % f(x) = x^3-2* (sin (x+1))^2 clear x f a b dx %wczytanie danych a = input('podaj początek przedziału tabelaryzacji\na = '); b = input('podaj koniec przedziału tabelaryzacji\nb = '); dx = input('podaj krok tabelaryzacji\ndx = '); % utworzenie ciągu argumentów x w przedziale [a, b] x = [a:dx:b]; %obliczenie wartości funkcji dla ciągu argumentów f = x.^3-2*(sin(x+1)).^2 %wykres plot(x,f,'yd:') %podpisy osi xlabel('x') ylabel('f(x)') %tytuł wykresu title('wykres funkcji f(x)=x^3-2*(sin(x+1))^2') leg('funkcja f(x)') grid on %siatka prostokątna 15) PĘTLA FOR n = input('podaj liczbę naturalną n\nn = '); for zmienna = -5:0.3:n, disp(zmienna)

16) PĘTLA FOR clear x N = input('podaj liczbę naturalną N\nN = '); % obliczenie N kolejnych elementów ciągu x(i) według wzoru: % x(i) = 2*i+4.44, i=1,2,...,n for i = 1:N x(i) = 2*i+4.44; 17) FUNKCJA 4 Z WYKRESEM - TABELARYZACJA %dane: początek i koniec przedziału tabelaryzacji funkcji oraz krok dx %funkcja oblicza wartość dla ciągu argumentów, a wykonany jest jej wykres % f(x) = x^3-2* (sin (x+1))^2 clear x f a b dx %wczytanie danych a = input('podaj początek przedziału tabelaryzacji\na = '); b = input('podaj koniec przedziału tabelaryzacji, b>a\nb = '); %sprawdzenie poprawności danej b wraz z oczekiwaniem na poprawną wartość b while b<=a disp('niepoprawne b') b = input('podaj koniec przedziału tabelaryzacji, b>a\nb = '); dx = input('podaj krok tabelaryzacji dx>0\ndx = '); %sprawdzenie poprawności danej dx wraz z oczekiwaniem na poprawną wartość %dx while dx<=0 disp('niepoprawne dx') dx = input('podaj krok tabelaryzacji dx>0\ndx = '); % utworzenie ciągu argumentów x w przedziale [a, b] x = [a:dx:b]; %obliczenie wartości funkcji dla ciągu argumentów f = x.^3-2*(sin(x+1)).^2; %wykres plot(x,f,'kd:') %podpisy osi xlabel('x') ylabel('f(x)') %tytuł wykresu title('wykres funkcji f(x)=x^3-2*(sin(x+1))^2') leg('funkcja f(x)') grid on

18) FUNKCJA 5 Z WYKRESEM - TABELARYZACJA %dane: początek i koniec przedziału tabelaryzacji funkcji oraz liczba %argumentów funkcji %funkcja oblicza wartość dla ciągu argumentów, a następnie wykonany jest jej wykres % f(x) = x^2+1 dla x<=0 % f(x) = log10 (x+2)^3 dla x>0 clear %wczytanie danych a = input('podaj początek przedziału tabelaryzacji\na = '); b = input('podaj koniec przedziału tabelaryzacji, b>a\nb = '); %sprawdzenie poprawności danej b wraz z oczekiwaniem na poprawną wartość b while b<=a disp('niepoprawne b') b = input('podaj koniec przedziału tabelaryzacji, b>a\nb = '); n = input('podaj liczbę argumentów funkcji n liczba naturalna\nn = '); %sprawdzenie poprawności danej n wraz z oczekiwaniem na poprawną wartość %n while n<=0 disp('niepoprawne n') n = input('podaj liczbę argumentów funkcji n liczba naturalna\nn = '); %obliczenie dx dx = (b-a)/(n-1); % utworzenie ciągu argumentów x w przedziale [a, b] x = [a:dx:b]; %obliczenie wartości funkcji dla ciągu argumentów for i = 1:n, if x(i)>0 f(i) = log10((x(i)+2)^3) else f(i) = x(i)^2+1 %wykres plot(x,f,'kd:') %podpisy osi xlabel('x') ylabel('f(x)') %tytuł wykresu title('wykres funkcji f(x)') leg('funkcja f(x)') grid on

19) ZAPIS DO PLIKU WYNIKÓW W SPOSÓB FORMATOWANY %Program zapisuje na plik wynikowy o nazwie wyniki.txt zmienne, wektory i %macierze w sposób sformatowany % % stworzenie wektora x x = -3.5:0.5:10; % obliczenie długości wektora x % dl = length(x); % stworzenie macierzy A jednostkowej % A = eye(5); % zamiana pewnych elementów w wektorze x i macierzy A x(5:7) = 3 A(:,2) = 2 A(1) = 10 sumaw2w3 = sum(sum(a(2:3,:))) % zapis na ekran instukcją fprintf fprintf('wydruk wyników\n') fprintf('długość wektora x wynosi %5.0f\n',dl) fprintf('elementy wektora x\n') fprintf('%9.6f ',x) fprintf('\n\nelementy macierzy A:\n') fprintf('%10.2f %10.2f %10.2f %10.2f %10.2f\n',A') % % zapis na plik instukcją fprintf % % otwarcie pliku do zapisu fid = fopen('wyniki.txt','w') % zapis na plik fprintf(fid,'wydruk wyników\n'); fprintf(fid,'długość wektora x wynosi %5.0f\n',dl); fprintf(fid,'elementy wektora x\n'); fprintf(fid,'%9.6f\n',x); fprintf(fid,'\n\nelementy macierzy A:\n'); % A ma 5 wierszy i 5 kolumn fprintf(fid,'%10.2f %10.2f %10.2f %10.2f %10.2f\n',A'); % zamknięcie dostępu do pliku 0- poprawnie, -1 - niepoprawnie zamkniety_poprawnie = fclose(fid)

20) FUNKCJA Z JEDNYM WZOREM clear % wyczyszczenie przestrzeni roboczej %wczytanie danych z pliku load dane1.txt % w pliku 3 liczby: -5.5 6 0.15 a = dane1(1) b = dane1(2) dx = dane1(3) %wygenerowanie x-ów (argumentów w przedziale <a, b> z krokiem dx) x = a:dx:b; %obliczenie wartości funkcji f(x) % wzór funkcji f(x)= sin((x+2)^3)*cos((x+1)^2)+1 %f(x)nie może stać po lewej stronie znaku = %obliczamy wektor wartości funkcji, bo x jest wektorem (argumentów), a nie pojedynczą zmienną f = sin((x+2).^3).*cos((x+1).^2)+1; % tabelka tabelka = [x',f'] % do wykresu bierzemy wektory x i f plot(x,f) xlabel('x') %podpis przy osi X ylabel('f(x)') %podpis przy osi Y title('wykres funkcji f(x)') leg('f(x)') grid on 21) FUNKCJA Z PARAMETREM 1 %zadanie 1: obliczyć pojedynczą wartość funkcji f(x), która dana jest wzorem: %gdzie a - pewien dodatni parametr % f(x) = { 2 gdy x<=0 % { a+2 gdy x>a % { x+2 gdy x<=a %kolejne kroki: %wczytanie argumentu x x = input('podaj argument funkcji\nx = '); %wczytanie parametru a a = input('podaj parametr a - dodatnią liczbę rzeczywistą\na = '); %obliczenie wartości funkcji f(x) if x<=0 fx = 2; else % w tym miejscu prawdziwy jest warunek: x>0 if x>a fx = a+2; else fx = x+2; %wypisanie wyników fprintf('\ndla argumentu x = %6.2f i parametru a = %6.2f\n,x,a) fprintf('funkcja ma wartość %8.4f\n',fx)

22) FUNKCJA Z PARAMETREM 2 zadanie 2: obliczyć pojedynczą wartość funkcji f(x), która dana jest wzorem %gdzie a - pewien dodatni parametr, którego poprawna wartość jest %sprawdzana %gdy wartość a jest niedodatnia, to przerwane jest wprowadzanie danych % f(x) = { 7 gdy x<=0 % { a+5 gdy x>a % { x+1 gdy x<=a %kolejne kroki: %wczytanie danych: %wczytanie argumentu x x = input('podaj wartośc argumentu funkcji x = ') %wczytanie parametru a a = input('podaj wartośc parametru a>0, a = ') %sprawdzenie poprawności parametru a if a<=0 error('parametr a musi byc dodatni') %obliczenie wartości funkcji w zmiennej fx if x<=0 disp('wartośc funkcji dla x<=0') fx = 7; fprintf('dla argumentu x = %13.6f \ni parametru a = %13.6f \n',x,a) fprintf('wartośc funkcji wynosi %15.10f\n',fx) elseif x>a disp('wartośc funkcji dla x>0 i x>a') fx = a+5; fprintf('dla argumentu x = %13.6f \ni parametru a = %13.6f \n',x,a) fprintf('wartośc funkcji wynosi %15.10f\n',fx) else disp('wartośc funkcji dla x>0 i x<=a') fx = x+1; fprintf('dla argumentu x = %13.6f \ni parametru a = %13.6f \n',x,a) fprintf('wartośc funkcji wynosi %15.10f\n',fx)