Válí se ti projekty v šuplíku? Dostaň je mezi lidi a získej cool tričko a body na profi IT kurzy v soutěži ITnetwork summer 2017!
Přidej si svou IT školu do profilu a najdi spolužáky zde na síti :)

Diskuze: rovnice s intervalem pro řešení

Java Java rovnice s intervalem pro řešení

Aktivity (1)
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
Redaktor
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
Redaktor
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.