Matematické Fórum


1. 8. 2026 (L) Fórum bude brzy uzavřeno 😿

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

#1 11. 01. 2022 14:00

Pomeranc
Příspěvky: 683
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: 5578
Reputace:   106 
 

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: 920
Reputace:   63 
 

Re: Matlab, ukončení funkce

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


LibreOffice Verze: 25.8.4.2, Maxima 5.49.0 (SBCL)

Offline

 

#4 13. 01. 2022 13:09

Pomeranc
Příspěvky: 683
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: 683
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: 5367
Reputace:   130 
 

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: 2407
Škola: MFF UK, FJFI CVUT
Reputace:   202 
 

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