Модераторы: LSD, AntonSaburov

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Срочно нужна помощь с задачей на java 
:(
    Опции темы
VoRoN333
Дата 5.12.2013, 15:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 5.12.2013

Репутация: нет
Всего: нет




Привет. Ребята, помогите пожалуйста, никак не могу правильно дописать программу.
Программа должна решать системы нелинейных алгебраических уравнений методом Ньютона.
Она у меня находит первое приближение...
Как правильно поставить на цикл, чтобы, каждый раз находя новое приближение программа подставляла его на место старого приближения, и считала пока выполняется условие?
Вот то, что на данный момент имеется:

Код

package Nuton;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.lang.*;

//система уравнений
class Newts{
    public double TVec []; // Начальные приближения
    public double TMat [][]; //Система уравнений
    public double V[]; //Решение системы при подстановке приближений
    double M, det, eps;
    int  k; //Количество итераций
    
    Newts () {    
        TVec = new double [2];
        TMat = new double[2][2];
        V = new double[2];
            eps = 0.001;
            TVec[0] = 3.4; TVec[1] = 2.2; //Начальное приближение
            double x0[] = TVec;
            double x[] = TVec;
            for (int i=0; i<2; i++){
             while (Math.abs(x[i] - (x0[i]+0.1)) > eps){
            V[0] = x [0] + 3 * Math.log10(x [0]) - Math.pow(x [1], 2);
            V[1] = 2 * Math.pow(x [0], 2) - x [0] * x [1] - 5 * x [0] + 1;
            
    //вычисление обратной матрицы Якоби    
            double a[][] = TMat;        
            M = 0.43429;
            a[0][0]=-x[0]; a[0][1]=2*x[1];
            a[1][0]=-(4*x[0]-x[1]-5); a[1][1]=1+3*M/x[0];
              det = a[0][0] * a[1][1] - a[0][1] * a[1][0];
                  for (int j=0; j<2; j++){
                      a[i][j] = a[i][j]/det;
}
                  
    // решение системы методом Ньютона
        k = 0;
                  for (int j=0; j<2; j++){
                      x[i]= x[i] - a[i][j] * V[j];
                      System.out.println("x[0]=" + x[0]);
                      System.out.println("x[1]=" + x[1]); }
           k=k+1;}}
    }}
public class Nuton {
    public static void main (String[] args ) {
        Newts p3 = new Newts();            
    }}


Помогите пожалуйста)


Это сообщение отредактировал(а) VoRoN333 - 5.12.2013, 15:42
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0668 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.