Проблема в следующем. В массив P записывается одно и тоже число. хотя если считать для каждого x в отдельности, значения получаются разные. А в массив Pn записываются разные значения(то, что нужно).
M=100;
N=100;Nu=sum(w1); //w1-массив с числами, неважно какими
Wsr=Nu/M;
P=ones(1,N-1);
Pn=ones(1,N-1);
po=0;for x=2:N;
po=Wsr/x;
a=(log(Nu)/log(10)-log(m)/log(10))/log(x);
P(1,x-1)=(x)^(1-a)*po;
Pn(1,x-1)=(x/2)^(1-a)*po;
end;
1. А причем здесь умножение "матрицы на число"? x - скаляр, po - тоже. Обычное умножение.2. Возможно, точности отображения чисел не хватает?