Я пытаюсь получить оценку B-Spline для нот L в диапазоне от 1 до 70. Но я получаю только одно значение (я должен получить 70 значений) - PullRequest
0 голосов
/ 18 февраля 2019
library(splines)
library(MASS)
t <- c(1:101)
t
eg<-as.matrix(egg[,1])
ab<-function(t){
  for (L in 1:70)
  {
    t <- c(1:101)
    knt <- seq(1,101,L+2)
    Phi <- bs(t,4,knt,3);
    c <- ((t(Phi)%*%Phi)%*%t((ginv(t(Phi)%*%eg))))
    xmean <- Phi%*%c
    s <-sum((eg-xmean)^2%*%(ginv(101-(L+4))))
    print(s)
  }

  s
}

Переменная 'eggs' в файле данных 'flies.mat' дает количество яиц, откладываемых 1000 мухами в течение 101 дня после эклозии (большинство мух уже мертвы к 101 дню - их сроки жизни указаны впеременная «жизнь»).Рассмотрим данные для первой мухи (первый столбец «яйца»).(а) Подберите кубические оценки B-сплайнов с одинаково расположенными узлами в [1;101].Возьмем число узлов L в диапазоне от 1 до 70.

Для подбора кубических оценок B-сплайна с одинаково расположенными узлами в интервале [1, 101].Я сделал заметки, L в диапазоне от 1 до 70. Мы знаем, что σ ̂ ^ 2 = ‖yx ̂ (t) ‖ ^ 2 / (мК).Поэтому я пытаюсь получить эти 70 значений, но в итоге получаю только одно значение (я знаю, что в моем цикле что-то не так, но не смог понять).Мой код изображен на картинке.

введите описание изображения здесь

...