Funkcja pierwotna, całka oznaczona na podstawie funkcji pierwotnej

Podobne dokumenty
MATLAB tworzenie własnych funkcji

Ćwiczenie 4. Matlab - funkcje, wielomiany, obliczenia symboliczne

6. Całka nieoznaczona

Na podstawie informacji zdobytych na poprzednich zajęciach proszę wykonać następujące zadania:

Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach?

Całkowanie numeryczne

5. Całka nieoznaczona

Laboratorium 1b Operacje na macierzach oraz obliczenia symboliczne

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

Jarosław Wróblewski Analiza Matematyczna 2, lato 2016/17

Wykłady 11 i 12: Całka oznaczona

Obliczenia iteracyjne

Wykorzystanie programów komputerowych do obliczeń matematycznych

Laboratorium 7. Zad. 1 Całkowanie w Matlabie. Zapoznać i wypróbować komendy: Przekazywanie funkcji: sqr x.^2 a = sqr(5)

MATLAB Prowadzący: dr hab. inż. Marek Jaszczur Poziom: początkujący

Elementy metod numerycznych - zajęcia 9

Wstęp do chemii kwantowej - laboratorium. Zadania

Elementy rachunku różniczkowego i całkowego

Funkcja pierwotna. Całka nieoznaczona. Podstawowe wzory. Autorzy: Konrad Nosek

CAŁKOWANIE NUMERYCZNE

Rozkłady i ich dystrybuanty 16 marca F X (t) = P (X < t) 0, gdy t 0, F X (t) = 1, gdy t > c, 0, gdy t x 1, 1, gdy t > x 2,

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

Analiza Matematyczna MAEW101 MAP1067

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

Obliczenia Symboliczne

zajęcia 2 Definiowanie wektorów:

Informatyka 1. Wyrażenia i instrukcje, złożoność obliczeniowa

Lista 6. Kamil Matuszewski 13 kwietnia D n =

Całki podwójne. Definicja całki podwójnej. Jacek Kłopotowski. 25 maja Katedra Matematyki i Ekonomii Matematycznej

Wykłady z Matematyki stosowanej w inżynierii środowiska, II sem. 2. CAŁKA PODWÓJNA Całka podwójna po prostokącie

Zamiana ułamków na procenty oraz procentów na ułamki

Zadania do wykonania. Rozwiązując poniższe zadania użyj pętlę for.

1 Programowanie w matlabie - skrypty i funkcje

Make jest programem komputerowym automatyzującym proces kompilacji programów, na które składa się wiele zależnych od siebie plików.

Lab 10. Funkcje w argumentach funkcji metoda Newtona. Synonimy nazw typów danych. Struktury. Tablice struktur.

Wyrażenia arytmetyczne

Zadania z analizy matematycznej - sem. II Całki nieoznaczone

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

Matlab (5) Matlab równania różniczkowe, aproksymacja

1 Podstawy c++ w pigułce.

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

Maciej Grzesiak Instytut Matematyki Politechniki Poznańskiej. Całki nieoznaczone

13. Równania różniczkowe - portrety fazowe

Rozwiązywanie równań różniczkowych z niezerowymi warunkami początkowymi

JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.

1. WSTĘP.

Całkowanie numeryczne

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

Otrzymali Państwo od Pani dr Cichockiej przykładowe zadania na egzamin. Na ostatnich zajęciach możemy je porozwiązywać, ale ze względu na

Całki z funkcji trygonometrycznych. Autorzy: Tomasz Drwięga

y(t) = y 0 + R sin t, t R. z(t) = h 2π t

Całki niewłaściwe. Całki w granicach nieskończonych

Część XVII C++ Funkcje. Funkcja bezargumentowa Najprostszym przypadkiem funkcji jest jej wersja bezargumentowa. Spójrzmy na przykład.

Wykład 15. Matematyka 3, semestr zimowy 2011/ listopada 2011

Weźmy wyrażenie. Pochodna tej funkcji wyniesie:. Teraz spróbujmy wrócić.

Operatory arytmetyczne

Przykłady zastosowań funkcji tekstowych w arkuszu kalkulacyjnym

Całka nieoznaczona, podstawowe wiadomości

Programowanie w C++ Wykład 7. Katarzyna Grzelak. 23 kwietnia K.Grzelak (Wykład 7) Programowanie w C++ 1 / 40

