You are on page 1of 26

UNACH

FACULTAD DE INGENIERIA

EQUIPO # 4

INTEGRANTES:
 Sánchez Narváez Mario Nolberto.
 Morales de la Cruz Enrique.
 Vázquez Martínez Edilberto.

Grado y Grupo:
2° “A”

MATERIA:
Programación por Computadoras.

TEMA:
Método de Müller.

CATEDRATICO:
Dr. Herrera Galicia Ruben.

TUXTLA GUTIÉÉ RRÉZ, CHIAPAS A


VIÉRNÉS 14 DÉ NOVIÉMBRÉ DÉ 2014.

U N A C H / FA C U LTA D D E I N G E N I E R I A C I V I L Página 20
MÉTODO DE MULLER
Este es un método para encontrar las raíces de ecuaciones polinomiales con raíces
múltiples, de la forma general:

f n ( x )  a 0  a1 x  a 2 x 2  .......  a n x n

Donde n es el orden del polinomio y las a son coeficientes constantes. Continuando con los
polinomios, estos cumplen con las siguientes reglas:

 Para la ecuación de orden n, hay n raíces reales o complejas. Se debe notar que esas raíces
no son necesariamente distintas.

 Si n es impar, hay al menos una raíz real.

 Si las raíces complejas existen, existe un par conjugado.

Un predecesor del método de Muller, es el método de la secante o método de Newton


Raphson, el cual obtiene raíces, estimando una proyección de una línea recta en el eje x, a
través de dos valores de la función (Figura 1). El método de Muller toma un punto de vista
similar, pero requiere de tres puntos para calcular la parábola, en otras palabras, proyecta
una parábola a través de tres puntos (Figura 2).

El método consiste en obtener los coeficientes de la parábola que pasa por tres puntos
elegidos, dichos coeficientes son sustituidos en la fórmula cuadrática para obtener el valor o
punto donde la parábola intercepta el eje x, es decir, la raíz estimada. La aproximación se
puede facilitar, si se escribe la ecuación de la parábola en una forma
conveniente .En forma conveniente esta sería:

f 2 ( x )  a ( x  x 2 ) 2  b( x  x 2 )  c Ec.1

 Una de las mayores ventajas de este método, es que al trabajar con la fórmula

cuadrática es posible localizar tanto raíces reales como raíces complejas.

U N A C H / FA C U LTA D D E I N G E N I E R I A C I V I L Página 20
FIG 1 FIG. 2

 ¿QUÉ SON LAS RAICES DE UN POLINOMIO?


La raíz de un polinomio es un número tal que hace que el polinomio
valga cero. Es decir, que cuando resolvamos un polinomio a cero, las
soluciones son las raíces del polinomio.
 Ejemplo: el polinomio

f(x) = x2 + x - 12
Cuando lo igualamos a cero y lo resolvemos tenemos:

x2 + x - 12 = 0 Igualando a cero.
(x + 4)(x - 3) = 0 Factorizando.
x=- 4 Solución 1
x= 3 Solución 2

U N A C H / FA C U LTA D D E I N G E N I E R I A C I V I L Página 20
Puesto que x1 = - 4 y x2 = 3 son soluciones de f(x) entonces f( -4 )= 0 y f( 3
)= 0. Decimos entonces que x = - 4 y x = 3 son raíces del polinomio f(x)=
x2+ x – 12

¡NOTA!
El Teorema fundamental del Álgebra nos dice que: El número de factores en que
se puede descomponer un polinomio es igual al grado del polinomio, es decir: Todo
polinomio de grado n tiene n raíces.

.Por tanto, en nuestra programación, únicamente podremos encontrar raíces de


un polinomio hasta grado 4, esto quiere decir que el número de raíces encontradas
será equivalente al número de grado del polinomio que estemos evaluando.

 REPRESENTACION GRÁFICA DE LAS RAICES DE UN POLINOMIO

 RAICES REALES

