Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.09.2017, 18:11   #1
victor13131
Пользователь
 
Регистрация: 12.06.2017
Сообщений: 12
По умолчанию Программирование с использованием методов одномерной оптимизации в PascalABC.net

Очень нужна помощь!!!Благодарю за помощь!
Разработайте алгоритм поиска унимодального участка заданной функции(с использованием алгоритма Свена). Оформите алгоритм с использованием процедуры (или функции).
Разработайте алгоритм поиска экстремумов функции с использованием заданного метода одномерной оптимизации. Оформите этот алгоритм с использованием процедуры(или функции)
Вид функции:f(x)=-sqrt[3]{{x}^{2}}-sqrt[3]{1-{x}^{2}}
Характер экстремума:max
Метод оптимизации:Метод половинного деления
victor13131 вне форума Ответить с цитированием
Старый 26.09.2017, 18:23   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Вы не перепутали "помощь" и "сделайте за меня"?

Покажите свои наработки, конкретные вопросы и т.п.

Или в раздел Фриланс если вы не хотите ничего делать, а ищете кого-то, кто выполнит ваши задачи за вознаграждение.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 25.10.2017, 17:00   #3
victor13131
Пользователь
 
Регистрация: 12.06.2017
Сообщений: 12
По умолчанию

вот все что у меня есть , мне надо функцию сюда вставить
program l1;
const eps=0.0001;
var x,a,b,h:real;
function f(x:real):real;
begin
f:=(x+5)*(x+5)*(x+5)*(x+5);
end;
procedure ven(x,h:real);
var x1, x2:real;
begin
x1:=x;
if(f(x)<=f(x+h)) and (f(x)<=f(x-h))then
begin
a:=x-h;
b:=x+h;
end
else
begin
if(f(x)<=f(x-h)) and (f(x)>=f(x+h))then x1:=x+h
else
if(f(x-h)<=f(x)) and (f(x)<=f(x+h))then
begin;
x1:=x-h;
h:=-h;
end;
x2:=x1+h;

while f(x2)<=f(x1) do
begin
x1:=x2;
x2:=x1+h;
writeln(x1);
end;
if h>0 then
begin
a:=x1-h;
b:=x2;
end
else
begin
a:=x2;
b:=x1-h;
end;
end;
end;

function proiz(x:Real):Real;
const dx=0.0001;
begin
proiz := (f(x+dx)-f(x))/dx;
end;


function proiz2(x:Real):Real;
const dx=0.0001;
begin
proiz2 := (proiz(x+dx)-proiz(x))/dx;
end;

function nyoton:real;
begin
x:=(a+b)/2;
while (abs(proiz(x))>0.001) do
begin
x:=x-proiz(x)/proiz2(x);
end;

end;

procedure trichotomija (var a,b:real);
var m1,m2:real;
begin
while (abs(b-a)> eps) do
begin
m1:=a+(b-a)/3;
m2:=b-(b-a)/3;
if (f(m1)<f(m2))
then
b:=m2
else
a:=m1;
writeln(a,' ',b);
end;

end;
begin
read(x,h);
ven(x,h);
write('a=',a:4:4,'b=',b:4:4);
//trichotomija(a,b);
writeln('','x=', nyoton:4:4,' min=',f(a):6:8);

end.
victor13131 вне форума Ответить с цитированием
Старый 25.10.2017, 17:01   #4
victor13131
Пользователь
 
Регистрация: 12.06.2017
Сообщений: 12
По умолчанию

вот точнее

Код:
program l1;

const
  eps = 0.0001;

var
  x, a, b, h: real;

function f(x: real): real;
begin
  f := (x + 5) * (x + 5) * (x + 5) * (x + 5);
end;

procedure ven(x, h: real);
var
  x1, x2: real;
begin
  x1 := x;
  if(f(x) <= f(x + h)) and (f(x) <= f(x - h)) then
  begin
    a := x - h;
    b := x + h;
  end
  else
  begin
    if(f(x) <= f(x - h)) and (f(x) >= f(x + h)) then x1 := x + h
    else
    if(f(x - h) <= f(x)) and (f(x) <= f(x + h)) then
    begin;
      x1 := x - h;
      h := -h;
    end;
    x2 := x1 + h;
    
    while f(x2) <= f(x1) do
    begin
      x1 := x2;
      x2 := x1 + h;
      writeln(x1);
    end;
    if h > 0 then
    begin
      a := x1 - h;
      b := x2;
    end
    else
    begin
      a := x2;
      b := x1 - h;
    end;
  end;
end;

function proiz(x: Real): Real;
const
  dx = 0.0001;
begin
  proiz := (f(x + dx) - f(x)) / dx;
end;


function proiz2(x: Real): Real;
const
  dx = 0.0001;
begin
  proiz2 := (proiz(x + dx) - proiz(x)) / dx;
end;

function nyoton: real;
begin
  x := (a + b) / 2; 
  while (abs(proiz(x)) > 0.001) do
  begin
    x := x - proiz(x) / proiz2(x);
  end;
end;
_____
Код программы нужно выделять (форматировать) тегами [CODE] (читать FAQ)
Модератор

Последний раз редактировалось Serge_Bliznykov; 26.10.2017 в 17:22.
victor13131 вне форума Ответить с цитированием
Старый 26.10.2017, 16:58   #5
victor13131
Пользователь
 
Регистрация: 12.06.2017
Сообщений: 12
По умолчанию

найти точку min, функцию вставить в эту программу та что взадании , что бы считала , помогите очень нужно
victor13131 вне форума Ответить с цитированием
Старый 26.10.2017, 17:19   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

формула такая?
CodeCogsEqn.gif
Serge_Bliznykov вне форума Ответить с цитированием
Старый 29.10.2017, 09:36   #7
victor13131
Пользователь
 
Регистрация: 12.06.2017
Сообщений: 12
По умолчанию

да такая
victor13131 вне форума Ответить с цитированием
Старый 30.10.2017, 11:15   #8
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от victor13131 Посмотреть сообщение
такая
тогда попробуйте такой код:
Код:
function f(x: real): real;
var x2, stepen, ftmp : real;
begin
  stepen := 1.0/3.0;
  x2 := sqr(x);
  ftmp := -1.0 * Power(x2, stepen);
  if x2<=1 then
    f := ftmp - Power((1-x2), stepen)
  else
    f := ftmp + Power(Abs(1-x2), stepen);
end;
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Инициализация графического режима, программирование эффекта движения - PascalABC.NET Sergey12341 Паскаль, Turbo Pascal, PascalABC.NET 1 25.05.2017 17:16
Задачи с использованием численных методов (Delphi) Conte Помощь студентам 0 21.05.2012 19:34
Лабораторная работа. Реализация одного из методов оптимизации MadLow Фриланс 3 11.12.2011 19:04
Тестирование методов одномерной оптимизации Скарам Обсуждение статей 0 20.06.2010 14:38
Создание класс с использованием методов доступа к данным El_Bint0 Помощь студентам 1 14.03.2007 10:16