Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.05.2010, 15:02   #1
CesaR_JC
 
Регистрация: 22.05.2010
Сообщений: 5
По умолчанию Дисперсия

1) сформировать две выборки на 128 значений каждая
X=324 +-10%
Y=225 +-10%
2) найти дисперсию от величины Y
3) вывести на экран значение дисперсии Y и всех значений X и Y
4) построить график с значений X и Y.

Было бы Очень хорошо, если програма была бы написана в MATLAB, но можно и в других языках высокого уровня.
CesaR_JC вне форума Ответить с цитированием
Старый 22.05.2010, 15:09   #2
justso
Инженеришка
Форумчанин
 
Аватар для justso
 
Регистрация: 18.05.2010
Сообщений: 147
По умолчанию

MATLAB - это не язык. Это программа, написанная на С++.

Если объясните, что такое дисперсия и выборка, могу попробовать написать. Ибо имею дело с данной программой.

Дополнение:


Скоро надо бежать.
Стукни в асю 341512564, пару деталей уточнить надо.
Ацко 342512564: Если по делу - то в случае острой необходимости. Если просто так - то в любое время.

Последний раз редактировалось justso; 22.05.2010 в 15:32.
justso вне форума Ответить с цитированием
Старый 22.05.2010, 16:02   #3
CesaR_JC
 
Регистрация: 22.05.2010
Сообщений: 5
По умолчанию

Мне нужно выборку из 128 (т.е. 128 рандомных чисел в диапазоне) X=324 +-10% Y=225 +-10%. Дисперсия от Y.
My - Математическое ожидание


Выборка это масив

Последний раз редактировалось CesaR_JC; 22.05.2010 в 16:43.
CesaR_JC вне форума Ответить с цитированием
Старый 22.05.2010, 17:30   #4
Vago
Форумчанин
 
Регистрация: 15.01.2010
Сообщений: 948
По умолчанию

Цитата:
Сообщение от justso Посмотреть сообщение
MATLAB - это не язык.
А народ из MathWorks об этом уже знает?
Vago вне форума Ответить с цитированием
Старый 22.05.2010, 19:15   #5
justso
Инженеришка
Форумчанин
 
Аватар для justso
 
Регистрация: 18.05.2010
Сообщений: 147
По умолчанию

Цитата:
Сообщение от Vago Посмотреть сообщение
А народ из MathWorks об этом уже знает?
Угу. Нам ее чел из MathWorks преподавал. Так и сказал. Что сама программа была написана на С++. Хотя ХЗХЗ.


Посмотрите на код пжалста. Dy выдает неверное значение отчего то.

Код:
#include <iostream>
#include <ctime>
#include <fstream>
#include <cmath>

using namespace std;

int main ()
{
    
    
float X, Y, c, d;
int i;
double  N, Xrand[2][130], Yrand[2][130], b, a, M1, My, D1, Dy ;
    srand(clock());
    ofstream outfile;
    outfile.open("XY.txt");
    
X = 324;
Y = 225;
a = X*0.2;
b = Y*0.2;
N = 128;

for (i=1; i<=128; i++)
{
c = rand() % 64;
d = rand() % 45;
Xrand[1][i] = X - (a/2) +c;
Yrand[1][i] = Y - (b/2) +d;
}

M1 = 0;
for (i=1; i<=128; i++)
{
M1 = M1 + Yrand[1][i];

}

My = M1/N;
D1 = 0;
/*cout << M1 <<endl;
cout << My;*/

for (i=1; i<=128; i++)
{
D1 = D1 + (Yrand[1][i] - My)*(Yrand[1][i] - My);

}

Dy = D1/(127.0000);

cout << "Dy = " << Dy;
cout << "\n\n X         Y " << endl;

for (i=1; i<=128; i++)
{
cout << Xrand[1][i] << "      " << Yrand[1][i] << endl;
outfile << Xrand[1][i] << " " << Yrand[1][i] << endl;
}
    
system ("pause");
return 0;
}
Ацко 342512564: Если по делу - то в случае острой необходимости. Если просто так - то в любое время.

Последний раз редактировалось justso; 22.05.2010 в 19:21.
justso вне форума Ответить с цитированием
Старый 22.05.2010, 19:43   #6
CesaR_JC
 
Регистрация: 22.05.2010
Сообщений: 5
По умолчанию

История

