Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 |

 

  Вопрос: Производная функций Добавлено: 09.01.04 08:30  

Автор вопроса:  dNW

Кто знает! Как програмно составить производную функций, введеннои в ТехтВох?

Ответить

  Ответы Всего ответов: 19  

Номер ответа: 1
Автор ответа:
 MaximusX



Вопросов: 5
Ответов: 19
 Профиль | | #1 Добавлено: 19.01.04 07:08

Задачка не из легких  ...

Таким образом поставленная задача решается путем написания бешеного кода.

Задача решается просто, если функция - полином (например: a2*x*x + a1*x  + a0 - полином 2-ой степени).

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

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

P.S. Если тебе это все еще надо, то напиши какого вида могут быть функции, скольких переменных они.

Ответить

Номер ответа: 2
Автор ответа:
 MaximusX



Вопросов: 5
Ответов: 19
 Профиль | | #2 Добавлено: 19.01.04 07:30

Я тута в форуме нарыл как по текстовому представлению функции посчитать ее результат:

Подключаеш Microsoft Script Control 1.0 (msscript.ocx)

Добавляеш ScriptControl на форму, создаеш,к примеру txtY

Пишеш:

for x = -10 to 10 step 1

FX = replace$(txtY,"x",x)             - ' заменяем икс на число

y = scriptcontrol1.eval(FX)          - ' Считаем с помощью ScriptControl

(я так полагаю тебе нужно поставить точку на плоскости ? если да,то пишеш)

pset (x,y)

next x

  Вот так! Если в текст введено x^2,то ты получиш 20 точек параболы y=x^2

Взято с http://www.vbnet.ru/forum/show.asp?id=31423

Ответить

Номер ответа: 3
Автор ответа:
 dNW



Вопросов: 30
Ответов: 683
 Профиль | | #3 Добавлено: 19.01.04 15:57
To MaximusX:  Посмотри по этои ссылке автора ответа! Это же я отвечал на тот вопрос, а значит я знаю как считать програмно по формуле 

Ответить

Номер ответа: 4
Автор ответа:
 MaximusX



Вопросов: 5
Ответов: 19
 Профиль | | #4 Добавлено: 20.01.04 07:11

I am sorry !!! (Запарился)

 

Ответить

Номер ответа: 5
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #5
Добавлено: 20.01.04 12:13

Нужно найти значение производной или ее аналитическое выражение?

Ответить

Номер ответа: 6
Автор ответа:
 dNW



Вопросов: 30
Ответов: 683
 Профиль | | #6 Добавлено: 20.01.04 18:25

To Sharp: Да что угодно и как проще! 

Ответить

Номер ответа: 7
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #7
Добавлено: 21.01.04 18:44
Не, так не пойдет. Ты должен определиться, это ведь совершенно разные вещи. Проще, конечно, значение.

Ответить

Номер ответа: 8
Автор ответа:
 dNW



Вопросов: 30
Ответов: 683
 Профиль | | #8 Добавлено: 22.01.04 08:39

Ну вообще лучше всего выражение , но только если есть гарантий,что оно будет точным! Мне важна точность определения - если гарантий на точное выражение нет,то лучше значение, но точное!

Ответить

Номер ответа: 9
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #9
Добавлено: 22.01.04 12:40

Точное значение определить сложнее, для этого надо вычислить точную формулу. Чтобы вычислить точную формулу, надо определить множество элементарных функций и, используя правила нахождения производной, разложить функцию в корневое дерево, после чего сложить его по правилам дифференцирования. Это если одна независимая переменная. Если несколько - это уже геморрой. Мне почему-то аж самому захотелось реализовать эту вещь :)

Ответить

Номер ответа: 10
Автор ответа:
 dNW



Вопросов: 30
Ответов: 683
 Профиль | | #10 Добавлено: 22.01.04 16:47
Я понимаю, что не простая задачка, однако игра стоит свеч!  Раз так, то даваи будем обмениваться всем , что только наидем по этои теме. Только одного я не понимаю! Почему никто еще не написал ActiveX, которыи это будет делать! 

Ответить

Номер ответа: 11
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #11
Добавлено: 22.01.04 19:36
Чем тут обмениваться? При достаточно ограниченном числе элементарных функций и нормальном знании матана это задача на 2 часа для опытного программера (Это я с запасом). А ActiveX такой наверняка существует. А если не существует, то давайте сами напишем и продадим :)))

Ответить

Номер ответа: 12
Автор ответа:
 dNW



Вопросов: 30
Ответов: 683
 Профиль | | #12 Добавлено: 23.01.04 16:10

Ну может быть ты и с запасом, а вот мои опыт скуден ,

так что здесь я буду рассчитывать на тебя

Ответить

Номер ответа: 13
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #13
Добавлено: 23.01.04 17:30

За комплименты, конечно, спасибо, но Обломов рядом со мной - просто гибрид пчелы и муравья :)

Тем не менее, если возьмусь, напишу.

Ответить

Номер ответа: 14
Автор ответа:
 dNW



Вопросов: 30
Ответов: 683
 Профиль | | #14 Добавлено: 24.01.04 13:36
В последнем я не сомневаюсь ( учитывая весьма заметное присутствие тебя на этих форумах  ;). Слушаи! А у тебя то стаж программирования какои? Да и вообще! Скольке тебе лет? а то вдруг я () "ТЫкаю" взрослого человека !

Ответить

Номер ответа: 15
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #15
Добавлено: 24.01.04 15:38
Виртуалы возраста не имеют. Да и вообще, употребление "Вы" на этом форуме стало уже страдицией только в том случае, если над человеком хотят поиронизировать :)
А стаж программирования у меня маленький :(
Зато интенсивный :)
Нахождение производной включает в себя два этапа:
- рекурсивный (так проще) разбор выражения и вычленение элементарной операции, такой, что все ее аргументы - либо константа, либо производная.
- если выражение элементарное, то от него берется производная и строка возвращается результатом.
Но опять-таки, повторюсь, все это возможно только для дифференциального исчисления одной переменной и стандартного набора элементарных функций (введение интегральны функций или неявных или параметрических или какого-нибудь ужаса в виде гамма-функции невероятно усложнит дело). Жалко, мы уже давно прошли дифференциальное исчисление, а то бы мне совсем не лень было написать такую программу для домашних заданий... :)

Ответить

Страница: 1 | 2 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам