|
|
10. Toolbox symbolické matematiky |
|
|
|
- Kdo se chce seznámit s toolboxem dopodrobna, stačí,
aby napsal příkaz help symbolic a nejde popis
všech funkcí a demo programů
- Toolbox slouží jako nástroj pro obecné výpočty
(derivace, primitivní fce, řešení diferenciálních
rovnic etc.)
- K práci je nutno zavést si nejprve symbolické proměnné,
buď příkazem sym('prom') nebo syms prom1 prom2
- Pak je možno pracovat dále
- Derivace se vypočte příkazem diff, integrál
int, řešení rovnice pomocí příkazu solve či
dsolve (v případě diferenciální rovnice).
Argumenty příkazů se uzavírají mezi apostrofy
- Výsledek symbolického výpočtu je možno převést do
proměnných výpočetního prostředí MATLABu pomocí příkazu
double(symbol_prom)
- Pro diferenciální funkce se pro jednotlivé derivace
(např. dy/dx) používá značení velké D, vyšší pak
D2 atd.
- Pokud se zdá výsledek příliš složitý, je možno požádat
o jeho zjednodušení příkazem simple(prom)
- Pokud se zdá výsledek příliš "ošklivý", je možno požádat
o jeho úpravu příkazem pretty(prom)
|
|
|
|
Příklad 10A.1: |
|
|
Řešte rovnici x2+5x+6=0 |
|
|
Řešení: |
|
|
clear all, syms x |
xx=solve('x^2+5*x+6=0') |
% variantni zapis je také xx=solve(x^2+5*x+6) |
double(xx) |
|
|
|
|
Příklad 10A.2: |
|
|
Řešte soustavu rovnic:
x2+xy+y=3
x2-4x+3=0 |
|
|
Řešení: |
|
|
clear all |
syms x y |
[x,y] = solve('x^2+x*y+y=3','x^2-4*x+3=0') |
|
|
|
|
Příklad 10A.3: |
|
|
Řešte diferenciální rovnici
y’=-5x. Řešte tutéž rovnici s počáteční podmínkou y(0)=1. |
|
|
Řešení: |
|
|
clear all, syms y |
y = dsolve('Dy = -5*y'), pause |
y = dsolve('Dy = -5*y', 'y(0)=1') |
|
|
|
|
Příklad 10A.4: |
|
|
Vypočtěte derivaci funkce
(5x5ex)/250 |
|
|
Řešení: |
|
|
clear all, syms x, x=diff('5*exp(x)/250*x^5'); simple(x) |
|
|
|
|
Příklad 10A.5: |
|
|
Řešte nelineární diferenciální
rovnici (y'')2+y2=1, y(0)=0 |
|
|
Řešení: |
|
|
clear all, syms y, y = dsolve('(Dy)^2+y^2=1','y(0)=0') |
|
|
|
|
Příklad 10A.6: |
|
|
Řešte diferenciální rovnici 2. řádu
y''=-5y, y(0)=1, y'(/5)=0 |
|
|
Řešení: |
|
|
clear all |
syms y, y = dsolve('D2y=-5^2*y', 'y(0)=1, Dy(pi/5)=0') |
|
|
|
|
Příklady pro samostatné vypracování |
|
|
Příklad 10B.1: |
|
|
Řešte rovnice: |
|
|
x2-3x+2=0 |
x5-3x+2=0 |
x2-2=0 |
x5-1=0 |
x3-1=0 |
2x3+10=0 |
ex-cos(x+5)=0 |
ex+sin(3x-7)=0 |
|
|
|
|
Příklad 10B.2: |
|
|
Řešte diferenciální rovnice: |
|
|
y'=2x sqrt(1-x2) |
a) x=1, y=2
b) x=sqrt(), y=0
c) x=-6, y=1
|
y'=-x (1+2y)/(1+x2) |
a) x=0, y=0
b) x=1, y=-0.25
c) x=1, y=0.5
d) x=-1, y=-1
|
y'=cotg(x) (y+1) |
a) x=/4, y=0
b) x=7/6, y=-2
|
y'''=[(y'')3-y'']/x |
a) x=-1, y=-,
y'= , y''=-2/sqrt(3)
b) x=1, y=1, y'=1, y''=-1
|
|
|
|
|
Seznam použitých příkazů |
|
|
sym, syms, diff, int, solve, dsolve, double, D, simple, pretty
|
|
|
|
|