elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  [?] ¿Cómo hacer la derivada en c++ sin funciones de biblioteca?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [?] ¿Cómo hacer la derivada en c++ sin funciones de biblioteca?  (Leído 4,147 veces)
asa5

Desconectado Desconectado

Mensajes: 11


Ver Perfil
[?] ¿Cómo hacer la derivada en c++ sin funciones de biblioteca?
« en: 14 Diciembre 2017, 18:47 pm »

¡Hola!

Gracias por leer mi mensaje, y en adelanto por la respuesta ^w^.

El problemilla que tengo es que tengo que evaluar un polinomio en una x dada por el usuario, con un grado que nos da este, y calcular la derivada del polinomio.

La primera parte lo he conseguido, pero estoy estancado con lo de la derivada, al principio lo hice con pow para hacerme una idea, pero como era un bucle quise reducir el coste computacional, y hasta ahí bien, pero el problema es que cuando intenté unir las dos funciones para que no me pidiese los coeficientes 2 veces, pues me quedé estancado porque la función nunca calcula la derivada, sino algo raro.

Por ejemplo, la primera derivada de:
2x^2 + 2x + 2 = 10 cuando x = 2.

¿Alguna idea? mi código es el siguiente:

#include <iostream>
#include <cmath>

using namespace std;

unsigned Potencia(unsigned grado, float x)
{
    unsigned elevado=1;
    for(unsigned i = 1; i <= grado; i++)
    {
        elevado = elevado * x;
    }
    return elevado;
}

void f_de_x(unsigned grado, float coeficiente, float x)
{
    float potencia1=1, potencia2=1, polinomio, derivada;

    for(unsigned i=grado+1; i>0; i--)
    {
        cout << "Introduzca el coeficiente enesimo n = " << 1+grado-i << endl;
        cin >> coeficiente;
        polinomio = polinomio + coeficiente * potencia1;
        potencia1 = x * potencia1;
        potencia2 = Potencia(i-1, x);
        derivada = derivada + i * coeficiente * potencia2;
        cout<<derivada<<endl;
    }
    cout << "El resultado del polinomio es: " << polinomio << endl;
    cout << "El resultado de la derivada es: " << derivada << endl;
}

int main()
{
    unsigned grado;
    float x, coeficiente;
    cout << "Grado del polinomio." << endl;
    cin >> grado;

    cout << "X donde evaluar el polinomio." << endl;
    cin >> x;
    f_de_x(grado, coeficiente, x);

}


¡Muchas gracias!


« Última modificación: 15 Diciembre 2017, 13:12 pm por asa5 » En línea

CalgaryCorpus


Desconectado Desconectado

Mensajes: 323


Ver Perfil WWW
Re: ¿Cómo hacer la derivada en c++ sin funciones de biblioteca?
« Respuesta #1 en: 14 Diciembre 2017, 19:30 pm »

Por que si x es float, la potencia es un unsigned?


En línea

Aqui mi perfil en LinkedIn, invitame un cafe aqui
asa5

Desconectado Desconectado

Mensajes: 11


Ver Perfil
Re: ¿Cómo hacer la derivada en c++ sin funciones de biblioteca?
« Respuesta #2 en: 14 Diciembre 2017, 23:27 pm »

Por que si x es float, la potencia es un unsigned?
Supongo que un pequeño fallo de programador novato x'D
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Biblioteca de funciones (Para descargar) « 1 2 »
Programación Visual Basic
Zeroql 15 7,210 Último mensaje 2 Agosto 2009, 21:07 pm
por BlackZeroX
Dudas con DERIVADA
Dudas Generales
kaskull 4 3,553 Último mensaje 25 Octubre 2011, 22:34 pm
por kaskull
ayuda con una derivada
Foro Libre
flacc 2 2,442 Último mensaje 20 Mayo 2013, 08:52 am
por flacc
quiero saber como crear una biblioteca de graficos en c.
Dudas Generales
sudomauro9000 2 2,830 Último mensaje 14 Marzo 2014, 03:02 am
por sudomauro9000
¿Cómo hacer que una biblioteca sea multiplataforma?
Programación C/C++
deleted_account 2 2,164 Último mensaje 22 Enero 2018, 21:52 pm
por deleted_account
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines