Непонятная ошибка

Непонятная ошибка - Messages

#1 Posted: 06/05/2013 08:57:17
Mike Kaganski

Mike Kaganski

184 likes in 434 posts.

Group: User

Пытаюсь реализовать расчёт согласно IF97.
При расчёте через функцию выдаёт странную ошибку:

"Для округления должно использоваться от 0 до 15 разрядов включительно. параметра: digits Имя".

Если вместо функции использовать просто её формулу - считает.
IAPWS-IF97r1.sm (45,92 KiB) downloaded 963 time(s).
С уважением, Михаил Каганский
#2 Posted: 06/05/2013 13:08:50
Andrey Ivashov

Andrey Ivashov

2.314 likes in 3.928 posts.

Group: Super Administrator

Спасибо!

Как удалось выяснить, данная ошибка проявляется в сочетании использования настройки "Вид ответа (дроби)" > "Авто" и точности ответа в 14 или 15 чисел после запятой.
Саму ошибку я исправил, ну а пока что Вам рекомендую в настройках SMath Studio установить "Вид ответа (дроби)" > "Десятичные" и повторно нажать "=" в каждом отдельном выражении, вычисляющемся с ошибкой.

С уважением, Андрей Ивашов.
1 users liked this post
Mike Kaganski 06/05/2013 19:17:00
#3 Posted: 21/05/2013 19:03:23
Mike Kaganski

Mike Kaganski

184 likes in 434 posts.

Group: User

Ещё ошибки. Версия 0,96 (сборка 4868).

В прикреплённом файле, собственно, всё показано. Выглядит так, что одна и та же функция даёт разные результаты на один и тот же набор параметров в зависимости от того, где её вызывают. Причём оптимизация (и даже использование eval()) не влияют на это.

И в дополнение - здесь же показано нестандартное поведение конструкции stack(matrix(0;1);x). Вместо вектора с одной строкой получается вектор из двух строк, первой из которых идёт mat(0;1).
IAPWS-IF97.sm (20,73 KiB) downloaded 909 time(s).
С уважением, Михаил Каганский
#4 Posted: 21/05/2013 19:16:20
Mike Kaganski

Mike Kaganski

184 likes in 434 posts.

Group: User

И ещё - очень тяжело без возможности использовать solve() (или аналоги) с функциями, включающими eval(). На форуме я встречал данные о том, что некоторые такие функции успешно обрабатываются solve(), но, к сожалению, не везде можно найти такую альтернативную форму (по крайней мере, мне не удалось ни разу). И не везде можно обойтись без eval(): например, в расчётах промежуточные вычисления приводят без eval() к превышению максимально допустимого числа. Пикреплённый к первому сообщению в теме файл как раз демонстрирует такие функции. И именно их хотелось бы использовать с solve(), потому что соответствующие задачи решаются именно методом последовательных приближений.
С уважением, Михаил Каганский
#5 Posted: 21/05/2013 21:41:08
Mike Kaganski

Mike Kaganski

184 likes in 434 posts.

Group: User

Ещё замечание: значение универсальной газовой постоянной в программе не соответствует его принятому значению (CODATA/СИ): в программе R=8.31447215 Дж/(моль К), а принятое значение 8.3144621 Дж/(моль К), причём разница больше, чем оценка неопределённости константы (0.0000075 Дж/(моль К)).

Стоило бы заодно проверить и другие константы.
С уважением, Михаил Каганский
#6 Posted: 21/02/2014 23:17:47
Igor Skarine

Igor Skarine

14 likes in 97 posts.

Group: User

Я уже не новичок и использую программу довольно долго.
Но сегодня выл просто ошеломлен ...
Что это ???


test.sm (10,57 KiB) downloaded 931 time(s).
#7 Posted: 22/02/2014 03:49:30
Martin Kraska

Martin Kraska

1.289 likes in 2.211 posts.

Group: Moderator

Нельзя употреблять i как переменную в цикле, если одновременно проводить вычисления с мнимными числами. i никоем способом защитан против изменения его значения (надо былo как-то различать между [MATH]i:sqrt(-1)[/MATH] и обыкновенной переменной имени i)

И надо сапомнить что клетки отработаются слева направо и сверху вниз. Вертикльна позиция клетки определяется верхным краем а не базовой линий (там где знак = или :=) как в маткаде. Это наверно проще программируется, практического преимущества по моему не имеет (а наверно приводит к недоразумениям).
test_kr.sm (14,72 KiB) downloaded 930 time(s).
Martin KraskaPre-configured portable distribution of SMath Studio: https://en.smath.info/wiki/SMath%20with%20Plugins.ashx
1 users liked this post
Igor Skarine 22/02/2014 23:19:00
  • New Posts
  • No New Posts