Если я вас правильно понял, возможно, вы захотите:
x=load('-ascii',filename);
sumx =sum(x(:,1));
sumy =sum(x(:,2));
sumx2=sum(x(:,1).^2);
sumy2=sum(x(:,2).^2);
sumxy=sum(x(:,1).*x(:,2));
n =size(x,1);
Также попробуйте эти
sums =sum(x);
sum2s=sum(x.^2);
sumxy=sum(prod(x,2));
means=mean(x);
Также знаете ли вы, что есть функция
[slope,int]=regress(x(:,2), [x(:,1) ones(n,1)])
, что может отменить вашу работу:)
1012 * редактировать *
Учитывая то, что вы поместили ниже, кажется, что ваши данные не в отдельных строках и состоят из чисел, разделенных только пробелами. Так что, если это правильно, после оператора load
вы должны вставить строку
x=reshape(x, 2, length(x)/2);
Обратите внимание, что при чтении файла ASCII точный формат важен ! Обратите внимание, что это не удастся, если у вас есть нечетное число чисел, и даст неправильные значения, если в вашем файле есть символы новой строки.
Я думаю, что весь остальной код, который вы написали, сводится к:
x=load('-ascii',filename);
[slope,int]=regress(x(:,2), [x(:,1) ones(size(x,1),1)])