Programowanie Delphi obliczenia, schematy blokowe

do MATLABa programowanie WYKŁAD Piotr Ciskowski

Równania nieliniowe. LABORKA Piotr Ciskowski

Obliczanie całek. Instytut Fizyki Akademia Pomorska w Słupsku

1 Podstawy c++ w pigułce.

Programowanie obiektowe, wykład nr 7. Przegląd typów strukturalnych - klasy i obiekty - c.d.

Funkcje i Procedury. Wyrazenien

Matlab Składnia + podstawy programowania

Elementarna analiza statystyczna

Wprowadzenie do programu Mathcad 15 cz. 1

Jeśli wszystkie wartości, jakie może przyjmować zmienna można wypisać w postaci ciągu {x 1, x 2,...}, to mówimy, że jest to zmienna dyskretna.

Część 4 życie programu

Język skryptowy: Laboratorium 1. Wprowadzenie do języka Python

Równania różniczkowe. Analiza Matematyczna. Aleksander Denisiuk

Instalacja

Zadanie nr 3: Sprawdzanie testu z arytmetyki

Wstęp do Programowania Lista 1

Przykład 1: Funkcja jest obiektem, przypisanie funkcji o nazwie function() do zmiennej o nazwie funkcja1

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

MATLAB ŚRODOWISKO MATLABA OPIS, PODSTAWY

Paul Erdős i Dowody z Księgi

Zajęcia: VBA TEMAT: VBA PROCEDURY NUMERYCZNE Metoda bisekcji i metoda trapezów

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

Podstawy obsługi pakietu GNU octave.

Modelowanie rynków finansowych z wykorzystaniem pakietu R

Rachunek całkowy funkcji wielu zmiennych

IX. Rachunek różniczkowy funkcji wielu zmiennych. 1. Funkcja dwóch i trzech zmiennych - pojęcia podstawowe. - funkcja dwóch zmiennych,

Podstawy Informatyki 1. Laboratorium 1

3 1 + i 1 i i 1 2i 2. Wyznaczyć macierze spełniające własność komutacji: [A, X] = B

Drugi sposób definiowania funkcji polega na wykorzystaniu polecenia:

Pętle i tablice. Spotkanie 3. Pętle: for, while, do while. Tablice. Przykłady

Środowisko R wprowadzenie. Wykład R1; Pakiety statystyczne

Zestaw 4. Rozdział 2: Analiza matematyczna

RÓWNANIA RÓŻNICZKOWE WYKŁAD 1

1 Wskaźniki i zmienne dynamiczne, instrukcja przed zajęciami

WYRAŻENIA ALGEBRAICZNE

Wprowadzenie do Mathcada 1

Jak napisać program obliczający pola powierzchni różnych figur płaskich?

Programowanie w C++ Wykład 6. Katarzyna Grzelak. 1 kwietnia K.Grzelak (Wykład 6) Programowanie w C++ 1 / 43

Kurs ZDAJ MATURĘ Z MATEMATYKI MODUŁ 2 Teoria liczby rzeczywiste cz.2

1 Funkcje elementarne

Transkrypt:

MATLAB - całkowanie Funkcja pierwotna, całka oznaczona na podstawie funkcji pierwotnej Do uzyskania funkcji pierwotnej służy polecenie int. Jest wiele możliwości jego użycia. Zobaczmy, kiedy wykonuje się prawidłowo, a kiedy nie (podane zostaną tylko niektóre warianty). Aby się w pełni przekonać, najlepiej wykonywać polecenia pojedynczo. int(x^2) % nie działa program nie wie, czym jest x x=3; % zdefiniowaliśmy zmienną x, nadaliśmy jej wartość int(x^2) % nie działa int nie może być stosowane do zwykłych zmiennych clear x % usuwamy zmienną x, spróbujemy inaczej int('x^2') % działa, ale Matlab sugeruje inny zapis int(sym('x^2')) % działa poprawnie int(sym('x^2+3*sin(5*x)')) % działa poprawnie Zatem pierwszy działający sposób można opisać następująco: int(sym('tu jakaś funkcja podcałkowa argumentu x')) takie podejście działa niezależnie, czy x jest jakkolwiek zdefiniowane, czy nie. Użycie funkcji sym zapewnia, prawidłową definicję wyrażenia symbolicznego - nie służącego do obliczenia konkretnej wartości, a do ogólnych obliczeń, sprawdź: x=3; int(sym('x^2+3*sin(5*x)')) % powyższa definicja nie miała wpływu na wynik Pamiętajmy, że jeśli wyrażenie podcałkowe będzie skomplikowane, nie uda się znaleźć funkcji pierwotnej, patrz np.: int(sym('exp(sin(log(x)))')) A teraz drugi sposób: zdefiniujemy x jako zmienną symboliczną, możemy to zrobić, pisząc x=sym('x') albo syms x Teraz wyrażenia zawierające x będą traktowane jako wyrażenia symboliczne int(wyrażenie zawierające x) int(x^2) % działa int(x^2+3*sin(5*x)) %

