В настоящее время я обрабатываю большие файлы со значениями, которые выглядят, например. как это (всегда 2 колонки, но более 100 000 строк):расчет производной для каждой строки файла с более чем 100 000 строк
1,3 1,5
2,5 2,0
3,6 6,0
4,0 10,1
7,8 11,5
Для них Я хочу вычислить производную типа: (2.0-1.5)/(2.5-1.3) &, затем (6.0-2.0)/(3.6-2.5) и т. д. Я написал файл Scilab, который читает в матрице x из файла (test.txt), а затем выполняет цикл for, где вычисляются производные. Вот моя версия:
[x] = read('test.txt',-1,2);
i = 1;
j = 1;
s = size(x);
for i = 1:s(1,1)-1
f(i) = (x(i+1,2)-x(i,2))/(x(i+1,1)-x(i,1))
delta(i)=((x(i+1,1)+x(i,1)))/2
i=i+1
end
Мои вопросы носят двоякий характер:
1) расчет более 100 000 строк занимает очень много -> есть ли возможность сделать это быстрее? Или это возможно только при уменьшении количества строк (например, только с учетом каждого 1000-го шага?)
2) Поскольку я хочу сделать это в сценарии linux: есть ли простой способ сделать это в awk или с другим средством linux (например, sed ...)?
Большое вам спасибо за помощь!
Стефан
отлично работает, спасибо! –