Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Hiras

#1
Ejercicios / Re: programa java
3 Junio 2011, 12:49 PM
gracias por la respuesta

te comento: return me suena de algo a recursividad, y no lo hemos dado en clase, por tanto no sé si me conviene utilizarlo para resolverlo

por otro lado he montado un código pero, evidentemente, no me entra en el bucle que deseo y la verdad no encuentro manera de solucionarlo

import java.util.*;
public class p6ej2 {

    public static void main(String[] args) {
        // Declaro variables
        double m,f1,f2,f3,E,pi,b,a;
        int i,nIt;

        //Se crea el objeto 'teclado' de clase Scanner
        Scanner teclado = new Scanner(System.in);

        //Se invoca al método println() del objeto System.out para
        //mostrar en pantalla un mensaje informativo sobre el programa
        System.out.println ("Raíz de la ecuación trascendenteal"
                + "x-cos(x)");

        //Pido al usuario que introduzca desde teclado el número máximo
        //de iteraciones a realizar y el error
        System.out.println("Introducir número máximo de iteraciones:");
        nIt = teclado.nextInt();
        System.out.println ("Introducir error:");
        E = teclado.nextDouble();

        //Inicializo
            a = 0;
            pi = 3.1416;
            b = pi/2;
            i = 0;
            m = (a+b)/2;
            f1 = m - Math.cos (m);

        //Estructura para resolver el problema
        while ((i< nIt) && (Math.abs(f1)>E)){

            f2 = a - Math.cos (a);
            f3 = b - Math.cos (b);

            if((f1>0 && f2<0)||(f2>0 && f1<0)) {
                //La raíz se encuentra en (a,m)
                b = m;
            }else {
                //La raíz se encuentra en (m,b)
                a = m;
            }
            i = i +1;
        }

            //Escribo la aproximación a la raíz de x-cos(x)
            System.out.println("La aproximación a la raíz de x-cos(x) es:"
                    + m);
            }

        }

simplemente se me queda en la primera aproximación..
#2
Ejercicios / programa java
23 Mayo 2011, 23:52 PM
hola a todos!
veréis se me resiste un ejercicio, y no sé ni por dónde pillarlo
trabajo en netbeans y se supone que debo ser capaz de resolverlo con selectivas e iterativas...pero no soy capaz de meterle mano :S

agradecería cualquier tipo de ayuda/consejo, gracias de antemano!!


Supongamos una ecuación f(x)=0, con raíz única en el intervalo (a, b). Obteniendo el punto medio del intervalo, m=(a+b)/2, pueden darse tres casos:
- Si f(m)=0 entonces m es la raíz.
- Si f(a) y f(m) tienen signos contrarios, como en la figura, la raíz está en el intervalo (a, m).
- Si no se cumple la condición anterior, la raíz estaría en el intervalo (m, b).
En los dos últimos casos se puede repetir el proceso para el nuevo intervalo, cada vez más pequeño.
Teniendo esto en cuenta, realizar un programa para obtener una aproximación a la raíz de la ecuación trascendente x-cos(x)=0 en el intervalo (0, π/2). El algoritmo finalizará cuando se encuentre un valor de m tal que |x-cos(x)|<ε o el número de iteraciones realizadas supere un determinado valor.