Rešitev: program Ničle dane funkcije (Mathematica)

Iz MaFiRaWiki

Naloga: program Ničle dane funkcije

Sestavimo program:

Clear[nicle,f]
nicle[f_]:=x/.Union[Solve[f[x]==0,x]]

Primer:

f[x]:=(x-2)2(x+4)
nicle[f]

vrne seznam ničel:

{-4,2}

Kako bi s pomočjo tega programa rešili naslednjo nalogo?

Navodilo naloge se glasi: Imate podani funkciji f in g. Izračunajte njuni presečišči!

Z ukazom Factor polinoma razstavimo zato, da lahko preberemo ničle.
f[x_]:=Factor[9*x6+21*x5-23*x4-49*x3+30*x2+20*x-8] 
g[x_]:=Factor[6*x4-11*x3-16*x2+11*x+10]
S funkcijo neclef dobimo seznam ničel f[x].
niclef[f_]:=x/.Union[Solve[f[x]==0]]
niclef[f]
{-2,-2/3,1/3,1}
S funkcijo necleg dobimo seznam ničel g[x].
nicleg[g_]:=x/.Union[Solve[[g[x]==0]]
nicleg[g]
{-1,-2/3,1,5/2}

Z ukazom Intersection dobimo presek obeh seznamov ničel f in g.
Intersection[niclef[f],nicleg[g]]
{-2/3,1}

Glej tudi

Osebna orodja