Другие языки программирования и технологии

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

а также вычисление пределов, нахождение производных и подобного. Т.е. проблема в том, что компьютер не понимает символьных обозначений и не может проводить с ними вычисления. Как это делается? (MathCAD, например, это умеет)
MB
Mustafa Bil
14 410
Вы затронули две области - решение уравнений и синтаксический анализ.

Первое отвечает за само вычисление - несложно, на уровне школы.

Ну а чтобы ваша программа поняла что ей там написал пользователь нужно второе - намного сложнее
Гела Кварацхелия
Гела Кварацхелия
22 045
Лучший ответ
Mustafa Bil Да, наверное оно самое... эвристика, анализ. Как это делается знаете?
Всё это делается с помощью головы в первую очередь, а для этого надо углубиться в математику и только потом в программирование!
Все вопросы которые Вы задали, например, у меня решены и применены во многих задачах.
MathCADом я не пользуюсь, потому, что мне он не интересен. Кроме того, он иногда может выдать и неверные результаты и не потому, что он неправильно считает, просто у юзеров, которые им пользуются, очень мало знаний в голове. Часто приходится студентов ругать за такое вольное обращение с этим продуктом.
Теперь по сути. Вы задали сразу много вопросов, а ведь каждый из них требует отдельного решения и чаще всего решение зависит от конкретной задачи!
Чтобы ответить на все вопросы - это по сути несколько дисциплин надо прочитать Вам, а потом ещё и научить писать программы.
Для начала возьмите одну из книг Дьяконова В. П. Применение персональных ЭВМ и программирование на языке Бейсик. Эта книга снимет Вам часть вопросов и может в следующий раз Вы более конкретно зададите вопрос.
Mustafa Bil Я не совсем новичок, как вам показалось. Может вопрос действительно не очень ясен....
Все те задачи про интегралы, пределы и матрицы я решать умею без компьютера. Просто никогда не занимался программированием символьных вычислений, вот и захотелось попробовать нового!
Все равно, спасибо за ответ.
автор а вам не кажется что вы бред пишете? !
>>проблема в том, что компьютер не понимает символьных обозначений и не может проводить с ними вычисления
и дальше:
>>(MathCAD, например, это умеет)
у вас маткад не на компьютере запускается? и все расчеты mathcad делает обращаясь к великому вселенскому разуму?!
Mustafa Bil Компьютер не умеет, а в MathCAD заложены спец. алгоритмы, которые это делаю. Я спрашиваю про алгоритмы. Компьютер с буквами проводить вычисления и преобразования напрямую не может, так ведь?
Компьютер все великолепно понимает. Только надо говорить на понятном ему языке. Числовые обозначения он понимает так же, как и символьные - через программу-переводчик в машинные коды.
Компьютер в первую очередь логическая машина, а уже во вторую только - вычислительная. Если ты можешь что-то описать на русском языке, например, правила дифференцирования или инетгрирования, это можно перевести и на машинный.
Mustafa Bil Компьютер "понимает" только нули и единицы.
И как же мне "объяснить" ему как решаются интегралы?
Mustafa Bil Я могу, а как перевести на машинный не знаю. Объясните, если не трудно. Вот дан интеграл допустим: (x^5+x^3+3)/(x^3-x^2+x) - не очень сложный. Правил интегрирования не так уж и много, но алгоритм построить не могу. Как заставить комп распознавать тип функций, упрощать их если нужно?

Похожие вопросы