Como las raíces de un polinomio hacen que este valga cero, en unplano
cartesiano esto lo identificamos como las intersecciones de la gráfica del polinomio
con el eje de las X (abscisas). Esto es, los puntos en donde cruza la gráfica al eje
horizontal tienen como abscisa la raíz del polinomio graficado.

A continuación presentamos algunas funciones con sus raíces, factores y gráficas:

Función Raíces Factorización Gráfica


f(x)= -4y3 f(x) = (x +
x2 + x 4) (x - 3)
- 12

U N A C H / FA C U LTA D D E I N G E N I E R I A C I V I L Página 20
f(x)= - 1, 2 y f(x) = (x +
x3 - 4 3 1) (x - 2) (x
- 3)
x2 + x
+6

f(x)= - 2, - 1, f(x) = (x +
x4 - 5 1 y 2 1) (x + 2) (x
- 1) (x - 2)
x2 + 4

f(x)= ¿Cuáles f(x) =


x3 + 4 son?
x2 + 3
x

Consideremos ahora otro caso en particular, expresando una función mediante el


cociente de polinomios

 Ejemplo:

Si la función con la que se trabaja es un cociente de polinomios, estos deberán


ser reducidos a la mínima expresión con el objetivo de simplificar su manejo. Dicha
simplificación se lleva a cabo eliminando factores comunes, y la tarea de encontrar
dichos factores está estrechamente ligada al cálculo de las raíces de los polinomios
que aparecen en el numerador y el denominador. Consideremos la función:

U N A C H / FA C U LTA D D E I N G E N I E R I A C I V I L Página 20
Esta función tiene una singularidad removible en x=-2. Si eliminamos el factor (x+2)
en el numerador y el denominador, obtenemos la función

La cual coincide con f(x) excepto en x=-2. Las raíces involucradas en esta función
son:

 Raíces de p(x) = 0, 3,
 Raíces de q(x) = -1, 1.

Para analizar el comportamiento de f (x) una vez eliminado el factor x= -2, se debe
tomaren cuenta que estas raíces, organizadas en orden creciente (-1,0,1,3), indican
los intervalos de estudio que deben considerarse para la función.

Observe la Figura 3.Las raíces de p(x) señalan los puntos en que f


intercepta el eje de las xmientras que las raíces de q(x) indican asíntotas de
la función.

f(x)

FIG. 3

U N A C H / FA C U LTA D D E I N G E N I E R I A C I V I L Página 20
Lo que se pretende demostrar es que DADO UN COCIENTE DE POLINOMIOS ,

LOSVALORES QUE ANULAN A P(X) SIINDICAN LAS RAÍCES DE LA FUNCIÓN, MIENTRAS


QUE LOS VALORES QUE ANULAN A Q(X) INDICARÁN LAS ASÍNTOTAS DE DICHA
FUNCIÓN, MASNOSUS RAÍCES TAMBIÉN.

 RAICES IMAGINARIAS

y = xxx-4xx+5x y

y = xxx-4xx+5x y

 Las raíces de la
 función son:

 X= 0, x=2+i, x=2-i









 x
x
     
 FORMULAS
     
 y = x^(3)+x y
a utilizar

 

 
y = x^(3)+x
 

 
 
Las
raíces de 

 ¿CÓMO CALCULAR LA
 PARÁBOLA?
la función son:


1. Para esto necesitaremos


X= de tres x=-
0, x=i, puntos 

i 
 x

     



 

U N A C H / FA C U LTA D D E I N G E N I E R I A C I V I L Página 20

2. La aproximación la podemos escribir como: f 2 ( x)  a ( x  x 2 ) 2  b( x  x 2 )  c

3. Los coeficientes de la ecuación 1, es decir, de la parábola los calculamos


resolviendo el siguiente sistema de ecuaciones.

Ec. 2

Ec. 3

Ec. 4

 La ecuación 4 genera que,

DADA LA FUNCION ORIGINAL f(X), seguiremos los siguientes pasos:

4. Evaluar los valores de en f(x).Obtendremos:

5. Evaluar sustituyendo los valores como indican las formulas. Obtendremos:

6. Encontrar dadas las formulas. Obtendremos:

