dr inż. Maciej Kraszewski

inżynier

menedżer R&D

nauczyciel akademicki

dr inż. Maciej Kraszewski

inżynier

menedżer R&D

nauczyciel akademicki

Środowisko obliczeniowe Octave. Blok 3

Rozwiązywanie równań nieliniowych. Programowanie funkcyjne. Optymalizacja.

Cele zajęć

  • Poznanie metod numerycznego rozwiązywania równań nieliniowych.
  • Poznanie zasad tworzenia własnych funkcji w środowisku MATLAB/Octave.
  • Poznanie podstawowych narzędzi programowania funkcyjnego w środowisku MATLAB/Octave.

Zadanie 3.1

Napisz w środowisku MATLAB/Octave skrypt, który z dokładnością do 1 mikroampera obliczy prąd płynący w obwodzie złożonym z połączonych szeregowo: źródła napięcia 5 V, rezystora 1000 ohm i diody półprzewodnikowej o prądzie nasycenia 15 nA i współczynniku n = 1,6. Przyjmij wartość potencjału termicznego Ut=25 mV.

Deadline na wykonanie zadania: 09.04.2020

Dodatkowe 50% punktów za przesłanie rozwiązania do dnia 03.04.2020 włącznie.

Materiały wprowadzające do zadania:

Errata: Pierwszy wzór w drugim filmie (0:31) powinien mieć postać U=IR+Ud, a nie U=IR-Ud.

Przykładowe rozwiązanie do ściągnięcia tutaj.

Zadanie 3.2

Wykonaj ponowanie zadanie 3.1, ale tym razem wykorzystując metodę Newtona-Raphsona i stosując jako pierwsze przybliżenie właściwego wyniku wartość 0.58 V.

Deadline na wykonanie zadania: 16.04.2020

Dodatkowe 50% punktów za przesłanie rozwiązania do dnia 10.04.2020 włącznie.

Materiały wprowadzające do zadania:

Zadanie 3.3

Napisz ogólną funkcję rozwiązującą równania nieliniowe o postaci f(x)=0 za pomocą metody Newtona – Raphsona.

Funkcja powinna mieć następującą postać:

function x = nonlinear_solve(fun, derivative, x0)

Znaczenie poszczególnych zmiennych jest następujące:

  • fun – uchwyt do funkcji obliczającej wartość f(x),
  • derivative – uchwyt do funkcji obliczającej pochodną f(x),
  • x0 – początkowe rozwiązanie,
  • x – znalezione rozwiązanie równania.

Jako rozwiązanie należy przesłać zestaw plików .m, które będą zawierać funkcję nonlinear_solve, funkcje obliczające f(x) i pochodną f(x) dla przykładu f(x)=x^2 oraz skrypt demonstrujący poprawność rozwiązania.

Deadline na wykonanie zadania: 30.04.2020

Dodatkowe 50% punktów za przesłanie rozwiązania do dnia 23.04.2020 włącznie.

Materiały wprowadzające do zadania: