Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.04;
Скачать: CL | DM;

Вниз

Задачка по математике   Найти похожие ветки 

 
max888   (2004-03-04 12:16) [0]

Люди добрые, помогите решить пару примерчиков. Забыл как они решаются просто, а надо написать програмки для их решения:
1) Найти значение многочлена 3/5 + 5x/8 + 7x^2/11 + 9x^3/14 + ... + 15x^6/23
   ^ - это знак степени у меня
2) Найти целые корни ур-я x^4 - 6x^3 - 19x^2 + 84x = 0 на промежутке [-10, 10]


 
pasha_golub ©   (2004-03-04 12:25) [1]

1) Значение функции быть может. Это раз. Во вторых, решить уравнение с заданной точностью быть может.

2) Опять же, с заданой точностью? И с какой?


 
MBo ©   (2004-03-04 12:25) [2]

1. Так как задача учебная, то цикл for, а закономерность зависимости числителей и знаменателей от номера уж сам догадайся ;)
(с вычислительной точки зрения выгоднее в данном случае схему Горнера использовать - сам найди,что это такое)

2. свободного члена нет - один корень очевиден, делим на него, получается кубическое ур-е. Целые корни являются делителями свободного члена - находим все делители, подстановкой проверяем.


 
MBo ©   (2004-03-04 12:27) [3]

P.S. 2. Делим не на корень, конечно, а на X


 
Saturn ©   (2004-03-04 12:33) [4]

2 pasha_golub ©   (04.03.04 12:25) [1]
2 там же только целые корни надо найти точность то тут при чем?
можно ведь найти все корни а потом выделить нужнгые х1=0это сразу видно а потом просто все корни кубического уравнения.


 
SergP ©   (2004-03-04 12:36) [5]

>2) Найти целые корни ур-я x^4 - 6x^3 - 19x^2 + 84x = 0 на промежутке [-10, 10]

Что-то типа так:

for x:=-10 to 10 do
if MyFunction(x)=0 then
memo1.lines.add("Найден целый корень х="+inttostr(x));
...


 
Saturn ©   (2004-03-04 12:46) [6]

SergP ©   (04.03.04 12:36) [5]
Сам подход не правельный. Не математический :)


 
pasha_golub ©   (2004-03-04 13:30) [7]

Saturn ©   (04.03.04 12:33) [4]
Про целые не заметил. Посыпаю голову пеплом. :)


 
max888   (2004-03-04 13:32) [8]

SergP ©   (04.03.04 12:36) [5]

Ты имеешь ввиду если к примеру вместо x подставить какое-либо число(например -10) и если левое равенство будет равно правому, тогда результат верный? Так?


 
max888   (2004-03-04 13:36) [9]

MBo ©   (04.03.04 12:25) [2]
1. Так как задача учебная, то цикл for, а закономерность зависимости числителей и знаменателей от номера уж сам догадайся ;)
(с вычислительной точки зрения выгоднее в данном случае схему Горнера использовать - сам найди,что это такое)


Где эту чертову формулу взять может кто знает, или без нее как-нить можно обойтись. И если можно пободробнее что имеется ввиду под то цикл for, а закономерность зависимости числителей и знаменателей от номера уж сам догадайся - это вообще как???

Если нетрудно буду рад с примерами получить ответ ;)


 
MBo ©   (2004-03-04 13:45) [10]

Да уж...
Полный абзац.


 
Romkin ©   (2004-03-04 14:01) [11]

x^4 - 6x^3 - 19x^2 + 84x = 0 Все они целые (-4, 0, 3, 7)


 
Saturn ©   (2004-03-04 14:15) [12]

2 max888   (04.03.04 13:36) [9]
Если мне не изменяет память то (ёще Галуа доказал) что уравнения выше 5 степени аналитически не ренаются.


 
Radionov Alexey ©   (2004-03-04 14:18) [13]

>max888   (04.03.04 12:16)
Твоя схема Горнера:
3/5+(5/8+(7/11+(9/14+(11/17+(13/20+15/23*x)*x)*x)*x)*x)*x

:)


 
Saturn ©   (2004-03-04 15:02) [14]

