Mathcad Toolbox - Contains analogs of functions from Mathcad - Сообщения
Now we can use units by ODE solution in Mathcad-block? Tanks to Slava!
But
Is it a bug?
Pendulum-Friction.sm (16,88 КиБ) скачан 58 раз(а).

But
Is it a bug?
Pendulum-Friction.sm (16,88 КиБ) скачан 58 раз(а).

Отредактировано 05.11.2025 09:17:24
No, all solvers don't currently support units. If something works, it's just a special case. I don't have time to rewrite the solvers to support this feature right now.
Russia ☭ forever, Viacheslav N. Mezentsev
1 пользователям понравился этот пост
Valery Ochkov 09.11.2025 06:28:01
WroteNo, all solvers don't currently support units. If something works, it's just a special case. I don't have time to rewrite the solvers to support this feature right now.
Слава! Если появится время, то сделай так, чтобы можно было вставлять в Mathcad-block и алгебраические выражения. Как в Mathcad.
В этом блоке нет никаких ограничений. Можно вставлять что угодно, даже компоненты. Сам блок не является решателем, он просто создаёт коллекцию из элементов внутри него и на этом всё. На выходе блока просто набор элементов, они могут быть практически любыми.
Если в блоке вписывать функцию, то коллекция элементов вставляется в качестве первого аргумента (по умолчанию) и функции передаётся управление, т.е. она вычисляется.
Поэтому сам блок - это просто "обёртка" с минимальными функциями работы с набором выражений и не более того.
Использование алгебраических выражений в численном решателе уже осуществляется в самих функциях решателей. Это уже они решают что является исходными данными для задачи. Я пока не расширял функционал на этот случай, т.к. любые подобные изменения скажутся на всех численных решателях, которые я поддерживаю и это нужно долго тестировать.
Я планировал изменить архитектуру исходников, чтобы было возможным дорабатывать код, но пока это всё отложено.
Если в блоке вписывать функцию, то коллекция элементов вставляется в качестве первого аргумента (по умолчанию) и функции передаётся управление, т.е. она вычисляется.
Поэтому сам блок - это просто "обёртка" с минимальными функциями работы с набором выражений и не более того.
Использование алгебраических выражений в численном решателе уже осуществляется в самих функциях решателей. Это уже они решают что является исходными данными для задачи. Я пока не расширял функционал на этот случай, т.к. любые подобные изменения скажутся на всех численных решателях, которые я поддерживаю и это нужно долго тестировать.
Я планировал изменить архитектуру исходников, чтобы было возможным дорабатывать код, но пока это всё отложено.
Отредактировано 05.11.2025 10:26:44
Russia ☭ forever, Viacheslav N. Mezentsev
1 пользователям понравился этот пост
Alvaro Diaz Falconi 06.11.2025 22:54:59
Hi. A practical solution to the problem of the solution being unit-based could be to simply use el('U,1) ... el('U,n), which would all default to 1, and the user could redefine them before calling the ode solver. I believe the amount of code to modify would be minimal, and it would be the same for all ode solvers, just as it is, I imagine, for calling the interpolation functions.
Best regards.
Alvaro.
Best regards.
Alvaro.
Wrote
Я планировал изменить архитектуру исходников, чтобы было возможным дорабатывать код, но пока это всё отложено.
Если появится возможность вставлять в Mathcad-block и алгебраические уравнения, то это откроет путь к решению сложных задач без ухищренных инструментов, к каким прибегает Альваро.
См. один пример

Я это знаю. Дело в том, что сейчас численные решатели используют один общий код преобразования общего вида задачи к матричному. Этот код нужно архитектурно упростить и добавить в него поддержку единиц измерений, что само по себе не просто. Кроме этого, я пытаюсь портировать общую функцию odesolve, которая будет основной для такого рода задач.
Ещё хотелось бы доработать функцию find, устранив ошибки и сделав её также символьной, если получится, т.е. чтобы ответ можно было получить в символьном виде.
Поскольку это не моя основная работа, то я не могу сказать когда найду для этого время.
Ещё хотелось бы доработать функцию find, устранив ошибки и сделав её также символьной, если получится, т.е. чтобы ответ можно было получить в символьном виде.
Поскольку это не моя основная работа, то я не могу сказать когда найду для этого время.
Отредактировано 07.11.2025 10:38:31
Russia ☭ forever, Viacheslav N. Mezentsev
- Новые сообщения
- Нет новых сообщений