Mathcad Toolbox

Mathcad Toolbox - Contains analogs of functions from Mathcad - Сообщения

#221 Опубликовано: 01.11.2025 19:13:04
Valery Ochkov

Valery Ochkov

62 сообщений из 659 понравились пользователям.

Группа: User

Now we can use units by ODE solution in Mathcad-block? Tanks to Slava!
But
Is it a bug?
Pendulum-Friction.sm (16,88 КиБ) скачан 56 раз(а).

PF.png
Отредактировано 05.11.2025 09:17:24
#222 Опубликовано: 05.11.2025 08:34:44
Вячеслав Мезенцев

Вячеслав Мезенцев

1 526 сообщений из 1 835 понравились пользователям.

Группа: Moderator

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
#223 Опубликовано: 05.11.2025 09:25:24
Valery Ochkov

Valery Ochkov

62 сообщений из 659 понравились пользователям.

Группа: User

Wrote

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.


Слава! Если появится время, то сделай так, чтобы можно было вставлять в Mathcad-block и алгебраические выражения. Как в Mathcad.
#224 Опубликовано: 05.11.2025 10:21:32
Вячеслав Мезенцев

Вячеслав Мезенцев

1 526 сообщений из 1 835 понравились пользователям.

Группа: Moderator

В этом блоке нет никаких ограничений. Можно вставлять что угодно, даже компоненты. Сам блок не является решателем, он просто создаёт коллекцию из элементов внутри него и на этом всё. На выходе блока просто набор элементов, они могут быть практически любыми.
Если в блоке вписывать функцию, то коллекция элементов вставляется в качестве первого аргумента (по умолчанию) и функции передаётся управление, т.е. она вычисляется.
Поэтому сам блок - это просто "обёртка" с минимальными функциями работы с набором выражений и не более того.

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

Я планировал изменить архитектуру исходников, чтобы было возможным дорабатывать код, но пока это всё отложено.
Отредактировано 05.11.2025 10:26:44
Russia ☭ forever, Viacheslav N. Mezentsev
1 пользователям понравился этот пост
Alvaro Diaz Falconi 06.11.2025 22:54:59
#225 Опубликовано: 06.11.2025 22:55:30
Alvaro Diaz Falconi

Alvaro Diaz Falconi

1 073 сообщений из 1 739 понравились пользователям.

Группа: User

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.
#226 Опубликовано: 07.11.2025 06:25:30
Valery Ochkov

Valery Ochkov

62 сообщений из 659 понравились пользователям.

Группа: User

Wrote


Я планировал изменить архитектуру исходников, чтобы было возможным дорабатывать код, но пока это всё отложено.



Если появится возможность вставлять в Mathcad-block и алгебраические уравнения, то это откроет путь к решению сложных задач без ухищренных инструментов, к каким прибегает Альваро.
См. один пример
DAE.png
#227 Опубликовано: 07.11.2025 06:57:09
Вячеслав Мезенцев

Вячеслав Мезенцев

1 526 сообщений из 1 835 понравились пользователям.

Группа: Moderator

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