
Výraz jako textový řetězec
Chceme-li vyhodnotit výraz zadaný jako textový řetězec, použijeme funkci eval() blíže popsanou v minulé kapitole.
Vyhodnocení výrazu x2+xy+1 v bodech x=2, y=3 pomocí textového řetězce:
|
Trochu jiná situace však nastane, pokud proměnné x a y budou vektory, např. x=[0,1], y=[1,2] a tedy z=[1,4] Je třeba si totiž uvědomit, že MATLAB bude výše definovaný výraz f vyhodnocovat maticově, tj. operace umocňování a násobení bude provádět maticově. Vyhodnocení v tomto případě selže, protože vektory x a y nemají příslušné rozměry pro tyto operace. Navíc nás ani maticové vyhodnocení nezajímá, neboť chceme, aby se jednotlivé operace provedly po složkách. Musíme tedy "dodat" tečky před operace násobení a umocňování (případně ještě dělení). To se dá provést buď ručně nebo pomocí funkce vectorize().
|
Takový postup platí samozřejmě i v případě, že by x a y nebyly vektory, ale matice (samozřejmě stejných rozměrů).
|
Pro řešení rovnic slouží funkce solve().
|