int(sym('x^2+3*sin(5*x)')) % nadal działa, sposób niezależny od definicji x Jeśli x jest zdefiniowane jako symboliczne, możemy zdefiniować kolejną zmienną, która będzie reprezentować funkcję podcałkową: syms x z=x^7+cos(x); int(z) Trzeci sposób funkcja podcałkowa zdefiniowana w pliku Tworzymy i zapisujemy plik z definicją funkcji podcałkowej function wynik=funcalk1(x) wynik=x^2+sin(x); Jeśli x jest zdefiniowane jako symboliczne, możemy napisać int(funcalk1(x)) % Niezależnie od tego, czy i jak jest zdefiniowane x, dla funkcji z pliku nie zadziała wariant pierwszy (choć działa dla funkcji standardowych, takich jak sin(x) czy exp(x)): int(sym('funcalk1(x)')) % Czwarty sposób funkcja podcałkowa zdefiniowana anonimowo Tworzymy funkcję anonimową funcalk2=@(x) x^5+exp(x); Dla x symbolicznego zadziała int(funcalk2(x)) % Podobnie jak dla funkcji plikowych nie zadziała int(sym('funcalk2(x)')) % Teraz sprawdźmy, co w przypadku, gdy funkcja podcałkowa plikowa lub anonimowa, jest funkcją większej liczby zmiennych. Tworzymy funkcję plikową function wynik=funcalk3(x,n) wynik=x^2+n*x;

Oba argumenty definiujemy jako symboliczne syms x n Sprawdźmy: int(funcalk3(x,n)) % całkowanie względem x int(funcalk3(x,n),x) % całkowanie względem x int(funcalk3(x,n),n) % całkowanie względem n Zatem drugi argument funkcji int określa zmienną, względem której całkujemy. Domyślnie u nas jest nią x. Przećwiczmy to samo dla funkcji anonimowej. syms x y funcalk4=@(x,y) x*y^2; int(funcalk4(x,y)) % całkowanie względem x int(funcalk4(x,y),x) % całkowanie względem x int(funcalk4(x,y),y) % całkowanie względem y Jeśli uda się znaleźć funkcję pierwotną, pozostaje tylko dopisać w funkcji int granice całkowania i można obliczyć całkę oznaczoną. Obliczmy kilka całek (powyższe definicje funkcji i zmiennych symbolicznych nadal obowiązują): int(sym('x^2+x'),0,2) int(funcalk1(x),0,2) int(funcalk2(x),0,1) int(funcalk3(x,n),0,2) int(funcalk3(x,n),x,0,2) int(funcalk3(x,n),n,0,2) int(funcalk3(x,3),x,0,2) int(funcalk4(x,y),1,2) Całka oznaczona obliczana numerycznie Jeśli znalezienie funkcji pierwotnej nie jest możliwe, pozostaje całkowanie numeryczne, znów poznamy kilka sposobów opartych na funkcji quad, korzystanie z niej jest podobne jak dla fzero. Sposób pierwszy quad('wyrazenie',a,b) wynikiem będzie całka z wyrażenia podcalkowego jako funkcji x w granicach od a do b; wyrażenie definiujemy dla zmiennej x, może ono zawierać standardowe funkcje jak sin(x), funkcje z pliku, ale nie funkcje anonimowe. W definicji funkcji podcałkowej operator potęgowania czynnika zależnego

