<jupyter_start><jupyter_text>ЛАБОРАТОРНАЯ  РАБОТА 6   ПРИБЛИЖЕНИИ ФУНКЦИЙ  Теоретический материал к данной теме содержится в [1, глава 11].<jupyter_code>from sympy.solvers import solve
from sympy import exp, sin, cos, sqrt, log, ln, pi
from sympy import Rational as syR
from sympy import Symbol, diff
from scipy.misc import derivative

import numpy as np

import matplotlib.pyplot as plt
%matplotlib inline<jupyter_output><empty_output><jupyter_text>Задача 1.Функция  $y=f(x)$ задана таблицей  значений $y_0,y_1,...,y_n$  в точках $x_0,x_1,...,x_n$. Используя метод наименьших квадратов (МНК), найти многочлен $P_m(x)=a_0+a_1x+...+a_mx^m$ наилучшего  среднеквадратичного  приближения оптимальной степени $m=m^*$. За оптимальное значение $m^*$ принять ту степень многочлена, начиная с которой величина $\sigma_m=\sqrt{\frac{1}{n-m}\sum_{k=0}^n (P_m(x_k)-y_k)^2}$ стабилизируется или начинает возрастать.  Порядок решения задачи:1. Задать векторы x и y исходных данных. 2. Используя функцию mnk, найти многочлены $Pm,$ $ m=0,1,2,..$, по методу наименьших квадратов. Вычислить соответствующие им значения  $\sigma_m$.3. Построить   гистограмму зависимости $\sigma_m$  от $m$, на основании которой выбрать оптимальную степень m* многочлена наилучшего  среднеквадратичного  приближения.4. На одном чертеже построить графики многочленов $Pm,$ $ m=0,1,2,..., m^*$, и точечный график исходной функции.  Ваша вектора x и y:$x = {Task1[TASK_VARIANT][x_latex]}$  $y = {Task1[TASK_VARIANT][y_latex]}$<jupyter_code># Вектора
x = {Task1[TASK_VARIANT][x_latex]}
y = {Task1[TASK_VARIANT][y_latex]}<jupyter_output><empty_output><jupyter_text>Реализуйте функцию mnk для нахождения многочленов Pm методом наименших квадратов. Вычислите значения $\sigma_m$<jupyter_code>##sigma = []
##for m in range(9):
 ##   XX = X(m)
  ##  A = np.linalg.inv(np.dot(XX.T,XX)).dot(XX.T).dot(y)
 ##   sigma.append(np.sqrt(1/(x.size - m)* np.linalg.norm(XX.dot(A) - y,np.inf)))<jupyter_output><empty_output><jupyter_text>Постройте гистограмму зависимости $\sigma_m$ от $m$. Выберите оптимальную степень $m^*$.<jupyter_code>##график<jupyter_output><empty_output><jupyter_text>Постройте график многочлена и точечный график исходной функции на одном графике.<jupyter_code>##график двух функций<jupyter_output><empty_output><jupyter_text>Задача 6.2. В  таблице приведены  результаты наблюдений за перемещением  x материальной точки  по оси  Ох  в моменты   времени  $t\in[t_0 ,T]$.  Известно, что движение  является равномерным и описывается линейной зависимостью $x(t)=vt+b$.  Используя  метод наименьших квадратов,   определить скорость $v$  и  спрогнозировать положение точки в момент времени  $t=2T$. На одном чертеже  построить график движения точки  и точечный график исходных наблюдений. Ваши вектора t и x:$t = {Task1[TASK_VARIANT][t_latex]}$  $x2 = {Task1[TASK_VARIANT][x2_latex]}$<jupyter_code>#вектора
t = {Task1[TASK_VARIANT][t_latex]}
x2 = {Task1[TASK_VARIANT][x2_latex]}<jupyter_output><empty_output><jupyter_text>Функция имеет вид$$x(t) = \nu t + b$$  Тогда вектор коэфицентов можно найти как $$w = (t^T t)^{-1} t^T x$$ Найдите вектор коэффициентов.<jupyter_code>#код<jupyter_output><empty_output><jupyter_text>Построте график движения точки  и точечный график исходных наблюдений на одном графике.<jupyter_code>#график<jupyter_output><empty_output><jupyter_text>Определите скорость $v$  и  спрогнозирйте положение точки в момент времени  $t=2T$.<jupyter_code>#два числа-ответ<jupyter_output><empty_output><jupyter_text>Задача 6.3. Зависимость между величинами x и  y описывается функцией   $y=f(x, a, b)$, где a и  b – неизвестные параметры. Найти  эти параметры, сведя исходную задачу к линейной задаче метода наименьших квадратов.  УКАЗАНИЕ. Свести исходную задачу к  линейной задаче МНК  можно, сделав подходящую замену переменных. Например, если исходная зависимость имеет вид $y=e^{a+bx^2}$, то  прологарифмировав исходное равенство и введя новые переменные $s=\ln y$ и $t=x^2$ , получаем задачу об определении коэффициентов линейной зависимости $s= a+b t$. Ваши вектора x и y:$x3 = {Task1[TASK_VARIANT][x3_latex]}$  $y3 = {Task1[TASK_VARIANT][y3_latex]}$Зависимость ваших переменных:$f3 = {Task1[TASK_VARIANT][f3_latex]}$<jupyter_code>#вектора x и y
x3 = {Task1[TASK_VARIANT][x3_latex]}
y3 = {Task1[TASK_VARIANT][y3_latex]}

#Зависимость 
f3 = {Task1[TASK_VARIANT][f3_latex]}<jupyter_output><empty_output><jupyter_text>Сведите исходную задачу к линейной МНК.<jupyter_code>#математическое решение<jupyter_output><empty_output><jupyter_text>Построте график аналогично второй задаче.<jupyter_code>##график<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.11686903729401561, 'fraction_numerical': 0.014310494362532523, 'mean_word_length': 6.637417218543046, 'pattern_counts': {'":': 0, '<': 49, '<?xml version=': 0, '>': 49, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '12', 'dir': 'jupyter-structured-clean-dedup', 'id': '456557', 'license': 'MIT', 'n_tokens_mistral': 2127, 'n_tokens_neox': 2380, 'n_words': 423, 'path': 'tasks/LR6.ipynb', 'repo_name': 'evgeniy97/taskgenerator', 'size': '4612'}