Русскоязычный форум закрыт из-за отсутствия активности (доступен только для чтения).
Пожалуйста, пользуйтесь англоязычной его версией. Приносим извинения за неудобства
Добро пожаловать, Гость! Чтобы использовать все возможности Вход. Новые регистрации запрещены.

Уведомление

Icon
Error

Вход


Опции
К последнему сообщению К первому непрочитанному
Offline Valey  
#1 Оставлено : 18 июня 2012 г. 14:01:04(UTC)
Valey

Статус: Newbie

Группы: Registered
Зарегистрирован: 11.01.2012(UTC)
Сообщений: 7
Мужчина
Российская Федерация
Откуда: Казань

Сказал «Спасибо»: 10 раз
Сделал расчет коэффициента сжимаемости природного газа, а затем решил все это реализовать в виде отдельной функции. Тут выдало мне ошибку "Значение вышло за пределы маскимально-допустимого положительного числа", однако при обычном расчете все замечательно решается. Выяснялось, что ошибка возникает при расчете А2 (смотрите прикрепленный файл), хотя там используются величины близкие к 0. В чем ошибка?
Вложение(я):
метод GERG-91.sm (64kb) загружен 32 раз(а).

Wanna join the discussion?! Login to your Форум проекта SMath forum account. Новые регистрации запрещены.

Offline Ber7  
#2 Оставлено : 18 июня 2012 г. 14:36:19(UTC)
Ber7


Статус: Advanced Member

Группы: Registered
Зарегистрирован: 22.03.2010(UTC)
Сообщений: 223
Мужчина
Израиль
Откуда: Beer-Sheva

Сказал «Спасибо»: 173 раз
Поблагодарили: 256 раз в 133 постах
Оптимизируйте третью строку снизу оператором eval:
A2:=eval((A.0-(A.0^2-A.1^3)^0.5)^{1/3})

Метод расчета рычажных механизмов :
http://www.exponenta.ru/...litskiy-ivanov/index.asp
thanks 1 пользователь поблагодарил Ber7 за этот пост.
Valey оставлено 18.06.2012(UTC)
Offline Valey  
#3 Оставлено : 18 июня 2012 г. 15:02:38(UTC)
Valey

Статус: Newbie

Группы: Registered
Зарегистрирован: 11.01.2012(UTC)
Сообщений: 7
Мужчина
Российская Федерация
Откуда: Казань

Сказал «Спасибо»: 10 раз
Спасибо, теперь все отлично работает!
Offline OchkovVF  
#4 Оставлено : 19 июня 2012 г. 9:35:16(UTC)
OchkovVF


Статус: Advanced Member

Группы: Registered, Advanced Member
Зарегистрирован: 03.06.2009(UTC)
Сообщений: 156
Мужчина
Российская Федерация

Сказал «Спасибо»: 215 раз
Поблагодарили: 3 раз в 3 постах
Автор: Valey Перейти к цитате
Спасибо, теперь все отлично работает!

Но это у Вас функция не двух (давление и температура), а шести аргументов (плюс состав газа и плотность)! А плотность, в свою очередь, это функция давления и температуры!
Еще бы хорошо, чтобы в функции работали единицы измерения!

А так приятно видеть полезную функция для теплотехников!

Отредактировано пользователем 19 июня 2012 г. 9:40:17(UTC)  | Причина: Не указана

Offline OchkovVF  
#5 Оставлено : 19 июня 2012 г. 9:38:56(UTC)
OchkovVF


Статус: Advanced Member

Группы: Registered, Advanced Member
Зарегистрирован: 03.06.2009(UTC)
Сообщений: 156
Мужчина
Российская Федерация

Сказал «Спасибо»: 215 раз
Поблагодарили: 3 раз в 3 постах
Автор: Ber7 Перейти к цитате
Оптимизируйте третью строку снизу оператором eval:
A2:=eval((A.0-(A.0^2-A.1^3)^0.5)^{1/3})


Пардон, но "eval всех достал!".
А почему система не может сама оптимизировать расчеты, освобождая инженера от необходимости засорять расчет служебными функциями! Вопрос, конечно, детский, но...

Offline kmihaylovich  
#6 Оставлено : 19 июня 2012 г. 11:21:44(UTC)
kmihaylovich


Статус: Advanced Member

Группы: Registered
Зарегистрирован: 24.07.2008(UTC)
Сообщений: 97
Откуда: Питер

Сказал(а) «Спасибо»: 18 раз
Поблагодарили: 3 раз в 3 постах
Ответ наверно тоже получится детский... Потому что компьютер не имеет понятия с какой точностью каждый отдельный индивидуум хочет производить вычисления. по-умолчанию - точность максимальная (потому как используется символьная арифметика: если встречается sqrt(sin(3)), то программа с этим выражением так и будет работать, а не переведёт его в 0.37565943094759, что бы потом погореть на погрешности последующих вычислений). Применяя eval юзер соглашается на появление погрешности после 15-го знака. Внимание (барабанная дробь), а теперь вопрос, куда в компьютер надо вставить мозг, что бы он сам догадывался, надо считать численно или символьно?
Offline Valey  
#7 Оставлено : 20 июня 2012 г. 7:59:00(UTC)
Valey

Статус: Newbie

Группы: Registered
Зарегистрирован: 11.01.2012(UTC)
Сообщений: 7
Мужчина
Российская Федерация
Откуда: Казань

Сказал «Спасибо»: 10 раз
Автор: OchkovVF Перейти к цитате
Автор: Valey Перейти к цитате
Спасибо, теперь все отлично работает!

Но это у Вас функция не двух (давление и температура), а шести аргументов (плюс состав газа и плотность)! А плотность, в свою очередь, это функция давления и температуры!
Еще бы хорошо, чтобы в функции работали единицы измерения!

А так приятно видеть полезную функция для теплотехников!


Согласен, просто в рамках решаемой мною задачи необходимости введения этих данных в качестве аргументов нет, т.к. они принимаются условно-постоянными параметрами и задаются один раз в начале расчета. А плотность берется при стандартных условиях, т.е. при фиксированных значениях температуры и давления.
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.