можно ли как то формулу по которой будет считать MathParce взять из потока???
или только до запуска можно ее написать?
Этот топик читают: Гость
Ответов: 327
Рейтинг: 5
|
|||
карма: 0 |
|
Разработчик
Ответов: 26304
Рейтинг: 2146
|
|||
knoot0279 писал(а): можно ли как то формулу по которой будет считать MathParce взять из потока???Привет, а галочку поставить в свойстве MathStr и через появившуюся точку doMathStr загнать формулу не судьба ![]() |
|||
карма: 22 |
|
Ответов: 327
Рейтинг: 5
|
|||
извиняюсь
![]() ------------ Дoбавленo в 01.45: а не подскажете как сделать из этого "2x^3-3x^2-12x+1" формулу которую парсер поймет? я что то сообразить никак не могу при x например 1,2 и т.д |
|||
карма: 0 |
|
Разработчик
Ответов: 26304
Рейтинг: 2146
|
|||
2*%1^3 - 3*%1^2 - 12*%1 + 1
|
|||
карма: 22 |
|
Ответов: 9906
Рейтинг: 351
|
|||
Слушай nesco, а не добавить ли нам туды дополнительную опцию.
Внешнее распознавание неопознанных имен Типа, если в формуле написано: 2*%1^3 - 3*%1^2*Bessel(%1,1.5) - 12*%1 + 1 -- то сегодня парсер, распознавши имя Bessel, скажет: Syntax error. Предложение такое: пусть будет св-во ExtNames. Если оно <=0, или >DataCount -- то пусть будет все как есть. Если >0, и <=DataCount -- пусть отправляет наверх (на пин с этим номером) событие, в голове MT-потока которого стоит распарсенное имя. Вопрос такой: достойно ли это для разработки, чего думаешь ![]() |
|||
карма: 9 |
|
Ответов: 8955
Рейтинг: 824
|
|||
Galkov, а что, "там наверху" событию делать? Есть же onError
![]() |
|||
карма: 19 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
Леонид, насколько я понял, а там наверху функция(блок), которая вычисляет этот Bessel (или любое другое)
Хотя, как это будет выглядеть, даже не представляю. ![]() Ведь его можно вычислить заранее и в формулу вставить уже готовое значение 2*%1^3 - 3*%1^2* %2 - 12*%1 + 1. |
|||
карма: 25 |
|
Ответов: 9906
Рейтинг: 351
|
|||
Tad писал(а): Ведь его можно вычислить заранее и в формулу вставить уже готовое значение Скажем так, не всегда можно ЗАРАНЕЕ. Для этого нужно знать формулу. Если есть метод doMathStr, значит гарантий это знания как бы и нет. Вот такое вот логическое извращение... Эту картинку видел? ![]() Ну конечно можно, делаю же как-то (это "как-то" на рассыпухе можно даже назвать -- "мама не горюй") Перед вычислением, ищу в формуле знакомые имена, проверяю, предыдущий символ (чтобы не продолжение другого имени), проверяю последующий символ (чтобы не начало другого имени), делаю замену на вызов точки, делаю doMathStr, и считаю. ------------ Дoбавленo в 13.21: В общем, еще один парсинг <Имени> на рассыпухе, возможно не самый корректный... Когда у нас один корректный парсер-то -- уже есть, у нутре MathParse-ра |
|||
карма: 9 |
|
Ответов: 8955
Рейтинг: 824
|
|||
Galkov, ну тогда составить список с формулами наиболее употребляемых функций одной переменной, да и вычислять их, подставляя уже сосчитанное в исходную формулу, и нечего наверх передавать, хотя, если представить себе наверху ещё один MathParse, то, конечно, получиттся более универсально, но надо-ли, как недавно подмечено "спрашивают, как секунды в часы перевести, а тут интегральный синус растолковывать"
![]() |
|||
карма: 19 |
|
Разработчик
Ответов: 26304
Рейтинг: 2146
|
|||
Galkov писал(а): Вопрос такой: достойно ли это для разработки, чего думаешьВ принципе, это может дать очень интересный вариант решения некоторых задач. Если использовать совместно со StrList-ом, то спокойно можно выбирать направление решения задачи. А вот чего нам точно не хватает, так это именованного результата. Предположим, что необходимо выполнять некоторые логические операции, и в зависимости от результата выдавать в поток не цифровое значение, а некоторый текст. Это похоже на то, что ты предлагаешь, но только с потоком и уже в конце действия. Если захочешь чего-то сделать, используй версию с SVN, она отличается от оригинальной только мультистрочностью, весьма полезное свойство, кстати |
|||
карма: 22 |
|
Ответов: 9906
Рейтинг: 351
|
|||
Леонид, бог с ним, с интегральным синусом.
Ты чего, формулу с картики не узнал, что ли ![]() Чего проще-то. Заморочка в том, что на этапе дизайна схемы ни формула неизвестна, ни список переменных, ни их количество. А я реально таким калькулятором пользуюсь. Потому-что "инженерный калькулятор" в винде считаю оскорблением в адрес Инженеров. nesco, 1) щаз займусь тогда 2) обновился уже |
|||
карма: 9 |
|
Ответов: 8955
Рейтинг: 824
|
|||
Galkov писал(а): формулу с картики не узнал, что ли![]() ![]() |
|||
карма: 19 |
|
Ответов: 9906
Рейтинг: 351
|
|||
Ну, скажем -- как-то так...
тестировал еще мало... |
|||
карма: 9 |
| ||
файлы: 1 | mathparsex.rar [6.2KB] [242] | ||
Голосовали: | Assasin |
Разработчик
Ответов: 26304
Рейтинг: 2146
|
|||
Galkov писал(а): тестировал еще мало...Срочно подтянуть математиков ![]() |
|||
карма: 22 |
|
Ответов: 8955
Рейтинг: 824
|
|||
Galkov, Ага(3) -- функция, которую ещё надо прописать где-то?
![]() |
|||
карма: 19 |
| ||
файлы: 1 | ogo.jpg [76.2KB] [461] |