Да нащет первого ворде у него совем нет корней.
Врпинцыпе самый простой метод решения такого уравнения это
1. Локализировать корни
2. Метод колокации (вроде так4 называется)


 
max888   (2004-03-05 15:09) [15]

по 1)
  Люди, ну тогда решите пожалуйста этот многочлен. С его решения мне станет намного понятней, чем обсуждать всякие эти методы(грязные ;)


 
pasha_golub ©   (2004-03-05 15:10) [16]

max888   (05.03.04 15:09) [15]

Ято значит "решить многочлен"? Может я плохо математику учил?


 
MPS ©   (2004-03-05 15:21) [17]

pasha_golub ©   (05.03.04 15:10) [16]

Я тоже так про себя думаю. Ну вот ничего у меня не осталось в пямяти о многочленах :(( А задачка та по информатике за 10-й класс, вот такая фигня блин!!!


 
Жорж   (2004-03-05 15:27) [18]

function Poly(x: Double): Double;
var
 S: Double;
 PowerOfX: Double;
 i: Integer;
begin
 S := 3 / 5;
 PowerOfX := 1;
 for i := 1 to 6 do begin
   PowerOfX := PowerOfX * x;
   S := S + (3 + i * 2) * PowerOfX / (5 + 3 * i);
 end;
 Result := S;
end;


 
Жорж   (2004-03-05 15:47) [19]

type
 TRoots = array[1..4] of Integer;

procedure FindRoots(var Res: TRoots; var RootNumb: Integer);
 function Func(x: Integer): Integer;
 begin
   Result := x*(x*(x*(x - 6) - 19) + 84);
 end;
var
 i: Integer;
begin
 RootNumb := 0;
 for i := -10 to 10 do
   if Func(i) = 0 then begin
     Inc(RootNumb);
     Res[RootNumb] := i;
   end;
end;


 
nikkie ©   (2004-03-05 17:26) [20]

>Жорж
садись, четыре
:)


 
Юрий Зотов ©   (2004-03-05 19:57) [21]

> MBo © (04.03.04 13:45) [10]

Да...
Простейшие последовательности - проблема.
Формула Кардано - даже не прозвучало.
Как хорошо, что раньше не было Интернета...
:-(


 
pasha_golub ©   (2004-03-05 20:02) [22]

Юрий Зотов ©   (05.03.04 19:57) [21]
Не прозучало потому, что не для кого. Автор вопроса про Кардано разве что в Плей-Бое читал.


 
nikkie ©   (2004-03-05 20:11) [23]

скорее потому, что Кардано тут не к месту.


 
pasha_golub ©   (2004-03-05 20:34) [24]

nikkie ©   (05.03.04 20:11) [23]
Почему не к месту?
К месту. Во втором примере выносим х за скобки получаем уравнение третьей степени. И еще один корень = 0. Так что...


 
nikkie ©   (2004-03-05 20:47) [25]

>Почему не к месту?
потому что целые корни. судя по формулировке задачи (на промежутке [-10, 10]) имелось в виду решение с перебором всех целых из указанного интервала. но более математический способ - в [2] MBo, знать интервал не обязательно. через Кардано попробуй сделать, если сможешь - с меня пиво. но в любом случае, я думаю, согласишься, что это далеко не простой способ. ну и ограниченной применимости - годится лишь для уравнений 3-й степени.


 
Юрий Зотов ©   (2004-03-06 00:14) [26]

> nikkie ©   (05.03.04 20:47) [25]

Выносим X за скобку и получаем нулевой корень. Остается уравнение 3-й степени. Решаем по Кардано и проверяем на принадлежность к интервалу и на целостность.

1. Что не так?
2. Перебор в цикле от -10 до +10 разве быстрее?


 
nikkie ©   (2004-03-06 01:42) [27]

>1. Что не так?
все так, только давайте попробуем прикинуть, как реализовать такой алгоритм...

смотрим, что есть формула Кардано.
http://encycl.yandex.ru/cgi-bin/art.pl?art=bse/00032/61000.htm&encpage=bse

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

действие 2. применяем формулу Кардано. м-дя. если дискриминант (это то, что под квадратным корнем стоит) положительный, то все сравнительно просто. а если дискриминант отрицательный, то нам придется брать кубические корни из комплексного числа, что есть упражнение по тригонометрии с применением какой-нибудь обратной тригонометрической функции.

чтобы не думать самим, находим реализацию в интернете:
http://algolist.manual.ru/maths/findroot/cubic.php

получили 1-2-3 вещественных корня.

действие 3. округлить корни до целого и подставить в исходный многочлен (а иначе я даже и не знаю, как убедиться, что корень - целый).

2. Перебор в цикле от -10 до +10 разве быстрее?
ввиду выше описанного, мне кажется, да. по схеме Горнера для вычисления значения кубического многочлена надо всего 3 сложения и 3 умножения.

кроме того,
1. заведомо проще такой алгоритм написать.
2. такой алгоритм работает не только для кубических уравнений.


 
SergP ©   (2004-03-06 03:58) [28]

>pasha_golub ©   (05.03.04 20:34)
>>nikkie ©   (05.03.04 20:11) [23]
>Почему не к месту?
>К месту. Во втором примере выносим х за скобки получаем уравнение третьей >степени. И еще один корень = 0. Так что...

А вообще эти задачки из разряда тех дурацких, при обсуждении которых тут несколько месяцев назад я, Думкин и еще кто-то (не помню), почти только втроем довольно длинную ветку написали...

Дело в том что нормальные люди не пишут программ для решения уже готовых уравнений, потому что (на примере сабжа):
Программа решающая данную задачу будет предназначена только для решения данного уравнения и больше ничего, соответственно для работы программы не требуются никакие входные данные, результат ее работы всегда одинаков.
если принять во внимание то что во 2-й задаче можно вынести х за скобки и ответ х1=0 очевиден, то далее делаем вывод что можно также вынести за скобки (x-3), следовательно х2=3 и т.д.
В таком случае получается что самая простая программа, решающая данную задачу, это:

label1.caption := "Решения задачи: x1=-4, x2=0, x3=3 ,x4=7";


 
vidiv ©   (2004-03-06 08:07) [29]

Уравнение 4ой степени можно еще и методом Феррари решить. Т.е. путем выделения разности квадратов...

У формул Кордано такой "страшный" вид, что невольно приходит мысль что целые корни никак не получатся


 
MBo ©   (2004-03-06 08:46) [30]

Рещать кубическое уравнение можно, но в данном случае не нужно, поскольку - если у уравнения с целыми коэфф. есть целые корни, то они являются делителями свободного члена, что проходится в школе и иногда используется в старших классах для решения простейших куб. уравнений подстановкой. А поскольку очевидно, что задание направлено на освоение простейших конструкций языка, то вполне может подойти и способ с перебором в цикле от -10 до 10.
Однако полностью ответить на то, какой способ требовался, может только злобный коварный преподаватель ;))


 
Юрий Зотов ©   (2004-03-06 09:41) [31]

Да в общем-то, речь даже и не об этом шла. Какая, в конце концов разница - Кардано или не Кардано. Другое грустно.


 
vidiv ©   (2004-03-08 10:03) [32]

К стати я не жалею что не поступил на специальность "Инофрмака". А поступил на Математика... учу математику по полной:)


 
Romkin ©   (2004-03-08 15:11) [33]

Юрий Зотов ©   (06.03.04 09:41) [31]
Что грустно? По-моему, вполне естественно, когда для данной задачи предлагается наиболее краткое и подходящее решение. Хотите формулу Кардано - переформулируйте условие. Применение формулы Кардано является наименее удобным сбособом нахождения целых корней. В [27] nikkie уже это показал, достаточно сравнить с [19].
Если же вы хотите сказать, что возможность спросить и быстро получить решение именно для частного случая, яркий пример чего мы видим в данном вопросе, это плохо, то тут также можно возразить: каждый решает для себя сам. Тем более в форуме, где, как можно заметить, отвечают именно на поставленный вопрос, а не пытаются делать догадок о том, что вопрошающий хотел спросить на самом деле, и что ему на самом деле не хватает в теории.
В частности, я, например, не помню, когда мы проходили в школе "если у уравнения с целыми коэффициентами есть целые корни, то они являются делителями свободного члена". Просто я тогда не учился, точнее, я уверен, что этот факт упоминался вскользь и с отрывом от практики. Так обычно и бывает. Простой пример: совсем недавно я был поражен, когда помогал дочери соседки разобраться с простыми дробями. Причем она не могла разобраться просто с целочисленной арифметикой (5 класс), без всяких буквенных обозначений алгебры! Причина выяснилась очень быстро: ей никто не сказал, что дробь - это просто число. Ей сказали, что простая дробь - это два числа, разделенные чертой, после этого дали кучу алгоритмов для сокращения дроби и арифметики. Никакого практического применения затронуто просто не было. И когда я ей объяснил на яблоках, что дробь - это просто число, часть целого, больше просто ничего объяснять не пришлось, всем действиям с дробями сразу нашлось естественное применение. Да и теория стала понятной.
К чему все это? Я хочу сказать, что, с одной стороны, даже если человек хочет учиться, его не всегда учат, а с другой стороны, даже если человека учат, но он не хочет этого, то он также ничему не научится. Гадать, какой именно случай имеет место с задавщим вопрос, имхо, не имеет смысла в форуме. Это задача преподавателя, а не отвечающего. Да и иногда нарваться можно :))


 
Юрий Зотов ©   (2004-03-09 15:39) [34]

