Результати роботи програми
Ліститнг програми V<-rnorm(1000,1,0.3) V ms<-sum(V)/1000 ms p=sd(V)/sqrt(length(V)) p quantile(V,.95) quantile(c<-rnorm(1000,4,0.3),.95) quantile(c<-rnorm(1000,4,0.3),.99) quantile(c<-rnorm(2000,6,0.3),.95) quantile(c<-rnorm(2000,6,0.3),.99) quantile(c<-rnorm(4000,8,0.3),.95) quantile(c<-rnorm(4000,8,0.3),.99) quantile(c<-rnorm(8000,10,0.3),.95) quantile(c<-rnorm(8000,10,0.3),.99) Результати роботи програми Рис.1 Рис.2 Рис.3 Рис.4 Завдання 2. Створити фрейм даних з N=20 записів з наступними полями: Nrow – номер запису, Name – ім’я, BirthYear – рік народження, EmployYear – рік прийому на роботу, Salary – заробітна плата, де Nrow змінюється від 1 до N, Name задається довільно, BithYear – розподілений рівномірно на відрізку [1960, 1985], EmployYear розподілений рівномірно на відрізку [BirthYear+18,2006], Salary для робітників молодше 1975 року народження визначається за формулою Salary=(ln(2007-EmployYear)+1)*8000, для інших – Salary =(log2(2007-EmployYear)+1)*8000. Визначте число співробітників з заробітною платою, більше 15000. Додайте в таблицю поле, що відповідає сумарному подохідному податку (ставка 13%), який виплачений співробітником за час роботи в організації, якщо його заробітна плата за кожний рік нараховувалась відповідно формулам для Salary, де замість 2007 слід послідовно підставити кожен рік роботи співробітника в організації. Виконання: Лістинг програми Nrow<-c(1:20) Name<-c("Bazyo", "Boyko", "Bondar", "Dardurov", "Konovalenko", "Kurkov", "Lucenko", "Lyubimova", "Magura", "Mihailenko", "Patlay", "Pika", "Povstanko", "Pravednik", "Smolyar", "Yakovec", "Bondarenko", "Kuznecov", "Klimenko", "Shevchenko") BirthYear<-round(runif(20,min=1960,max=1985)) EmployYear<-round(runif(20,min=BirthYear+18,max=2006)) Salary<-c() for (i in 1:20) if(BirthYear[i]>1975) Salary=(log(2007-EmployYear)+1)*8000) else Salary=(log2(2007-EmployYear)+1)*8000 Salary frm<-data.frame(Nrow,Name,BirthYear,EmployYear,Salary) frm p=0 for (i in 1:20) if(Salary[i]>15000) p=p+1
p Roky<-c(2007-EmployYear) for (i in 1:20) if(BirthYear[i]>1975) Podatki=0.13*((log(Time)+1)*8000) else Podatki=Podatki=0.13*((log2(Roky)+1)*8000) Podatki frm<-data.frame(Nrow,Name,BirthYear,EmployYear,Salary,Podatki) frm Результати роботи програми Рис.5 Рис.6 Рис.7 Рис.8
Завдання 3. Напишіть функцію, яка приймає на вхід числовий вектор x і число розбиття інтервалу k (за замовчуванням дорівнює кількості елементів вектора, розділеному на 10) і виконує наступне: знаходить мінімальне і максимальне значення елементів вектора xmin і xmax, розбиває отриманий відрізок [xmin; xmax] на k рівних інтервалів і підраховує число елементів вектора, що належать кожному інтервалу. Потім повинен будуватися графік, де по осі абсцис - середини інтервалів, по осі ординат - число елементів вектора, що належать інтервалу, розділене на загальне число точок. Проведіть експеримент на даній функції, де x - вектор довжини 5000, згенерований з експоненціально розподіленої випадкової величини, k = 500. Наближення якого графіка ми отримуємо в підсумку при великому числі точок і числі розбиттів? Виконання: Завдання виконане за допомогою програмного пакету Matlab:
Рис.9
Рис.10 Рис.11
Рис.12
Рис.13
Рис.14 Завдання 4. Спроектувати та реалізувати метод найменших квадратів. Виконання: Для реалізації методу найменших квадратів використовуємо програмний пакет Matlab: Лістинг програми x=[1 0.0153 0.4186 0.8381 1 0.7468 0.8462 0.0196 1 0.4451 0.5252 0.6813 1 0.9318 0.2026 0.3795 1 0.4660 0.6721 0.8318] y=rand(5,1) A=((x'*x)^(-1))*x'*y y1=0.8422-0.0040*0.0153-0.1681*0.4186-0.6843*0.8381 y2=0.8422-0.0040*0.7468-0.1681*0.8462-0.6843*0.0196 y3=0.8422-0.0040*0.4451-0.1681*0.5252-0.6843*0.6813 y4=0.8422-0.0040*0.9318-0.1681*0.2026-0.6843*0.3795 y5=0.8422-0.0040*0.4660-0.1681*0.6721-0.6843*0.8318
Читайте также: IIІ. ПЕРЕЛІК ПИТАНЬ ЩОДО ЗАЛІКОВОЇ КОНТРОЛЬНОЇ РОБОТИ Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|