Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Решить уравнение методом простых итераций  (Прочитано 25150 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Стася
Постоялец

ru
Offline Offline

« : 21-11-2008 15:32 » 

Вот полное задание:написать программу, предназначенную для графической визуализации функции, соответствующей выданному варианту. По графику функции провести исследование: на выбранной области допустимых значений указать количество и определить интервалы локализации нулей функции, максимумов и минимумов. Заданным методом решения нелинейных алгебраических уравнений на выбранном интервале локализации уточнить нуль функции (используя исходную функцию) или экстремум (используя производную исходной функции). Вычисление значений и производных реализовать с использованием процедур или функций, определяемых пользователем. При построении графиков и вычислении значений и производных функций осуществлять проверку аргумента на принадлежность области допустимых значений.
Метод решения-метод простых итераций.
Функция: y=a0+a1*x+a2*x^2+a3*ln(a4*x)+a5*ln(a6*x^2)
Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 21-11-2008 15:34 » 

Стася, и шо? кто решить должен?
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #2 : 21-11-2008 16:08 » 

Стася, ну дык эт мы мигом. Давай скорей значения для a0, a1, a2,a3,a4,a5,a6 и x, а то скоро рабочий день заканчивается.
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Стася
Постоялец

ru
Offline Offline

« Ответ #3 : 21-11-2008 17:01 » 

Так они неизвестны
Записан
McZim
Команда клуба

ru
Offline Offline
Пол: Мужской
Я странный


WWW
« Ответ #4 : 21-11-2008 17:04 » new

Стася, хм получается уравнение с 8-мю неизвестыми?
Записан

The CBO without stats is like a morning without coffee. (c) T.Kyte.
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #5 : 21-11-2008 17:24 » 

a0, a1, a2,a3,a4,a5,a6 наверное должны вводиться вручную, да , Стася ?
Записан

Стася
Постоялец

ru
Offline Offline

« Ответ #6 : 21-11-2008 17:27 » 

Да. Также как и x.
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #7 : 21-11-2008 17:56 » 

а X то зачем ? Непонятно задание...
Записан

Стася
Постоялец

ru
Offline Offline

« Ответ #8 : 21-11-2008 17:57 » 

Ой, ошиблась(((
Записан
Стася
Постоялец

ru
Offline Offline

« Ответ #9 : 21-11-2008 18:00 » 

Хотя нет, для этого метода нужно знать начальное приближение x.
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #10 : 21-11-2008 18:01 » 

Стася, ну ты хоть начни код писать, а то куда объяснять то ? В воздух ? Улыбаюсь
Записан

Стася
Постоялец

ru
Offline Offline

« Ответ #11 : 21-11-2008 18:03 » 

Завтра, если вы не против.
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #12 : 21-11-2008 18:12 » 

Стася, не против Улыбаюсь
Записан

Стася
Постоялец

ru
Offline Offline

« Ответ #13 : 29-11-2008 19:51 » 

Еще надо поставить ограничения для коэффициентов а2-а6. И с графиком разобраться.
Код:
unit Unit11;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, TeeProcs, TeEngine, Chart;

type
  TForm11 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Edit5: TEdit;
    Edit6: TEdit;
    Edit7: TEdit;
    Edit8: TEdit;
    Edit9: TEdit;
    Edit10: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Button1: TButton;
    Chart1: TChart;
    Button2: TButton;
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form11: TForm11;

implementation

{$R *.dfm}

procedure TForm11.Button1Click(Sender: TObject);
Var a0,a1,a2,a3,a4,a5,a6,x0,x,epsilon:real;
 begin
 x:=strtofloat(edit1.Text);
 epsilon:=strtofloat(edit2.Text);
 a0:=strtofloat(edit3.Text);
 a1:=strtofloat(edit4.Text);
  if a1=0 then
  Showmessage('Ошибка')
  else
  Showmessage('Ошибки нет');
 a2:=strtofloat(edit5.Text);
 a3:=strtofloat(edit6.Text);
 a4:=strtofloat(edit7.Text);
 a5:=strtofloat(edit8.Text);
 a6:=strtofloat(edit9.Text);
  repeat
  x0:=x;
  x:=-(a0+a2*x*x+a3*ln(a4*x)+a5*ln(a6*x*x))/a1;
until
abs(x0-x)<=epsilon;
Edit10.text:=floattostr(x);
end;



procedure TForm11.Button2Click(Sender: TObject);
begin
Edit1.Clear;
Edit2.Clear;
Edit3.Clear;
Edit4.Clear;
Edit5.Clear;
Edit6.Clear;
Edit7.Clear;
Edit8.Clear;
Edit9.Clear;
Edit10.Clear;

end;

end.
« Последнее редактирование: 01-12-2008 08:48 от zubr » Записан
Стася
Постоялец

ru
Offline Offline

« Ответ #14 : 29-11-2008 20:10 » 

у меня вот такой вопрос. Будет у меня кнопка, при нажатии на которую будет строиться график. А как это написать? С настройками TChart я более-менее разобралась.
Записан
Стася
Постоялец

ru
Offline Offline

« Ответ #15 : 30-11-2008 15:34 » 

Ошибка, соответственно график не строится. Не пойму, почему.

* 2 лаба.rar (263.05 Кб - загружено 990 раз.)
« Последнее редактирование: 30-11-2008 16:59 от Стася » Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #16 : 01-12-2008 07:39 » 

где-то

uses
Variants

я уже видел Жаль

ну да ладно

Стася, оформляй часть кода тегами [code][/code]

или пользуйся не быстрым ответом, а жмакай кнопку "ответ", и там есть кнопочка "#"

ошибка? какая? а выкладывать проект не надо...


Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Стася
Постоялец

ru
Offline Offline

« Ответ #17 : 01-12-2008 14:39 » 

Извините, спасибо за советы. График строится в виде одной линии. А мне нужно чтобы строился точечный для каждого нового значения х.
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines