Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
1 / 1 / 2
Регистрация: 11.03.2014
Сообщений: 489
1

Вычислить значение выражения

26.09.2015, 16:42. Показов 1145. Ответов 17
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, проверьте пожалуйста, правильно ли реализован алгоритм?!

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
var F,L:real;
    i,j,n:integer;
    x:array[1..10] of real;
    y:array[1..10] of real;
 
begin
     write('n=');readln(n);
     FOR i:=1 TO n DO
     begin
          write('x[',i,']=');readln(x[i]);
          write('y[',i,']=');readln(y[i]);
     end;
     begin
          write('x[',n+1,']=');readln(x[n+1]);
     end;
     y[n+1]:=0;
     F:=0;
     FOR j:=1 TO n DO begin
     L:=1;
     FOR i:=1 TO n DO
     begin
         IF i<>j THEN
         begin
         L:=L*(x[n+1]-x[i])/(x[j]-x[i]);
         end;
     end;
     y[n+1]:=y[n+1]+y[J]*L;end;
     writeln('y[',n+1,']=',y[n+1]:1:0);
     FOR i:=1 TO n DO
     begin
          writeln('x[',i,']=',x[i]:10:10,' y[',i,']=',y[i]:10:10);
     end;
     begin
          writeln('x[',n+1,']=',x[n+1]:10:10,' y[',n+1,']=',y[n+1]:10:10);
     end;
     readln;
end.
Миниатюры
Вычислить значение выражения  
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.09.2015, 16:42
Ответы с готовыми решениями:

Вычислить значение выражения
Вычислить пример №1

Вычислить значение выражения
необходимо использовать структуру итерационного цикла необходимо использовать структуру...

Вычислить значение выражения
Дано натуральное число N. Вычислить: S=1-1/2-1/4-1/8-...-1/2^n с помощью гото пожалуйста

Вычислить значение выражения
обчислить уравнение y=\sum_{10}^{100} \frac{x^2+a+i}{\sin i^2+ \operatorname{tg} x^3} где 'a' и...

17
Модератор
Эксперт по электронике
8477 / 4335 / 1643
Регистрация: 01.02.2015
Сообщений: 13,462
Записей в блоге: 8
26.09.2015, 16:53 2
Не всё лагранжи одинаково полезны. Нет.
1
1 / 1 / 2
Регистрация: 11.03.2014
Сообщений: 489
26.09.2015, 17:03  [ТС] 3
Цитата Сообщение от ФедосеевПавел Посмотреть сообщение
Не всё лагранжи одинаково полезны. Нет.
помогите написать, пожалуйста
0
Модератор
Эксперт по электронике
8477 / 4335 / 1643
Регистрация: 01.02.2015
Сообщений: 13,462
Записей в блоге: 8
26.09.2015, 17:32 4
Здесь чистая аналитическая математика, привязанная к описанию исходных функций. И лишь в нескольких местах численные методы. Вот описание теории с несколькими примерами.
Выводите аналитические выражения, формулируйте задания к численным методам (например, найти определитель матрицы, заданного вида). Тогда будет помощь. Иначе, никто не будет сидеть и на бумаге выводить частные производные.

Можете взять один из примеров (аналитику) по ссылке и начать дробить общую задачу на шаги. Можете для обобщения заменить числовые коэффициенты на символьные и находить в общем виде. Дальше - получаются задачи по нахождению определителя матрицы, элементы которой вычисляются из исходных данных. Какие-то другие подзадачи.
1
1 / 1 / 2
Регистрация: 11.03.2014
Сообщений: 489
26.09.2015, 18:33  [ТС] 5
Цитата Сообщение от ФедосеевПавел Посмотреть сообщение
Выводите аналитические выражения, формулируйте задания к численным методам
дана функция с ограничениями типа равенств, необходимо ее минимизировать
Миниатюры
Вычислить значение выражения  
0
1 / 1 / 2
Регистрация: 11.03.2014
Сообщений: 489
26.09.2015, 18:50  [ТС] 6
вот решение
Миниатюры
Вычислить значение выражения   Вычислить значение выражения  
0
Модератор
Эксперт по электронике
8477 / 4335 / 1643
Регистрация: 01.02.2015
Сообщений: 13,462
Записей в блоге: 8
26.09.2015, 18:58 7
Чудесно. Выводите частные производные. В пункте 3 подходите к решению нелинейного (может быть, просто квадратного) уравнения относительно лямбды. Эта часть пусть решается программой.

Добавлено через 3 минуты
Я долго набирал.
1
1 / 1 / 2
Регистрация: 11.03.2014
Сообщений: 489
26.09.2015, 18:59  [ТС] 8
Цитата Сообщение от ФедосеевПавел Посмотреть сообщение
Чудесно. Выводите частные производные. В пункте 3 подходите к решению нелинейного (может быть, просто квадратного) уравнения относительно лямбды. Эта часть пусть решается программой.
а зачем тогда писать код программы? (раз все от руки считать)
в коде программы нужно вести функцию и ограничение.
а остальное по алгоритму программа должна посчитать!
0
Модератор
Эксперт по электронике
8477 / 4335 / 1643
Регистрация: 01.02.2015
Сообщений: 13,462
Записей в блоге: 8
26.09.2015, 19:12 9
У меня такое же недоумение. Тут лучше уточнить у преподавателя.
Думаю, что программа для общего вида всех функций не подойдёт - сложно получить производные аналитически.
Могу лишь предположить, что в задании был вид функций
https://www.cyberforum.ru/cgi-bin/latex.cgi?f(x)=a*{x}_{1}^2+b*{x}_{2}^2
https://www.cyberforum.ru/cgi-bin/latex.cgi?g_1(x)=c*x_1+d*x_2+e
Тогда все преобразования в символьном виде - в виде формул. И уже вычисления при конкретных значениях коэффициентов - программой.
1
1 / 1 / 2
Регистрация: 11.03.2014
Сообщений: 489
26.09.2015, 19:18  [ТС] 10
нашел еще такое решение
Миниатюры
Вычислить значение выражения   Вычислить значение выражения   Вычислить значение выражения  

Вычислить значение выражения  
0
1 / 1 / 2
Регистрация: 11.03.2014
Сообщений: 489
30.09.2015, 21:05  [ТС] 11
Цитата Сообщение от ФедосеевПавел Посмотреть сообщение
У меня такое же недоумение. Тут лучше уточнить у преподавателя.
Думаю, что программа для общего вида всех функций не подойдёт - сложно получить производные аналитически.
Могу лишь предположить, что в задании был вид функций
Тогда все преобразования в символьном виде - в виде формул. И уже вычисления при конкретных значениях коэффициентов - программой.
можете реализовать для одного примера?
0
Модератор
Эксперт по электронике
8477 / 4335 / 1643
Регистрация: 01.02.2015
Сообщений: 13,462
Записей в блоге: 8
30.09.2015, 21:27 12
Наверное, могу, но только на выходных - если вспомню - сейчас ухожу рано прихожу поздно. Мыслить могу, но для математики и реализации нужна свежая голова.
1
1 / 1 / 2
Регистрация: 11.03.2014
Сообщений: 489
30.09.2015, 22:00  [ТС] 13
Цитата Сообщение от ФедосеевПавел Посмотреть сообщение
Наверное, могу, но только на выходных - если вспомню - сейчас ухожу рано прихожу поздно. Мыслить могу, но для математики и реализации нужна свежая голова.
буду ждать ответа
0
Модератор
Эксперт по электронике
8477 / 4335 / 1643
Регистрация: 01.02.2015
Сообщений: 13,462
Записей в блоге: 8
30.09.2015, 22:28 14
А я, всё же, надеюсь на ваше благоразумие - ждать каких-то выгодных вам поступков от незнакомого человека, по меньшей мере чревато провалом сдачи лабораторки.
1
1 / 1 / 2
Регистрация: 11.03.2014
Сообщений: 489
04.10.2015, 17:37  [ТС] 15
Цитата Сообщение от ФедосеевПавел Посмотреть сообщение
А я, всё же, надеюсь на ваше благоразумие - ждать каких-то выгодных вам поступков от незнакомого человека, по меньшей мере чревато провалом сдачи лабораторки.
Здравствуйте, сможете посмотреть?
0
Модератор
Эксперт по электронике
8477 / 4335 / 1643
Регистрация: 01.02.2015
Сообщений: 13,462
Записей в блоге: 8
05.10.2015, 10:43 16
Лучший ответ Сообщение было отмечено Fenlou как решение

