Статус: Advanced Member
Группы: Registered
Зарегистрирован: 19.03.2012(UTC)
Сообщений: 112
Откуда: Khabarovsk, Russia
Сказал «Спасибо»: 130 раз Поблагодарили: 33 раз в 29 постах
Пытаюсь реализовать расчёт согласно IF97.
При расчёте через функцию выдаёт странную ошибку:
"Для округления должно использоваться от 0 до 15 разрядов включительно. параметра: digits Имя".
Если вместо функции использовать просто её формулу - считает.
С уважением, Михаил Каганский
Статус: Administration
Группы: Developers, Registered, Knovel Developers, Administrators, Advanced Member
Зарегистрирован: 11.07.2008(UTC)
Сообщений: 912
Сказал «Спасибо»: 640 раз Поблагодарили: 262 раз в 102 постах
Спасибо! Как удалось выяснить, данная ошибка проявляется в сочетании использования настройки "Вид ответа (дроби)" > "Авто" и точности ответа в 14 или 15 чисел после запятой. Саму ошибку я исправил, ну а пока что Вам рекомендую в настройках SMath Studio установить "Вид ответа (дроби)" > "Десятичные" и повторно нажать "=" в каждом отдельном выражении, вычисляющемся с ошибкой. С уважением, Андрей Ивашов.
1 пользователь поблагодарил smath за этот пост.
Статус: Advanced Member
Группы: Registered
Зарегистрирован: 19.03.2012(UTC)
Сообщений: 112
Откуда: Khabarovsk, Russia
Сказал «Спасибо»: 130 раз Поблагодарили: 33 раз в 29 постах
Ещё ошибки. Версия 0,96 (сборка 4868).
В прикреплённом файле, собственно, всё показано. Выглядит так, что одна и та же функция даёт разные результаты на один и тот же набор параметров в зависимости от того, где её вызывают. Причём оптимизация (и даже использование eval()) не влияют на это.
И в дополнение - здесь же показано нестандартное поведение конструкции stack(matrix(0;1);x). Вместо вектора с одной строкой получается вектор из двух строк, первой из которых идёт mat(0;1).
С уважением, Михаил Каганский
Статус: Advanced Member
Группы: Registered
Зарегистрирован: 19.03.2012(UTC)
Сообщений: 112
Откуда: Khabarovsk, Russia
Сказал «Спасибо»: 130 раз Поблагодарили: 33 раз в 29 постах
И ещё - очень тяжело без возможности использовать solve() (или аналоги) с функциями, включающими eval(). На форуме я встречал данные о том, что некоторые такие функции успешно обрабатываются solve(), но, к сожалению, не везде можно найти такую альтернативную форму (по крайней мере, мне не удалось ни разу). И не везде можно обойтись без eval(): например, в расчётах промежуточные вычисления приводят без eval() к превышению максимально допустимого числа. Пикреплённый к первому сообщению в теме файл как раз демонстрирует такие функции. И именно их хотелось бы использовать с solve(), потому что соответствующие задачи решаются именно методом последовательных приближений.
С уважением, Михаил Каганский
Статус: Advanced Member
Группы: Registered
Зарегистрирован: 19.03.2012(UTC)
Сообщений: 112
Откуда: Khabarovsk, Russia
Сказал «Спасибо»: 130 раз Поблагодарили: 33 раз в 29 постах
Ещё замечание: значение универсальной газовой постоянной в программе не соответствует его принятому значению (CODATA/СИ): в программе R=8.31447215 Дж/(моль К), а принятое значение 8.3144621 Дж/(моль К), причём разница больше, чем оценка неопределённости константы (0.0000075 Дж/(моль К)). Стоило бы заодно проверить и другие константы.
С уважением, Михаил Каганский
Статус: Member
Группы: Registered
Зарегистрирован: 18.09.2012(UTC) Сообщений: 10
Сказал(а) «Спасибо»: 63 раз Поблагодарили: 1 раз в 1 постах
Я уже не новичок и использую программу довольно долго.
Но сегодня выл просто ошеломлен ...
Что это ???
Вложение(я):
Пользователь tomtit прикрепил следующие файлы:
Статус: Advanced Member
Группы: Registered
Зарегистрирован: 27.10.2012(UTC)
Сообщений: 73
Сказал(а) «Спасибо»: 397 раз Поблагодарили: 45 раз в 35 постах
Нельзя употреблять i как переменную в цикле, если одновременно проводить вычисления с мнимными числами. i никоем способом защитан против изменения его значения (надо былo как-то различать между
i:sqrt(-1) и обыкновенной переменной имени i)
И надо сапомнить что клетки отработаются слева направо и сверху вниз. Вертикльна позиция клетки определяется верхным краем а не базовой линий (там где знак = или :=) как в маткаде. Это наверно проще программируется, практического преимущества по моему не имеет (а наверно приводит к недоразумениям).
Отредактировано пользователем 22 февраля 2014 г. 11:01:08(UTC)
| Причина: Не указана
Вложение(я):
Пользователь mkraska прикрепил следующие файлы:
1 пользователь поблагодарил mkraska за этот пост.
tomtit оставлено 23.02.2014(UTC)
Быстрый переход
Форум проекта SMath
SMath Studio
- Скачать SMath Studio
--- Архив
--- Ночные сборки
- Примеры использования
- Вопросы по использованию
- Предложения
- Ошибки
Математика
- Документы
- Алгоритмы
- Математические задачи
Общение
- О проекте
- Общение
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.