MATLAB как язык программирования был разработан Кливом Моулером (англ. Cleve Moler) в конце 1970-х годов, когда он был деканом факультета компьютерных наук в Университете Нью-Мексико. Целью разработки служила задача дать студентам факультета возможность использования программных библиотек Linpack и EISPACK без необходимости изучения Фортрана. Вскоре новый язык распространился среди других университетов и был с большим интересом встречен учёными, работающими в области прикладной математики. До сих пор в Интернете можно найти версию 1982 года, написанную на Фортране, распространяемую с открытым исходным кодом. Инженер Джон Литтл (англ. John N. (Jack) Little) познакомился с этим языком во время визита Клива Моулера в Стэнфордский университет в 1983 году. Поняв, что новый язык обладает большим коммерческим потенциалом, он объединился с Кливом Моулером и Стивом Бангертом (англ. Steve Bangert). Совместными усилиями они переписали MATLAB на C и основали в 1984 компанию The MathWorks для дальнейшего развития. Эти переписанные на С библиотеки долгое время были известны под именем JACKPAC. Первоначально MATLAB предназначался для проектирования систем управления (основная специальность Джона Литтла), но быстро завоевал популярность во многих других научных и инженерных областях. Он также широко использовался и в образовании, в частности, для преподавания линейной алгебры и численных методов.
CesaR_JC вне форума Ответить с цитированием
Старый 22.05.2010, 19:52   #7
Vago
Форумчанин
 
Регистрация: 15.01.2010
Сообщений: 948
По умолчанию

justso, а шо ж они простой народ тогда дурят?!
Matlab_lang.jpg

Непорядок!.. Вы челу при следующей встрече, пожалуйста, обязательно об этом скажите!

...

MATLAB'овский rand() не плавающее ли число из (0,1) выдаёт, часом (в отличие от C-шного целого [0,32767]) ? Хотя, могу и ошибиться. Давно это было...
Vago вне форума Ответить с цитированием
Старый 22.05.2010, 19:52   #8
justso
Инженеришка
Форумчанин
 
Аватар для justso
 
Регистрация: 18.05.2010
Сообщений: 147
По умолчанию

Меня обманули!!!! Засранцы! У нас на экзамене вопрос был в чем разница между Matlab и С++. Ответ был в том, что Matlab это среда для программирования, a C++ это язык.




А код на С++ написан. Ибо у меня нет сейчас в распоряжении MatLab программки, и проверить не на чем. А в слепую такую программу (по крайней мере для меня) сделать сложно.

Кстати с Википедии:

MATLAB stands for "MATrix LABoratory" and is a numerical computing environment and fourth-generation programming language.

Оказыццо это и то и другое.
Ацко 342512564: Если по делу - то в случае острой необходимости. Если просто так - то в любое время.

Последний раз редактировалось justso; 22.05.2010 в 19:58.
justso вне форума Ответить с цитированием
Старый 22.05.2010, 20:01   #9
Vago
Форумчанин
 
Регистрация: 15.01.2010
Сообщений: 948
По умолчанию

Да. Это и то, и другое...

...

ТС, вроде, разрешил "и в других языках..." А то мне лень его ради одной задачи ставить...
Код:
#!/usr/bin/python
# -*- coding: cp1251 -*-

from numpy import zeros
from random import seed, uniform

d = 0.1		# 10%
x0 = 324.
xMin = x0 - d * x0
xMax = x0 + d * x0
y0 = 225.
yMin = y0 - d * y0
yMax = y0 + d * y0


seed()    # Random generator initialization
n = 128   # Sample length
x = zeros( [n], float )  # Empty array for X
y = zeros( [n], float )  # Empty array for Y

Mx = 0.	# Average for x
My = 0.	# Average for y

print '  n      X        Y'
for j in range( 0, n ):
    x[j] = uniform( xMin, xMax)
    Mx = Mx + x[j] / float( n )
    y[j] = uniform( yMin, yMax)
    My = My + y[j] / float( n )
    print "%3d %8.2f %8.2f" % (j+1, x[j], y[j] )

Dy = 0.	# Dispersion for y
for j in range( 0, n ):
    Dy = Dy + (y[j]-My) * (y[j]-My) / float( n-1 )

print "Mx = %8.2f   My = %8.2f   Dy = %8.2f" % ( Mx, My, Dy )

#
Vago вне форума Ответить с цитированием
Старый 22.05.2010, 20:04   #10
justso
Инженеришка
Форумчанин
 
Аватар для justso
 
Регистрация: 18.05.2010
Сообщений: 147
По умолчанию

Кста у него там ошибка. My где формула там вместо х должно быть у. Vago, что у тебя за значение для Dy получается, а то у меня только с этим проблемы выползают?
Ацко 342512564: Если по делу - то в случае острой необходимости. Если просто так - то в любое время.

Последний раз редактировалось justso; 22.05.2010 в 21:31.
justso вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дисперсия. Гистограмма p4serhiy Помощь студентам 2 15.04.2010 08:34
дисперсия массивов And_DaviD Общие вопросы C/C++ 3 16.02.2010 19:45