我是八度新人。我想为每个theta绘制lh值。我正在使用以下函数计算lh值。
function lh = compute_lh (D, theta)
lh = 1
for i=D
if i == 1
lh = lh * theta
else
lh = lh * (1-theta)
endif
end
endfunction
D = = [1,1,1,1,1,1,0,0,0,0] 其中θ是用θ= 0:0.01:1
生成的积(THETA,compute_lh(d,θ-))
错误:compute_lh:operator *:不一致的参数(op1是1x101,op2是1x101) 错误:从第29行第10列的compute_lh调用 错误:评估参数列表元素编号2
我不知道为什么在绘图时将theta转换为矩阵。
答案 0 :(得分:0)
*
运算符是矩阵乘法。
您的错误发生是因为在第lh = lh * theta
行,第一次调用它时,您将“矩阵乘以”标量与水平矩阵,从而产生水平矩阵。第二次,你试图将水平矩阵与另一个水平矩阵“矩阵相乘”,这不是一个数学上正确的操作,所以你得到一个错误。
大概你需要.*
运算符,这是“逐元素”乘法。
更改为,您将看到所需的钟形曲线结果。