podmienený príkaz

Programovacie jazyky, rady, poradňa...
semhamforas
Light Expert
Light Expert
Príspevky: 44
Registrovaný: 02 sep 2011, 14:40

podmienený príkaz

Príspevok od používateľa semhamforas »

mám danú priamku y=ax+b

Program
ak a=0
-vypíše konštantnú funkciu a vykresli graf funkcie

ak a>0 sprav rastucu funkciu + graf

ak a<0 sprav klesajucu funkciu + graf

+ výpis: a= b=

mam spravit takýto program. Má to byť v programe wolfram mathematica no ak by to niekto vedel spravit hoc aj v inom programe tak by to sem mohol napísat lebo ja si neviem dat rady
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: podmienený príkaz

Príspevok od používateľa BX »

Na čo už toto treba trepať do podmieneného výrazu? :shock:

Každopádne, pozri si ako funguje funkcia Plot, ako sa definujú funkcie a ako sa robia podmienky.
Všetko zistíš z manuálov:

Kód: Vybrať všetko

?Plot;
?If;
?Function;
semhamforas
Light Expert
Light Expert
Príspevky: 44
Registrovaný: 02 sep 2011, 14:40

Re: podmienený príkaz

Príspevok od používateľa semhamforas »

BX napísal:Na čo už toto treba trepať do podmieneného výrazu? :shock:

Každopádne, pozri si ako funguje funkcia Plot, ako sa definujú funkcie a ako sa robia podmienky.
Všetko zistíš z manuálov:

Kód: Vybrať všetko

?Plot;
?If;
?Function;
plot pouzit viem

normalne gf=Plot[f[x],{y,-5,5}] -roro je len príklad
If je zasa podmenka to viem tiež

Ale ako vytvoriť tento program netusím. Nemáme tam zadané ziadne císla ktré mame dosadit za b a x, cize predpokladam ze to ma dosadit ten program tak, aby to súhlasilo. A to vobec netusím ako vytvorit aj ked ti základy ako tak ovládam
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: podmienený príkaz

Príspevok od používateľa BX »

Ešte by som to možno chápal cez Manipulate, ale aký program? Žiadny program. Buď si zle napísal zadanie, ale sa učíte divné veci.
semhamforas
Light Expert
Light Expert
Príspevky: 44
Registrovaný: 02 sep 2011, 14:40

Re: podmienený príkaz

Príspevok od používateľa semhamforas »

tak možno to neni program ale má to jednoducho toto spravit. A to neviem ako mám docieliť.
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: podmienený príkaz

Príspevok od používateľa BX »

Ja si to predstavím nejako takto, ale to nemá nič s podmieneným výrazom

Kód: Vybrať všetko

Manipulate[Plot[a*x + b, {x, 0, 10}], {a, -10, 10}, {b, -10, 10}]
Skôr by som povedal, že si normálne zadefinuj a = 5; b = 10; a sprav to pekne cez funkcie a podmienky. A a sa bude meniť manuálne.
semhamforas
Light Expert
Light Expert
Príspevky: 44
Registrovaný: 02 sep 2011, 14:40

Re: podmienený príkaz

Príspevok od používateľa semhamforas »

Ok seriem na to, zajtra sa tej ucitelky opýtam. Ono spravit tuto blbost by nebol problem ak by mi zadala konkretne cisla ktore mam dosadit no takto ani nechapem co odomna chce. Graf nakreslit viem aj ak ak si zadam konkretne cisla (co by v podstate aj malo fungovat od - nekonecna po nekonecno).
skor nechapem tomu ze to ma vypísať konstantnu,rastucu alebo klesajucu funkciu
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: podmienený príkaz

Príspevok od používateľa BX »

Možno že to má vypísať tá funkcia. Máš teda tri funkcie (pre a == 0, a > 0, a < 0) a v každej máš Print["Funkcia je..."] a Plot[]
To by šlo. Ale nevidím v tom vôbec zmysel.
semhamforas
Light Expert
Light Expert
Príspevky: 44
Registrovaný: 02 sep 2011, 14:40

Re: podmienený príkaz

Príspevok od používateľa semhamforas »

zmysel v tom príliš nehladaj, to sme dostali len tak z haluze ako DÚ. Jedna nebola problém, to som mal spravit kroky na vstrekovanie paliva do lodného motora, to som mal hned. Ale tomuto zadaniu ani zamak nechapem.

Ale inak asi je to tak, ako hovoríš ked tak nad tým uvažujem.

Ako ta mám teda zacat? S If[a == 0, a > 0, a < 0

]

Alebo mam dat kazdu podmienku zvlast?
Sorry z takto otravujem no fakt mi to prilis do hlavy nejde, tieto podmienky sme v skole nerobili (odpadla hodina a mame sa to doucit samy)
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: podmienený príkaz

Príspevok od používateľa BX »

Podľa mňa stačia tri funkcie a tri podmienky. Hotovo, nič viac.
semhamforas
Light Expert
Light Expert
Príspevky: 44
Registrovaný: 02 sep 2011, 14:40

