Преемственность версий

Преемственность версий - Сообщения

#1 Опубликовано: 17.08.2018 14:01:48
genf

genf

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

Группа: User

Доброго времени суток.
Уже довольно давно пользуюсь версией 0.98.6179.21440 (Portable). В ней создано довольно много расчетов (некоторые из них очень сложны и многостраничны).

Посмотрел версию 0.99.6671.38791. Визуально стало красивее, но это не особо важно, ведь не зря новые версии появляются (за 2 года довольно много изменений).
Открыл в новой версии один из довольно сложных расчетов и обнаружил, что расчет происходит с ошибками.
Что такое было изменено в программе, приведшее к подобным проблемам? Есть какое то описание (наверняка что то важное изменилось).

Показать спойлер



Что например в этом месте нужно поменять? Какие еще проблемы могут быть?

Спасибо!


Потестировал:

Показать спойлер



Сначала подумал проблема, что внутри цикла нельзя писать несколько вычислений и разбил на части - в процессе обнаружил проблему с одной из строк:

Показать спойлер



Если убрать именно эту строку из первоначальной записи все нормально.
Только вот не могу понять что не так с этой строкой - ничего особенного: для всех строк используется по сути одна матрица и при подстановке конкретного номера строки все нормально вычисляется, а вот матрица не формируется (в старой версии все нормально):

Показать спойлер



Перенес часть расчета в новый файл - ошибки нет.
Problema 1.sm (6 КиБ) скачан 27 раз(а).

Я в недоумении

Связавшись с разработчиком программы выяснилось следующее:
"1) Первая ошибка, которая в нём возникает связана с тем, что в расчёте одни и те же переменные (γ.II, ξ, φ.II, c.II) используются для разных типов данных. Вначале они определены как скаляры, а ниже уже в них происходит запись данных по индексу. Программа полагает, что при этом может произойти неожиданная потеря данных. Потому расчёт прерывается. Дабы исключить эту ошибку, необходимо просто очистить такие переменные: Clear(γ.II,ξ,φ.II,c.II)

2) Вторая ошибка может возникнуть из-за известной ошибки в старых версиях SMath Studio, которая иногда некорректно записывала данные в файл. В некоторых случаях, после открытия (зависит от локали компьютера) она могла не опознать такие функции, как tg(..), ctg(..) и т.п. Исправляется это просто: tg(x):tan(x). Ну или все места, где есть tg(..) нужно ввести заново."
1 пользователям понравился этот пост
Denis Nikitin 20.08.2018 04:16:00
  • Новые сообщения Новые сообщения
  • Нет новых сообщений Нет новых сообщений