U N A C H / FA C U LTA D D E I N G E N I E R I A C I V I L Página 20
7. Ahora se encontrará a (coeficientes de la parábola).

a) Para encontrar a se deberá resolver la fórmula correspondiente.Se tendrá:

b) Para encontrar a se deberá resolver la fórmula correspondiente. Se obtendrá:

c) Para encontrar a se deberá resolver la evaluación correspondiente, el cual

esúnicamente .

8. Habiendo encontrado se resuelve la siguiente fórmula:

-Despejando-

 En el denominador se escoge el signo que coincida con el signo de “b”,


esta elección proporciona como resultado el denominador más grande, lo
que dará la raíz estimada más cercana a x3.

Es decir, si

Se escoge

Si no, se escoge:

9. Se prosigue a calcular el error, este será:

[Fórmula para calcular el margen de error]

U N A C H / FA C U LTA D D E I N G E N I E R I A C I V I L Página 20
10.Si pretendemos iterar, es decir, una vez que se determinó x3 el proceso se repetirá,
esto con el fin de tener una mayor aproximación a la raíz X3, por lo cual esto traerá
de que un valor es descartado.

 Al ser un método de aproximación, este se realiza de forma secuencial e


iterativamente, donde remplazan los puntos llevando el error a un
valor cercano a cero.

 VENTAJAS Y DESVENTAJAS DEL METODO DE MÜLLER

VENTAJA

 Por medio de este método se encuentran tanto raíces reales como complejas.

DESVENTAJA

 En el método de Müller se escoge el signo que coincida con el signo


de “b”, esta elección proporciona como resultado el denominador
más grande, lo que dará la raíz estimada más cercana a x2. Una vez que se
determinó x3 el proceso se repite, esto trae de que un valor es descartado.

 ESTRATEGIAS COMÚNMENTE USADAS

 Si sólo se localizan raíces reales, elegimos los dos valores originales más
cercanos a la nueva raíz.

 Si tenemos raíces reales y complejas, se usa un método secuencial.

Ej. X1, X2, X3=X0, X1, X2

 DATO ADICIONAL

 Si además deseamos conocer los puntos en los que f (x) posee máximos y mínimos
locales, el procedimiento consiste en encontrar las raíces de f´(X).

 Si queremos ubicar los puntos de inflexión de la función, es necesario ahora


encontrar las raíces de f´´(x).

EJEMPLOS: Obtén las raíces de los polinomios mediante el método de Müller.

U N A C H / FA C U LTA D D E I N G E N I E R I A C I V I L Página 20
1)

Coeficientes de la parábola

 Puesto que b es positivo, entonces, respecto al signo ubicado en el

denominador, elegiré :

U N A C H / FA C U LTA D D E I N G E N I E R I A C I V I L Página 20
¿COMO OBTENER LAS OTRAS DOS RAICES FALTANTES?

Puesto que mi polinomio es de tercer orden, y ya se obtuvo una de tres raíces,


entonces puedo dividir a mi ecuación polinomial entre x = X3, es decir

, con el fin de obtener una ecuación de orden dos, equivalente a mi primer


polinomio de orden tres, evidentemente, encontrar las raíces de un polinomio grado
dos es prácticamente sencillo.

Efectuando división sintética

FORMULA
Obteniendo raíces de :

Ilustración grafica de y sus respectivas raices.

U N A C H / FA C U LTA D D E I N G E N I E R I A C I V I L Página 20
BIBILOGRAFIA

 http://dinamica1.fciencias.unam.mx/Preparatoria8/polinomi/
 http://mat156.wordpress.com/category/muller/
 CENTRO DE INVESTIGACION EN MATEMATICAS APLICADAS/UNIVERSIDAD
AUTONOMA DE COAHUILA, MEXICO
http://mattec.matedu.cinvestav.mx/el_calculo/data/docs/IKl7s1110p0w.pdf
 https://www.youtube.com/watch?v=TMKlYxfpL8Q

U N A C H / FA C U LTA D D E I N G E N I E R I A C I V I L Página 20
PROGRAMACION
Programando Form 1