Решение

Используя формулы из поста #6 и их обобщения в #9 получается такая программа. Но она очень уж простая.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
{
f(x)=a*x1^2+b*x2^2->min
g(x)=c*x1+d*x2+e=0
}
program L;
 
const
  a = 1;
  b = 1;
  c = 1;
  d = 1;
  e = -2;
 
  function f(x1, x2: real): real;
  begin
    f := a * x1 * x1 + b * x2 * x2;
  end;
 
var
  x1, x2, La: real;
begin
  {после составления системы линейных уравнений решим её}
  La := 2 * a * b * e / (a * d * d + b * c * c);
  x1 := -c * La / (2 * a);
  x2 := -d * La / (2 * b);
  writeln('Решив систему уравнений получим:');
  writeln('Lambda=', La);
  writeln('x1=', x1);
  writeln('x2=', x2);
  {Значение целевой функции в точке условного экстремума}
  writeln('Значение целевой функции в точке условного экстремума:');
  writeln('f(', x1, ', ', x2, ')=', f(x1, x2));
end.
Формулы были такие
https://www.cyberforum.ru/cgi-bin/latex.cgi?f(x)=a*x_1^2+b*x_2^2\rightarrow min
https://www.cyberforum.ru/cgi-bin/latex.cgi?g(x)=c*x_1+d*x_2+e=0
Составим функцию Лагранжа
https://www.cyberforum.ru/cgi-bin/latex.cgi?L(x,\lambda )=a*x_1^2+b*x_2^2+\lambda *(c*x_1+d*x_2+e)=0
Выпишем нобходимые условия экстремума первого порядка (я не буду набирать символы часных производных)
https://www.cyberforum.ru/cgi-bin/latex.cgi?\left\{\begin{matrix}2*a*x_1+c*\lambda =0\\ 2*b*x_2+d*\lambda =0\\ c*x_1+d*x_2+e=0\end{matrix}\right.
Решая систему получим
https://www.cyberforum.ru/cgi-bin/latex.cgi?\left\{\begin{matrix}\lambda =\frac{2*a*b*e}{b*c^2+a*d^2}\\ x_1=-\frac{c*\lambda}{2*a}\\ x_2=-\frac{d*\lambda}{2*b}\end{matrix}\right.
По этим формулам и вычислим x*.
Потом, как и в посте #6 разные манипуляции с частными производными с учётом обобщения вида функций.
Вывод значения целевой функции.

Вот собственно и всё. Можно было бы усложнить программу, вычисляя x* не аналитически, а через нахождение корней системы линейных или нелинейных уравнений в общем виде. Как я уже говорил ранее, здесь нечего считать - всё аналитически или создавать аналог MathCAD для аналитического нахождения частных производных.
1
1 / 1 / 2
Регистрация: 11.03.2014
Сообщений: 489
05.10.2015, 13:21  [ТС] 17
Цитата Сообщение от ФедосеевПавел Посмотреть сообщение
Вот собственно и всё.
Спасибо, добрый человек!!!

Добавлено через 6 минут
Цитата Сообщение от ФедосеевПавел Посмотреть сообщение
Вот собственно и всё.
а достаточное условие (2 пункт)?
0
Модератор
Эксперт по электронике
8477 / 4335 / 1643
Регистрация: 01.02.2015
Сообщений: 13,462
Записей в блоге: 8
05.10.2015, 21:16 18
Я уже забыл всю теорию...
0
05.10.2015, 21:16
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.10.2015, 21:16
Помогаю со студенческими работами здесь

Вычислить значение выражения
Помогите решить это задание через функции на PascalABC пожалуйста. Задание вот по этой ссылке...

Вычислить значение выражения
Выполнить задание по обработке одномерных массивов, организовав их размещения в памяти ПК...

Вычислить значение выражения
Дали задание на паре программирования

Вычислить значение выражения
Помогите создать программу паскаль для решения этого примера


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru