Можно ли на VB найти производную

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Unstat
Реальный басяк
Реальный басяк
Аватара пользователя
 
Сообщения: 285
Зарегистрирован: 07.01.2004 (Ср) 22:19
Откуда: Нижний Новгород

Можно ли на VB найти производную

Сообщение Unstat » 12.01.2004 (Пн) 19:16

Помогите люди добрые, подскажите как мне найти производную

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 13.01.2004 (Вт) 11:34

Можно!

А вот как именно - это вам Rainbow oтветит лучше меня :)

Lobo
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 108
Зарегистрирован: 08.01.2004 (Чт) 16:49
Откуда: Таллинн, Эстония

Сообщение Lobo » 13.01.2004 (Вт) 11:41

Смотри любой учебник по числовым методам программирования.

Rainbow
Человек-радуга
Человек-радуга
 
Сообщения: 543
Зарегистрирован: 13.05.2003 (Вт) 14:16

Сообщение Rainbow » 13.01.2004 (Вт) 12:09

Что я тебе, Unstat, могу сказать? На бумажке я тебе какую хочешь производную сосчитаю...

Что тебе надо-то? Если ты хочешь сосчитать производную в точке, то считай по определению:
f'(x0) = lim(f(x0+dx) - f(x0)/dx при dx->0

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

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 14.01.2004 (Ср) 10:08

Маткадом восхищаюсь... Даже не знаю, как начать думать о том, каким образом там производятся символьные вычисления. А expression, может, и можно переделать в derivative, надо попробовать :o
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Unstat
Реальный басяк
Реальный басяк
Аватара пользователя
 
Сообщения: 285
Зарегистрирован: 07.01.2004 (Ср) 22:19
Откуда: Нижний Новгород

Сообщение Unstat » 14.01.2004 (Ср) 13:56

Мне просто производную функции найти к примеру дана функция
y=4x^4-2x^3+3, ну и соответственно получиться
f'(x)=16x^3-6x^2 . Вообщем енто надо зделать как то программно.
И вот енто ни как ни могу придумать. :?

Rainbow
Человек-радуга
Человек-радуга
 
Сообщения: 543
Зарегистрирован: 13.05.2003 (Вт) 14:16

Сообщение Rainbow » 14.01.2004 (Ср) 15:06

Понимаешь, если у тебя всегда многочлен и известна его максимальная степень, то проблем нет. Пусть, например, надо находить производные многочленов степени не выше 9. Тогда такой многочлен можно представить массивом из 10 элементов (индексы с 0), где каждый элемент - это коэффициент при соответствующей степени.
Твой многочлен y=4x^4-2x^3+3 будет представлен массивом a (0, 0, 0, 0, 0, 4, -2, 0, 0, 3)
a(0) = 3, a(1)=0, a(2)=0, a(3)=-2, a(4)=4

Тогда результат - это тоже массив, назовем его b. Его элементы будут вычисляться как b(i) = a(i+1)*(i+1)
Проверяем:
b(0) = a(1)*1 = 0
b(1) = a(2)*2 = 0
b(2) = a(3)*3 = -6
b(3) = a(4)*4 = 16
остальные 0

А если функция неизвестна - ну, то есть там всякие sin, cos, ln встречаются, то придется тебе разбирать строку, складывать встречающиеся компоненты в массив... А не дай бог там еще сложные функции встретятся (типа sin(2^x))... Тоже, в принципе, можно, наверно разобрать. Только тогда лучше дерево строить...

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

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

GSerg писал(а):А expression, может, и можно переделать в derivative, надо попробовать :o

Это ты о чем? - не поняла...

Unstat
Реальный басяк
Реальный басяк
Аватара пользователя
 
Сообщения: 285
Зарегистрирован: 07.01.2004 (Ср) 22:19
Откуда: Нижний Новгород

Сообщение Unstat » 14.01.2004 (Ср) 15:17

Rainbow, спасибо большое теперь я хоть понял. щас начну кодить. :lol:

xolod
Гуру
Гуру
 
Сообщения: 1162
Зарегистрирован: 15.01.2004 (Чт) 0:42
Откуда: Moscow

Сообщение xolod » 15.01.2004 (Чт) 2:41

Если вас маткад так смушает, то как же вас напугает lExpression под *nix? Да он к тому же с исходниками, правда под c :D.

Проше всего строить программа общета испольуя динамический стек с типом "выталкивания" вверх. Если интересно, могу на мыльце пример послать.

Constant ERROR_SUCCESS deprecated. I'm so happy.
Программирование и дизайн – http://www.macrointellect.ru


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 14

    TopList