2016-11-06 5 views
0

Я выполнил следующую функцию для оценки Parzen Density of a matrix,Ошибка: оператор *: nonconformant аргументы (op1 является RXC, op2 является RxC)

parzen.m

function [retval] = parzen (matrix, dataPoint, variance) 
    [r c] = size(matrix); 
    A = ones(r, c)*dataPoint; 
    sub = matrix - A; 
    up = sub.^2; 
    dw = 2 * variance; 
    firstPart = 1/(sqrt(2*pi*variance)); 
    retval = firstPart * exp((-1)*(up/dw)); 

Error

>> parzen(train, test, 0.25) 
error: parzen: operator *: nonconformant arguments (op1 is 1824x8, op2 is 1824x8 
) 
error: called from 
    parzen at line 3 column 4 
>> 

Как я могу избавиться от этой ошибки?

+1

Вам не нужно использовать умножение элементов? Предполагая, что 'dataPoint' является матрицей размера (r, c), используйте' A = ones (r, c). * DataPoint'. –

ответ