NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: rovnice s intervalem pro řešení

V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.

Jak se ti líbí článek?
Před uložením hodnocení, popiš prosím autorovi, co je špatněZnaků 0 z 50-500
Jak se ti kurz líbí?
Tvé hodnocení kurzuZnaků 0 z 50-500
Aktivity
Avatar
vasatom
Člen
Avatar
vasatom:19.11.2013 2:15

Ahoj, řeším problém, kde má program počítat x z rovnice když zadám pravou stranu. X má být v intervalu <0.1>. A pravá strana se zadává ručně z intervalu <-117,679>. Nefunguje mi to pro -117. Nevíte prosím jak to udělat? výsledné x má být s přesností na 4 desetinná místa.

Scanner sc = new Scanner(System.in);

      System.out.println("Program pro vypocet x z rovnice (x+3)^5 - 15*(x-2)^3 - 30*(x-4)^2 = pravaStrana");
      System.out.println("Zadejte pravou stranu rovnice z intervalu <-117,679>:");
      int pravaStrana = sc.nextInt();
      double x=0;
      double vysledneX = 0;

  for (double i=0.00001; i<1; i+=0.00001)
  {
    if (Math.pow(x + 3, 5) - 15 * Math.pow(x - 2, 3) - 30 * Math.pow(x - 4, 2)<pravaStrana){

        x = i;}}

  vysledneX = x;
   System.out.println("---Vysledky---");
      System.out.println("Resenim rovnice");
      System.out.println("(x+3)^5 - 15*(x-2)^3 - 30*(x-4)^2 =" +pravaStrana);
      System.out.println("je:");
      System.out.printf(Locale.US, "%6.4f%n", vysledneX);
 
Odpovědět
19.11.2013 2:15
Avatar
Silvinios
Tvůrce
Avatar
Odpovídá na vasatom
Silvinios:19.11.2013 7:14

Co ti nefunguje? Je-li pravá strana -117, výsledek x = 0 je správný.

Možná Ti ale unikl smysl té úlohy. Funkce

f(x) = (x+3)^5 - 15*(x-2)^3 - 30*(x-4)^2

je na intervalu <0,1> rostoucí a nabývá hodnot z intervalu <-117,679>. Nenapadá Tě lepší algoritmus?

Editováno 19.11.2013 7:14
 
Nahoru Odpovědět
19.11.2013 7:14
Avatar
vasatom
Člen
Avatar
vasatom:19.11.2013 8:56

ani nevím, ale při odevzdání mi učitel řekl, že tam mám něco špatně. Nevím jak jinak to napsat, jestli mě nějak prosím tě navedeš?

 
Nahoru Odpovědět
19.11.2013 8:56
Avatar
Silvinios
Tvůrce
Avatar
Odpovídá na vasatom
Silvinios:19.11.2013 17:48

Nejdřív jsi psal, že Ti program nefunguje pro -117 a teď píšeš, že ani nevíš, co ti nefunguje. Je ještě něco co (ne)víš?

Pravá strana musí být celočíselná?

Pokud jde o algoritmus, použil bych půlení intervalů.

 
Nahoru Odpovědět
-1
19.11.2013 17:48
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.