Matematické Fórum

Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.

Nástěnka
22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.

Nejste přihlášen(a). Přihlásit

#1 11. 01. 2022 14:00

Pomeranc
Příspěvky: 682
Pozice: student
Reputace:   10 
 

Matlab, ukončení funkce

Ahoj,

programuji něco v Matlabu a používám k tomu funkce.
V nich různě ověřuji podmínky a mám zastavovací kritéria. Problém je, že nevím, jak přesvědčit Matlab, aby přestal ve funkci počítat,
například když se naplní zastavovací kritérium a dal mi to, co prozatím spočítal.
Zkoušela jsem return, stop , ale u obou věcech si "stěžoval".

Offline

 

#2 11. 01. 2022 15:48 — Editoval check_drummer (11. 01. 2022 16:01)

check_drummer
Příspěvky: 4623
Reputace:   99 
 

Re: Matlab, ukončení funkce

Ahoj, v jiných jazycích musí být za returnem číslo (nebo výraz), dáváš ho tam? Třeba return 10. Ale nevím co v Matlabu.
Řekl bych, že je logické, že když použiješ ten samý příkaz, který slouží k vrácení výsledku funkce, že tím i tu funkci přerušíš. :-)
Možná přiřadit hodnotu do proměnné ozančující jméno funkce a dát za to return, přesnou syntaxi neznám.


"Máte úhel beta." "No to nemám."

Offline

 

#3 11. 01. 2022 18:07

mák
Místo: Vesmír, Galaxie MD
Příspěvky: 864
Reputace:   61 
 

Re: Matlab, ukončení funkce

Ve smyčce do podmínky dáš break


LibreOffice Verze: 7.6.6.3, Maxima 5.47.0 (SBCL)

Offline

 

#4 13. 01. 2022 13:09

Pomeranc
Příspěvky: 682
Pozice: student
Reputace:   10 
 

Re: Matlab, ukončení funkce

↑ mák:

Děkuji, zkoušela jsem to a důležitá je tam opravdu ta smyčka. U případů bez smyčky to nefunguje.

Offline

 

#5 13. 01. 2022 13:15

Pomeranc
Příspěvky: 682
Pozice: student
Reputace:   10 
 

Re: Matlab, ukončení funkce

↑ check_drummer:

Zkoušela jsem dát samotné return i return s číslem, ale ani jedno mi nefungovalo. Nicméně return s číslem už jsem někdy v Matlabu použité viděla.
Posílala jsem ten algoritmus vyučujícímu, tak myslím, že snad na ten problém s return narazí a nějak se k tomu vyjádří. Nicméně si dává trošku načas :/ .

Offline

 

#6 13. 01. 2022 15:15

MichalAld
Moderátor
Příspěvky: 4865
Reputace:   125 
 

Re: Matlab, ukončení funkce

Pomeranc napsal(a):

↑ mák:

Děkuji, zkoušela jsem to a důležitá je tam opravdu ta smyčka. U případů bez smyčky to nefunguje.

V C-like jazycích break přerušuje smyčku, ale né funkci. To bude asi v matlabu stejné.

Pokud za return dáš nějakou proměnnou nebo hodnotu, musí její typ asi taky odpovídat tomu, co s tím dělá ten kód, co funkci zavolal. V "céčku" se musí definovat typ návratová hodnoty funkce, v matlabu se to myslím nedělá, tam se to řeší až za běhu. Pokud ale funkce vrací číslo, a ty se to pak snažíš použít jako vektor, tak asi vznikne problém. Ale nevím, nikdy jsem v tom nic moc neprogramoval.

Offline

 

#7 12. 03. 2022 23:38

Penthos
Zelenáč
Příspěvky: 2
Škola: VŠB-TUO
Pozice: Student
Reputace:   
 

Re: Matlab, ukončení funkce

Zdrávím chci se zeptat jestli by mi někdo nepomohl jak v MATLABU udelat tuto úlohu prosím???
Aproximujte, ve smyslu metody nejmenších ˇctverc ˚u, zadaná data pˇrímkou a parabolou.
Porovnejte obˇe nalezené kˇrivky do grafu se zadanými daty


x=1 2 3 4 6
y=1 -2 5 8 4

Offline

 

#8 13. 03. 2022 16:04 — Editoval laszky (17. 03. 2022 17:21)

laszky
Příspěvky: 2358
Škola: MFF UK, FJFI CVUT
Reputace:   195 
 

Re: Matlab, ukončení funkce

↑ Penthos:

Ahoj, zkus treba

x=[1 2 3 4 6];
y=[1 -2 5 8 4];
p1=polyfit(x,y,1);
p2=polyfit(x,y,2);
plot(x,y,'o');
axis([0 7 -3 9]);
hold on
z=1:0.1:6;
plot(z,polyval(p1,z),z,polyval(p2,z));

Offline

 

#9 20. 03. 2022 16:26

Penthos
Zelenáč
Příspěvky: 2
Škola: VŠB-TUO
Pozice: Student
Reputace:   
 

Re: Matlab, ukončení funkce

↑ laszky:

děkuji moc krat za pomoc

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson