Работа с табличными данными

Работа с табличными данными - Messages

#1 Posted: 1/11/2014 11:54:24 AM
nikita1993

nikita1993

0 likes in 1 posts.

Group: User

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

Rubidy

1 likes in 32 posts.

Group: User

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

Нахождение коэффициентов можно оформить в виде функции (ниже текст функции 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), пока получите нужный результат.
Рекомендую построить график (в системе исходные точки и полином), чтобы визуально наблюдать прохождение линии функциональной зависимости по экспериментальным точкам.
Успехов
  • New Posts New Posts
  • No New Posts No New Posts