2016-09-20 1 views
0

Следующая задача является продолжением This problemТест Фишера для заданных больших наборов значений «p» с использованием matlab?

я написал следующие коды:

load y; P = y;k = length(P); 

% следующая матрица используется для суммирования «N» элементов, каждый в строке:

`n = 2;    %For sum of n elements in a row 
    summer = diag(ones(k,1)); 
    for d = 1:n-1 
      summer = summer + diag(ones(k-d,1),-d); 
    end 
     X = -2.*log(P(:).')*summer;` 

Значение XI am является значением «NAN» для всех заданных массивов массивов P (размером 200x1), но когда я тестирую это с 10 значениями P, тогда он работает очень хорошо и не дает мне никаких «NAN», ценности. помогите мне, почему я не получаю значения для больших наборов данных, а для небольшого числа он работает ... ??

ответ

0

В начале вектора P есть значения -Inf, Inf или NaN. Основываясь на выполненных арифметических действиях, это, по-видимому, единственный возможный источник значений NaN, приводящих к X

+0

Некоторое значение P равно нулю, но без бесконечности или NAN. –

Смежные вопросы