//---------------------------------------------------------------------------

U N A C H / FA C U LTA D D E I N G E N I E R I A C I V I L Página 20
#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
#include "Unit2.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Form2->Show();
Form1->Visible=false; /*--------------ENTRAR--------------*/
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
Close(); /*--------------SALIR--------------*/
}
//---------------------------------------------------------------------------

Programando Form 2

U N A C H / FA C U LTA D D E I N G E N I E R I A C I V I L Página 20
//---------------------------------------------------------------------------
#include <vcl.h>
#include <math.h>
#pragma hdrstop

#include "Unit1.h"
#include "Unit2.h"
#include "Unit3.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
double
a,b,c,d,e,x0,x1,x2,x3,j,z,D,A,B,C,fx0,fx1,fx2,h0,h1,d0,d1,w,ER=100,Er=100,o,p,q,r,s,u,v,rx1,lxl,m,l
,R1,R2;
TForm2 *Form2;
//---------------------------------------------------------------------------

__fastcall TForm2::TForm2(TComponent* Owner)

: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm2::Button1Click(TObject *Sender)
{
Label3->Caption="";
Label4->Caption="";
Label5->Caption="";

if(Er>=0.00000000000001){
a=Edit1->Text.ToDouble();
b=Edit2->Text.ToDouble();
c=Edit3->Text.ToDouble();
d=Edit4->Text.ToDouble();
e=Edit5->Text.ToDouble();
x0=Edit6->Text.ToDouble();
x1=Edit7->Text.ToDouble();
x2=Edit8->Text.ToDouble();
fx0=a*pow(x0,4)+b*pow(x0,3)+c*pow(x0,2)+d*x0+e;

fx1=a*pow(x1,4)+b*pow(x1,3)+c*pow(x1,2)+d*x1+e;

fx2=a*pow(x2,4)+b*pow(x2,3)+c*pow(x2,2)+d*x2+e;
h0=x1-x0;

U N A C H / FA C U LTA D D E I N G E N I E R I A C I V I L Página 20
h1=x2-x1;
if(h0==0|| h1==0||h1+h0==0)
{Label5->Caption="Prueba con otras aproximaciones";}

else{ /*--------------R1--------------*/

d0=(fx1-fx0)/h0;
d1=(fx2-fx1)/h1;
A=(d1-d0)/(h1+h0);
B=(A*h1)+d1;
C=fx2;

D=B*B-4*A*C;

if(D<0)
{Label3->Caption="posiblemente la función solo tenga raicesimaginarias,grafica y prueba
nuevos valores de x1,x2,x3!";}

else

{z=pow(D,0.5);
x3=x2-(2*C)/(B+z);
w=(x3-x2)/x3;
Edit8->Text=AnsiString(x3);

if(w<0)

{Er=(-w)*100;}
else
{Er=w*100;}

Edit6->Text=AnsiString(x1);
Edit7->Text=AnsiString(x2);
Edit9->Text=AnsiString(x3);
Edit15->Text=AnsiString(Er); }}}

else {Label4->Caption="EL ERROR es cero,¡¿Que mas quieres?!";}


}
//---------------------------------------------------------------------------
void __fastcall TForm2::Button10Click(TObject *Sender)
{
Close(); /*--------------SALIR--------------*/
}
//---------------------------------------------------------------------------
void __fastcall TForm2::Button2Click(TObject *Sender)
U N A C H / FA C U LTA D D E I N G E N I E R I A C I V I L Página 20
{
Label3->Caption="";
Label4->Caption="";
Label5->Caption="";

if(ER>=0.00000000000001){

b=Edit2->Text.ToDouble();
c=Edit3->Text.ToDouble();/*--------------R2--------------*/
d=Edit4->Text.ToDouble();
e=Edit5->Text.ToDouble();
x0=Edit6->Text.ToDouble();
x1=Edit7->Text.ToDouble();
x2=Edit8->Text.ToDouble();
fx0=b*pow(x0,3)+c*pow(x0,2)+d*x0+e;
fx1=b*pow(x1,3)+c*pow(x1,2)+d*x1+e;

fx2=b*pow(x2,3)+c*pow(x2,2)+d*x2+e;

h0=x1-x0;
h1=x2-x1;
if(h0==0|| h1==0||h1+h0==0)
{Label5->Caption="Prueba con otras aproximaciones";}
else{
d0=(fx1-fx0)/h0;
d1=(fx2-fx1)/h1;

A=(d1-d0)/(h1+h0);
B=(A*h1)+d1;
C=fx2;

D=B*B-4*A*C;
if(D<0)
{Label3->Caption="posiblemente la función solo tenga raicesimaginarias,grafica y prueba
nuevos valores de x1,x2,x3!";}
if(D>=0)

{z=pow(D,0.5);
x3=x2-(2*C)/(B+z);
w=(x3-x2)/x3;
Edit8->Text=AnsiString(x3);
w=(x3-x2)/x3;
if(w<0)
{ER=(-w)*100;}
else
{ER=w*100;}

U N A C H / FA C U LTA D D E I N G E N I E R I A C I V I L Página 20
Edit6->Text=AnsiString(x1);
Edit7->Text=AnsiString(x2);
Edit8->Text=AnsiString(x3);
Edit10->Text=AnsiString(x3);
Edit16->Text=AnsiString(ER); }}}
else {Label4->Caption="!EL ERROR YA ES CERO!";}}

//---------------------------------------------------------------------------
void __fastcall TForm2::Button3Click(TObject *Sender)
{
Label3->Caption="";
Label4->Caption="";
Label5->Caption="";
a=Edit3->Text.ToDouble();
b=Edit4->Text.ToDouble();

c=Edit5->Text.ToDouble();

D=b*b-4*a*c;
if(D<0) /*--------------R3--------------*/

{x1=(-b)/(2*a);
Edit11->Text=AnsiString(x1);
l=pow(-l*D,0.5)/(2*a);
Edit13->Text=AnsiString(l);}

else if(D>=0)

{r=pow(D,0.5);
x1=(-b+r)/(2*a);
Edit11->Text=AnsiString(x1);}
else{ D=-D;
r=pow(D,0.5);
rx1=(-b)/(2*a);
lxl=D/(2*a);
Edit11->Text=AnsiString(rx1);}}
//---------------------------------------------------------------------------
void __fastcall TForm2::Button4Click(TObject *Sender)
{
Label3->Caption="";
Label4->Caption="";
Label5->Caption="";
a=Edit3->Text.ToDouble();
b=Edit4->Text.ToDouble();
c=Edit5->Text.ToDouble();

U N A C H / FA C U LTA D D E I N G E N I E R I A C I V I L Página 20
D=b*b-4*a*c; /*--------------R4--------------*/
if(D<0)
{x1=(-b)/(2*a);
Edit12->Text=AnsiString(x1);
l=pow(-l*D,0.5)/(2*a);
Edit14->Text=AnsiString(l);}

else if(D>=0)
{r=pow(D,0.5);
x1=(-b-r)/(2*a);
Edit12->Text=AnsiString(x1);}

else{D=-D;
r=pow(D,0.5);
rx1=(-b)/(2*a);
lxl=D/(2*a);
Edit12->Text=AnsiString(rx1);}}
//---------------------------------------------------------------------------
void __fastcall TForm2::Button5Click(TObject *Sender)
{
Label3->Caption="";
Label4->Caption="";
Label5->Caption="";
a=Edit1->Text.ToDouble();
b=Edit2->Text.ToDouble();
c=Edit3->Text.ToDouble();
d=Edit4->Text.ToDouble();
e=Edit5->Text.ToDouble();
R1=Edit9->Text.ToDouble();

o=a*R1;
p=b+o; /*--------------DEGRADAR CON R1--------------*/
q=p*R1;
r=c+q;
s=r*R1;
u=d+s;
v=u*R1;
w=e+v;
Edit1->Text="0";
Edit2->Text=AnsiString(a);
Edit3->Text=AnsiString(p);
Edit4->Text=AnsiString(r);

U N A C H / FA C U LTA D D E I N G E N I E R I A C I V I L Página 20
Edit5->Text=AnsiString(u);
}
//---------------------------------------------------------------------------
void __fastcall TForm2::Button6Click(TObject *Sender)
{
Label3->Caption="";
Label4->Caption="";
Label5->Caption="";
a=Edit2->Text.ToDouble();
b=Edit3->Text.ToDouble();
c=Edit4->Text.ToDouble();
d=Edit5->Text.ToDouble();
R2=Edit10->Text.ToDouble();

o=a*R2;
p=b+o; /*--------------DEGRADAR CON R2--------------*/
q=p*R2;
r=c+q;
s=r*R2;
u=d+s;
Edit2->Text="0";
Edit3->Text=AnsiString(a);
Edit4->Text=AnsiString(p);
Edit5->Text=AnsiString(r);
}
//---------------------------------------------------------------------------
void __fastcall TForm2::Button7Click(TObject *Sender)
{
ER=100;
Er=100;
a=b=c=d=e=0;
Edit1->Text="";
Edit2->Text="";
Edit3->Text="";
Edit4->Text="";
Edit5->Text="";
Edit6->Text="";
Edit7->Text=""; /*--------------RESET--------------*/
Edit8->Text="";
Edit9->Text="";
Edit10->Text="";
Edit11->Text="";
Edit12->Text="";
Edit13->Text="0";
U N A C H / FA C U LTA D D E I N G E N I E R I A C I V I L Página 20
Edit14->Text="0";
Edit15->Text="";
Edit16->Text="";
Label3->Caption="";
Label4->Caption="";
Edit1->SetFocus();
}
//---------------------------------------------------------------------------
void __fastcall TForm2::Button8Click(TObject *Sender)
{
Form3->Show(); /*--------------GRAFICAR--------------*/
Close();
}
//---------------------------------------------------------------------------
void __fastcall TForm2::Button9Click(TObject *Sender)
{
Form1->Show(); /*--------------INICIO-------------*/
Close();
}
//---------------------------------------------------------------------------

Programando Form 3

//---------------------------------------------------------------------------
#include <vcl.h>

U N A C H / FA C U LTA D D E I N G E N I E R I A C I V I L Página 20
#include <math.h>
#pragma hdrstop

#include "Unit1.h"
#include "Unit2.h"
#include "Unit3.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"

double a,b,c,d,e,x,y,av,pri,seg;
TForm3 *Form3;
//---------------------------------------------------------------------------

__fastcall TForm3::TForm3(TComponent* Owner)

: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm3::Button1Click(TObject *Sender)
{
Canvas->PenPos=TPoint(160,320);
Canvas->LineTo(800,320);
Canvas->PenPos=TPoint(480,400);
Canvas->LineTo(480,80);
Canvas->PenPos=TPoint(500,310);
Canvas->LineTo(500,330);
Canvas->PenPos=TPoint(520,310);
Canvas->LineTo(520,330);
Canvas->PenPos=TPoint(540,310);
Canvas->LineTo(540,330);
Canvas->PenPos=TPoint(560,310);
Canvas->LineTo(560,330);
Canvas->PenPos=TPoint(580,310);
Canvas->LineTo(580,330);
Canvas->PenPos=TPoint(600,310);
Canvas->LineTo(600,330);
Canvas->PenPos=TPoint(620,310);
Canvas->LineTo(620,330);
Canvas->PenPos=TPoint(640,310);
Canvas->LineTo(640,330);
Canvas->PenPos=TPoint(660,310);
Canvas->LineTo(660,330);

U N A C H / FA C U LTA D D E I N G E N I E R I A C I V I L Página 20
Canvas->PenPos=TPoint(680,310);
Canvas->LineTo(680,330);
Canvas->PenPos=TPoint(700,310);
Canvas->LineTo(700,330);
Canvas->PenPos=TPoint(460,310);
Canvas->LineTo(460,330);
Canvas->PenPos=TPoint(440,310);
Canvas->LineTo(440,330);
Canvas->PenPos=TPoint(420,310);
Canvas->LineTo(420,330);
Canvas->PenPos=TPoint(400,310);
Canvas->LineTo(400,330);
Canvas->PenPos=TPoint(380,310);

Canvas->LineTo(380,330);
Canvas->PenPos=TPoint(360,310);
Canvas->LineTo(360,330);
Canvas->PenPos=TPoint(340,310);
Canvas->LineTo(340,330);
Canvas->PenPos=TPoint(320,310);
Canvas->LineTo(320,330);
Canvas->PenPos=TPoint(300,310);
Canvas->LineTo(300,330);
Canvas->PenPos=TPoint(280,310);
Canvas->LineTo(280,330);
Canvas->PenPos=TPoint(470,120);
Canvas->LineTo(490,120);
Canvas->PenPos=TPoint(470,140);
Canvas->LineTo(490,140);
Canvas->PenPos=TPoint(470,300);
Canvas->LineTo(490,300);
Canvas->PenPos=TPoint(470,280);
Canvas->LineTo(490,280);
Canvas->PenPos=TPoint(470,260);
Canvas->LineTo(490,260);
Canvas->PenPos=TPoint(470,240);
Canvas->LineTo(490,240);
Canvas->PenPos=TPoint(470,220);
Canvas->LineTo(490,220);
Canvas->PenPos=TPoint(470,200);
Canvas->LineTo(490,200);
Canvas->PenPos=TPoint(470,180);
Canvas->LineTo(490,180);

U N A C H / FA C U LTA D D E I N G E N I E R I A C I V I L Página 20
Canvas->PenPos=TPoint(470,160);
Canvas->LineTo(490,160);

Label5->Caption="Y";
Label6->Caption="X";
Label7->Caption="2";
Label8->Caption="4";
Label9->Caption="6";
Label10->Caption="8";
Label11->Caption="10";
Label12->Caption="-2";
Label13->Caption="-4";

Label14->Caption="-6";
Label15->Caption="-8";
Label16->Caption="-10";
Label17->Caption="10";

a=Edit1->Text.ToDouble();
b=Edit2->Text.ToDouble();
c=Edit3->Text.ToDouble();
d=Edit4->Text.ToDouble();
e=Edit5->Text.ToDouble();
pri=Edit6->Text.ToDouble();
seg=Edit7->Text.ToDouble();

av=(seg-pri)/1000;
x=pri;
y=a*pow(x,4)+b*pow(x,3)+c*pow(x,2)+d*x+e;
Canvas->PenPos=TPoint(480+x*20,320-y*20);
for(pri;pri<=seg;pri=pri+av)

{x=pri;
y=a*pow(x,4)+b*pow(x,3)+c*pow(x,2)+d*x+e;
Canvas->LineTo(480+x*20,320-y*20);}
}
//---------------------------------------------------------------------------
void __fastcall TForm3::Button3Click(TObject *Sender)
{
Form2->Show();/*--------------REGRESAR-------------*/
Close();
}
//---------------------------------------------------------------------------
void __fastcall TForm3::Button4Click(TObject *Sender)

U N A C H / FA C U LTA D D E I N G E N I E R I A C I V I L Página 20
{
Form1->Close();/*--------------SALIR-------------*/
Close();
}
//---------------------------------------------------------------------------
void __fastcall TForm3::Button2Click(TObject *Sender)
{
Edit1->Text="";
Edit2->Text="";
Edit3->Text="";
Edit4->Text="";/*--------------RESET-------------*/
Edit5->Text="";

Label5->Caption="";
Label6->Caption="";
Label7->Caption="";
Label8->Caption="";
Label9->Caption="";
Label10->Caption="";
Label11->Caption="";
Label12->Caption="";
Label13->Caption="";
Label14->Caption="";
Label15->Caption="";
Label16->Caption="";
Label17->Caption="";

Edit1->SetFocus();}
//---------------------------------------------------------------------------

U N A C H / FA C U LTA D D E I N G E N I E R I A C I V I L Página 20

You might also like