Re: podmienený príkaz

Príspevok od používateľa semhamforas »

Takto nejak si to myslel?


f[x] = a*x + b

If[a == 0,
Print["funkcia je y=0*3+6"]
Plot[f[x], {x, -5, 5}]

f[a > 0,
Print["funkcia je y=3*3+6"]
Plot[f[x], {x, -5, 5}]
]

Nejako mi to aj tak nejde, čo mam prosim ta zle?
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: podmienený príkaz

Príspevok od používateľa BX »

Funkcie sú na to, aby si DO NICH dal čo najviac. Pekne si ich zadefinuj ako
Fce1[a_, b_] := { Print["Funkcia je konstantna"]; Plot[a*x + b, {x, 0, 10}]};

A z podmienky volaj len toto.
semhamforas
Light Expert
Light Expert
Príspevky: 44
Registrovaný: 02 sep 2011, 14:40

Re: podmienený príkaz

Príspevok od používateľa semhamforas »

teraz nerozumiem, podmienky mam dat kam?
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: podmienený príkaz

Príspevok od používateľa BX »

Funkcia1;
Funkcia2;
Funkcia3;
Podmienka a==b, Funkcia1;
Podmienka a > b, Funkcia2;
Podmienka a < b, Funckia3;
semhamforas
Light Expert
Light Expert
Príspevky: 44
Registrovaný: 02 sep 2011, 14:40

Re: podmienený príkaz

Príspevok od používateľa semhamforas »

f[x]=a*x+b

If[a == 0,
Print["funkcia je konstanta"]
Plot[f[x], {x, 0, 10}]


f[x]=a*x+b

If[a >0,
Print["funkcia je rastuca"]
Plot[f[x], {x, 0, 10}]

Takto to myslíš?
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: podmienený príkaz

Príspevok od používateľa BX »

Máš zle zadefinovanú funkciu. Už som tu písal príklad, prečítaj si ho ešte raz. To čo si napísal ty, nedáva zmysel. X sa má meniť, preto ostane x-om a pôjde ako parameter pre Plot. Ty chceš predsa zaviesť do lineárnej funkcie koeficienty a a b
semhamforas
Light Expert
Light Expert
Príspevky: 44
Registrovaný: 02 sep 2011, 14:40

Re: podmienený príkaz

Príspevok od používateľa semhamforas »

Fce1[a_, b_]

Takto ma byt podla teba zadefinovana?

alebo to má byť zadefinovane len a*x+b v tomto tvare bez nicoho?

//autoeditácia príspevku (08 Dec 2011, 0:06)
a*x+b

If[a == 0,
Print["funkcia je konstanta"]
Plot[a*x + b, {x, 0, 10}]


a*x+b

If[a >0,
Print["funkcia je rastuca"]
Plot[a*x + b, {x, 0, 10}]

Takto teda? Už fakt neviem ako by om to mal upravit ak ani toto neni dobre
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: podmienený príkaz

Príspevok od používateľa BX »

Áno, funkcia sa definuje práve takto

Kód: Vybrať všetko

Funkcia[_p1, _p2] := p1 + p2;
Je funkcia s názvom Funkcia, s dvoma parametrami p1 a p2 a vracia ich súčet.

Ty chceš, aby funkcia z parametrov 10 a 5 spravila 10x + 5. To sa potom použije v Plot ako Plot[funkcia[10,5], {x,-10,10}];
Určite máte Mathematiku keď sa v nej učíte. Otvor ju a skúšaj.
semhamforas
Light Expert
Light Expert
Príspevky: 44
Registrovaný: 02 sep 2011, 14:40

Re: podmienený príkaz

Príspevok od používateľa semhamforas »

Ved to skusam celý čas, nepýtal by som sa tu asi zbytočne.

Ja tu nevidím nejaký zvlášť velký rozdiel v tom čo píšeš ty a čo píšem ja, ja tu funkciu oznacim ako f a ty napíšeš celým slovom ze funkcia. Ved to je uplne jedno.
A ja v tej funkcii nemam 2 parametre ale rovno 3 to a potom x a nakoniec b

//autoeditácia príspevku (08 Dec 2011, 0:31)
tak, a==0 som napísal takto

f[x_, b_] := a*x + b
a = 0;
If[a == 0, Print["funkcia je konstanta"] Plot[f[5, 7], {x, 0, 10}]]

napísalo mi to graf aj to ze funkcia je konstanta

no ak písem

f[x_, b_] := a*x + b
a < 0;
If[a < 0, Print["funkcia je klesajuca"] Plot[f[-5, 2], {x, 0, 10}]]

tak to nechce spravit nic. Preco?
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: podmienený príkaz

Príspevok od používateľa BX »

f[x] = a*x + b;
f[_a, _b] := a*x + b;

Ak v tomto nevidíš rozdiel, tak je mi to veľmi ľúto.
Napísať odpoveď