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
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
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.
Offline
Ve smyčce do podmínky dáš break
Offline
↑ 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
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
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
↑ 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