Добавил:
свои люди в ТПУ Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛБ 5.docx
Скачиваний:
3
Добавлен:
06.06.2024
Размер:
230.38 Кб
Скачать

Результаты исследования

а) линейная

б) экспоненциальная

в) логарифмическая

г) степенная

д) полином 2 порядка

е) полином 3 порядка

Рисунок 4 – Зависимости теплоемкости от температуры

а) линейная

б) экспоненциальная

в) логарифмическая

г) степенная

д) полином 2 порядка

е) полином 3 порядка

Рисунок 5 – Зависимости теплоемкости бензола от температуры

Рисунок 6 – График зависимости динамической вязкости нефти от температуры Гураринского месторождения (полином 3 порядка)

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

Получили коэффициенты корреляции для серной кислоты 0,9864, а для бензола – 0,9825.

Для описания зависимости теплоемкости от температуры для серной кислоты, а также для бензола лучше использовать полином 3 порядка, так как у полинома 3 порядка достигается максимальная величина аппроксимации ( ).

В результате расчетов для серной кислоты были получены следующие значения коэффициентов регрессии:

b0 = 109.35154761902614

b1 = 0.12061666666659411

b2 = -4.0452380952380953e-05

В результате уравнение регрессии будет иметь вид:

В результате расчетов для бензола были получены следующие значения коэффициентов регрессии:

b0 = -21.139404761882123

b1 = 0.39865119047619

b2 = -0.00016879761904761904

В результате уравнение регрессии будет иметь вид:

По зависимости динамической вязкости Гураинской нефти от температуры сняли значения и построили график (рисунок 6). В результате наилучшим образом описываются значения полиноминальной функцией 3 порядка. Степень близости составила 0,985.

Приложение a

T = [300, 400, 500, 600, 700, 800, 900, 1000]

x = [139.33, 153.55, 161.92, 167.36, 171.96, 178.54, 184.72, 190.92]

numbers = 8

s1 = 0

s2 = 0

s3 = 0

s4 = 0

s5 = 0

s6 = 0

s7 = 0

s8 =0

sxy = 0

sx = 0

sy = 0

sx2 = 0

sy2 = 0

n = 8

for i in range(8):

s1 += T[i]

s2 += T[i]**2

s3 += T[i]**3

s4 += T[i]**4

s5 += x[i]

s6 += (x[i] * T[i])

s7 += (T[i]**2 * x[i])

s8 = s8 + T[i]**2

sxy=(sxy+T[i]*x[i])

sy=(sy+x[i])

sx=(sx+T[i])

sx2=(sx2+(T[i])**2)

sy2=(sy2+(x[i])**2)

# print(round(s1, 2), round(s2, 2), round(s3, 2), round(s4, 2), round(s5, 2), round(s6, 2), round(s7, 2))

z = n*s2*s4 + s1*s3*s2 + s2*s1*s3 - s2**3 - s1**2*s4 - n*s3**2

b0 = (s5*s2*s4 + s6*s3*s2 + s7*s1*s3 - s7*s2*s2 - s6*s1*s4 - s5*s3*s3)/z

b1 = (n*s6*s4 + s1*s7*s2 + s2*s5*s3 - s2*s6*s2 - s1*s5*s4 - n*s7*s3)/z

b2 = (n*s2*s7 + s1*s3*s5 + s2*s1*s6 - s2*s2*s5 - s1*s1*s7 - n*s3*s6)/z

print(f"b0 = {b0}", f"b1 = {b1}", f"b2 = {b2}")

S = 0

sum = 0

xnew = [i for i in range(8)]

for i in range(8):

xnew[i] = b0 + b1 * T[i] + b2 * T[i]**2

L = abs(x[i] - xnew[i]) / x[i] * 100

sum += (x[i] - xnew[i])**2

S = math.sqrt((sum)/(n-1))

r = (sxy-sx*sy/n)/((n-1)*math.sqrt(((sx2-sx*sx/n))/(n-1))*math.sqrt(((sy2-sy*sy/n))/(n-1)))

print(T[i], x[i], round(xnew[i], 2), round(L, 2))

print(f"S = {S}")

print(f"r = {r}")

Соседние файлы в предмете Моделирование химико-технологических процессов