пятница, 8 августа 2014 г.

Scilab. Работа с данными

Ввод и вывод. Получить массив данных из файла позволяет функция read('file', m, n), где file - имя файла, m и n - число строк и столбцов, которые будут считаны. Если число строк заранее неизвестно, можно записать m = -1, тогда программа сама определит их количество.
Обратная операция, запись массива A в файл file, осуществляется функцией write('file', A).


Интерполяция. Поиск значения в точке x0 на основе линейной интерполяции введённых данных осуществляет функция interpln(M, x0), где M - массив исходных данных. Следует иметь ввиду, что в М переменным x и y должны соответствовать строки, а не столбцы. Т.о. записанную выше матрицу A необходимо предварительно транспонировать.
Кубическую интерполяция производит функция interp(t, X, Y, d), где X - возрастающий вектор независимых точек, Y - вектор значений, t - вектор расчётных точек, d - коэффициенты кубического сплайна, определяемые функцией splin(X, Y).
Ещё раз подчеркну, что данные должны быть представлены строками, а не столбцами, поэтому в примере везде используется операция транспонирования (').
Хотя программа даёт возможность использовать для аппроксимации метод наименьших квадратов, с точки зрения пользователя он реализован весьма громоздко, поэтому я решил его здесь опустить.

Статистика. Scilab имеет немало встроенных функций для статистической обработки данных.
mean(X) - среднее значение массива X.
geomean(X) - геометрическое среднее X.
harmean(X) - гармоническое среднее X.
meanf(X, fre) - среднее значение с учётом весов fre.
msd(X) - среднеквадратическое отклонение X.
stdev(X) - стандартное отклонение X.
stdevf(X, fre) - стандартное отклонение с учётом весов fre.
median(X) - медиана массива X.
Если X - матрица, можно вести расчёт отдельно по строкам и столбцам, для чего нужно указать дополнительный агрумент функции 'r' или 'c' соответственно. 
nfreq(X) - частота элементов массива X.
cmoment(X, n) - центральный момент порядка n для массива X.
moment(X, n) - нецентральный момент порядка n для массива X.
correl(X,Y,fre) - корреляция векторов X и Y с учётом матрицы весов fre.
covar(X,Y,fre) - ковариация векторов X и Y с учётом матрицы весов fre.
regress(X,Y) - коэффициент регрессии векторов X и Y.



Комментариев нет:

Отправить комментарий