od x, oraz operatory mnożenia lub dzielenia czynników zależnych od x piszemy z kropką. Jest tak dlatego, ponieważ obliczenia numeryczne odbywają się na konkretnym wektorze z węzłami z przedziału całkowania. Wartości funkcji obliczane są dla konkretnych węzłów, elementów tego wektora. quad('x.^2',0,2) % nie zadziała dla 'x^2' quad('x.^2 + 2*x.*sin(x)',0,2) przykład z funkcją z pliku function wynik=funcalk1(x) wynik=x.^2; % jeśli nie będzie kropki, quad nie zadziała quad('x.^2 + 2*x.*sin(x)+funcalk1(x)',1,2) przykład z funkcją anonimową funcalk2=@(x) cos(x); quad('x.^2 + 2*x.*sin(x)+funcalk2(x)',1,2) % nie zadziała Sposób drugi quad(@funkcja,a,b) funkcją (pisaną bez argumentu) może być standardowa funkcja matematyczna, lub funkcja z pliku. Zakładamy, że nadal mamy zdefiniowane funkcje funcalk1(x) plikowa i funcalk2(x) anonimowa. quad(@sin,0,pi) quad(@funcalk1,0,pi) % działa quad(@funcalk2,0,pi) % nie działa Jeśli chcemy bezpośrednio całkować funkcję anonimową, piszemy jej nazwę bez znaku @: quad(sin,0,pi) % nie działa quad(funcalk1,0,pi) % nie działa quad(funcalk2,0,pi) % działa Sposób trzeci, najbardziej uniwersalny quad(@(x) wyrazenie podcałkowe,a,b) wyrażenie podcałkowe może zawierać zarówno funkcje plikowe jak i anonimowe. Zakładamy, że nadal mamy zdefiniowane funkcje funcalk1(x) plikowa i funcalk2(x) anonimowa.

quad(@(x) x.^2,0,pi) quad(@(x) x.^2+sin(x).*exp(x),0,pi) quad(@(x) x.^2+sin(x).*exp(x)+funcalk1(x),0,pi) quad(@(x) x.^2+sin(x).*exp(x)+funcalk2(x),0,pi) quad(@(x) funcalk1(x).*funcalk2(x),0,pi) Zdefiniujmy plikową funkcję dwóch zmiennych function wynik=funcalk3(x,n) wynik=x.^2+n.*x; % dla quad muszą być kropki Numerycznie możemy obliczyć całkę z tej funkcji względem x tylko dla ustalonych wartości n: quad(@(x) funcalk3(x,0),0,pi) % n=0 quad(@(x) funcalk3(x,5),0,pi) % n=5 Możemy też obliczyć całkę względem n przy ustalonym x (dla funkcji quad formalnie zmienną całkowania pozostaje x, ale my zamieniamy sens argumentów funkcji funcalk3): quad(@(x) funcalk3(0,x),0,1) % x=0 quad(@(x) funcalk3(1,x),0,1) % x=1 albo prościej definiując wyrażenie podcałkowe jako funkcję n (bez potrzeby zamiany sensu argumentów), całkowanie też odbędzie się względem n quad(@(n) funcalk3(0,n),0,1) % x=0 quad(@(n) funcalk3(1,n),0,1) % x=1 Analogicznie będzie dla funkcji anonimowej: funcalk4=@(x,y) x.*y.^2; quad(@(x) funcalk4(x,0),0,1) % y=0 quad(@(x) funcalk4(x,5),0,1) % y=5 quad(@(x) funcalk4(0,x),0,1) % x=0 quad(@(x) funcalk4(1,x),0,1) % x=1 quad(@(y) funcalk4(0,y),0,1) % x=0 quad(@(y) funcalk4(1,y),0,1) % x=1

Zadania 1. Oblicz całkę 5 2 x+1sin(x 2 )ln(x+1)dx. 0 2. Stwórz 5-składnikowy wektor A, poszczególne elementy mają wartości L A n = sin( n π x ) 0 L (xl x2 )dx. Obliczenia wykonać dla L = 2. Rozwiązania (przykładowe sposoby): 1. quad(@(x) sqrt(2*x+1).*sin(x.^2).*log(x+1),0,5) 2. fun=@(x,n) sin(n*pi*x/2).*(2*x-x.^2); for n=1:5 A(n)=quad(@(x) fun(x,n),0,2); A