> Romkin © (08.03.04 15:11) [33]

> Что грустно?

Что такой вопрос вообще возник.

> Гадать, какой именно случай имеет место с задавщим вопрос,
> имхо, не имеет смысла

А это и не важно. Возник ли вопрос из-за преподавателя, или из-за самого спрашивающего - уже неважно. Причины могут быть самими разными, но результат один - человек не может решить простейшую задачу. Что и грустно.


 
pasha_golub ©   (2004-03-09 15:46) [35]

Юрий Зотов ©   (09.03.04 15:39) [34]
Грустно, согласен. Большинство людей, получающих ВО, есть посредственности. Что уж говорить о школе?

Но не смотря ни на что, я продолжаю считать, что советское (постсоветское) образование лучшее в мире.


 
Romkin ©   (2004-03-09 15:58) [36]

Ерунда. Опять же, грустить не о чем. Пару лет назад я объяснял доктору, декану факультета, как строить гистограмму распределения Пуассона, ну и как моменты вычислять. И что? Мне было весело, но никак не грустно. Доктор хим. наук, кстати. Не надо было ей это никогда, а тут - оп! Через неделю лекцию по полимеризации читать, а там такое :))
И ничего.


 
Юрий Зотов ©   (2004-03-09 19:31) [37]

> Romkin ©   (09.03.04 15:58) [36]

А ведь она, поди, еще в институте все это изучала. Ну хотя бы названия и область должна была помнить, чтобы открыть нужную книжку в нужном месте и прочитать. Для того ведь и учили.

Как-то мне довелось объяснять дипломированному инженеру, каким уравнением описывается нисходящая прямая. Средняя школа, однако.

Этот человек руководил научным отделом в НИИ. Под его началом находилось более полусотни человек. Из них - с десяток (если не более) кандидатов наук, из которых пара-тройка человек вполне соответствовала уровню доктора.

По должности он имел решающий голос при планировании тематики и хода ее выполнения, право первой подписи под научными отчетами и пр.

Разве не грустно?



Страницы: 1 вся ветка

Текущий архив: 2004.04.04;
Скачать: CL | DM;

Наверх




Память: 0.57 MB
Время: 0.024 c
8-1069342227
Roa
2003-11-20 18:30
2004.04.04
Формирование миниатюры изображения


8-1070004089
user
2003-11-28 10:21
2004.04.04
Как удалить определенное кол-во секунд из .wav файла


6-1074659839
evgeniy55
2004-01-21 07:37
2004.04.04
Проверка подключения к сети


14-1078992146
icebeerg
2004-03-11 11:02
2004.04.04
XP W2k и принтер


14-1078598788
ChcngerMan
2004-03-06 21:46
2004.04.04
Трафик :.