package pktNewton;
import javax.swing.table.DefaultTableModel;
public class frmNewton extends javax.swing.JFrame {
DefaultTableModel modelo=new DefaultTableModel();
public frmNewton() {
initComponents();
tblCoe.setModel(modelo);
tblCoe.setVisible(false);
}
private void btnGenActionPerformed(java.awt.event.ActionEvent evt) {
int i;
int n=Integer.parseInt(txtN.getText());
String titu[]=new String[n+1];
String dato[]=new String[n+1];
for(i=0;i<=n;i++){ titu[i]="X^"+(n-i); dato[i]="1"; }
tblCoe.setVisible(true);
modelo.setColumnIdentifiers(titu);
modelo.addRow(dato);
}
private double df(double x0){
double n=Double.parseDouble(txtN.getText());
double s=0;
for(int i=0;i<modelo.getColumnCount();i++){
if ((n-i)!=0){
s=s+(n-i)*Double.parseDouble(modelo.getValueAt(0, i).toString())*Math.pow(x0,n-1-i);
}
}
return s;
}
private double f(double x0){
double n=Double.parseDouble(txtN.getText());
double s=0;
for(int i=0;i<modelo.getColumnCount();i++){
s=s+Double.parseDouble(modelo.getValueAt(0, i).toString())*Math.pow(x0, n-i);
}
return s;
}
private void btnCalcularActionPerformed(java.awt.event.ActionEvent evt) {
double x0,x1;
double error=1,e=0.01;
double n=6,i=0;
if (mayor()+menor()==0){ x0=mayor();
}else{ x0=(mayor()+menor())/2; }
while (error>=e || i==n){
x1=x0-f(x0)/df(x0);
i=i+1;
error=Math.abs((x1-x0)/x1);
txtR.setText(txtR.getText()+"iteraccion="+i+"\n"+"x1="+x1+"\n"+"f(x1)="+f(x1)+"\n");
if (f(x1)==0){ txtR.setText(txtR.getText()+"Raiz="+x1+"\n"); break; }
x0=x1;
}
lblF.setText("f(x0):"+f(x0)+" mayor:"+mayor()+" menor:"+menor()+" x0="+x0+" df(x0)="+df(x0));
}
private double mayor(){
double may;
may=Double.parseDouble(modelo.getValueAt(0, 0).toString());
for(int i=1;i<modelo.getColumnCount();i++){
if (Double.parseDouble(modelo.getValueAt(0, i).toString())>may){
may=Double.parseDouble(modelo.getValueAt(0, i).toString());
}
}
return may;
}
private double menor(){
double men;
men=Double.parseDouble(modelo.getValueAt(0, 0).toString());
for(int i=1;i<modelo.getColumnCount();i++){
if (Double.parseDouble(modelo.getValueAt(0, i).toString())<men){
men=Double.parseDouble(modelo.getValueAt(0, i).toString());
}
}
return men;
}
El programa calcula una raiz del polinomio ingresado en la tabla, se ingresan los coheficientes.
el metodo f evalua un valor x0, el metodo df evalua un valor en la derivada del polinomio, el metodo mayor calcula el coheficiente mayor del polinomio, el metodo menor calcula el coheficiente menor del polinomio.
Se realizan Proyectos de Programacion de Computadoras en Java, Visual Basic, SQL, MySql.
e-mail: minuvasoft10@gmail.com
Suscribirse a:
Enviar comentarios (Atom)
Hallar las raizes de Cualquier Ecuacion con Excel 365
Se establece un intervalo de x de -20 a 20 para hallar los f(x) que cambian de signo, X aumenta en 1. Se halla el cambio de signo de f(x...
-
package pktNewton; import javax.swing.table.DefaultTableModel; public class frmNewton extends javax.swing.JFrame { DefaultTableModel m...
-
Basicamente se realiza botones de navegacion como primero, siguiente, anterior, ultimo de una tabla Mysql con Java Netbeans. Ademas se na...
-
Primero agregamos los radio button a un formulario. Luego agregamos un button group el cual no se ve en el formulario Luego selecci...
la variable lblF esta sin definir que significa....???'
ResponderEliminar