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

Уведомление

Icon
Error

Вход


Опции
К последнему сообщению К первому непрочитанному
Offline nikita1993  
#1 Оставлено : 11 января 2014 г. 18:54:24(UTC)
nikita1993

Статус: Newbie

Группы: Registered
Зарегистрирован: 11.01.2014(UTC)
Сообщений: 1

Задание звучит так:
По табличным значения эксперимента определить функциональную зависимость. Выбрать вид кривой и найти коэффициенты функциональной зависимости, которые описывают экспериментальные данные с ошибкой +-5%.
Таблица имеет 9 значений экспериментальных данных температура/теплоемкость.
Как с помощью этой программы выполнить данное задание?

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

Offline Rubidy  
#2 Оставлено : 12 января 2014 г. 2:19:15(UTC)
Rubidy


Статус: Advanced Member

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

Сказал «Спасибо»: 6 раз
Поблагодарили: 1 раз в 1 постах
Очень хорошая задача.
Позволяет с помошью функциональной зависимости автоматизировать расчёты технологического оборудования, т.к. свойства веществ (в частности теплоносителей) меняются при изменении температуры.
В технике часто используют полиномиальную регрессию (См. регрессия, полином), в т.ч. линейную, но может быть и показательная, экспоненциальная.
Для получения вектора коэффициентов полиномиальной регрессии сначала присвойте значение k (степень полинома, начните с 1, затем будете менять до 6).
Задайте вектора (одномерный вертикальный массив) исходных данных X и Y (должны быть одинакового размера).
Затем нужно построить матрицу F, у которой столько же строк, как у X (или Y), и количество столбцов k+1.
Первый столбец заполняется единицами (X^0), второй столбец является копией вектора X, а остальные столбцы содержат значения вектора X в возрастающей степени (2,3,4...)
Вектор коэффициентов вычисляется по формуле (в функции eval() или с включенной численной оптимизацией): eval((transpose(F)*F)^{-1}*transpose(F)*Y)

Нахождение коэффициентов можно оформить в виде функции (ниже текст функции SMath для вставки):
pregress(X,Y,k):if(length(X)≠length(Y),error("Данные должны быть парными" ) ,line(n:rows(X),for(i,range(1,n),line(el(F,i,1):1,for(j,range(2,k+1),el(F,i,j):eval(el(X,i)^{j-1})),2,1)),eval((transpose(F)*F)^{-1}*transpose(F)*Y),3,1))

Далее вам остаётся посчитать погрешность заданным способом (рекомендую почитать про дисперсию и среднеквадратическое отклонение)
меняйте k (1--6), пока получите нужный результат.
Рекомендую построить график (в системе исходные точки и полином), чтобы визуально наблюдать прохождение линии функциональной зависимости по экспериментальным точкам.
Успехов Good
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.