Indexing inside symbolic product
27 次查看(过去 30 天)
显示 更早的评论
I am trying to compute a symbolic product with the following code:
syms z theta_1 theta_2 k real
n = 2;
x = sym('x', [n 1])
assumeAlso(theta_2>0)
f = symfun(exp(-(z-theta_1)^2/(2*theta_2))/sqrt(2*pi*theta_2),[z, theta_1, theta_2])
L = symprod(f(x(k),theta_1,theta_2),k,1,n)
However, when I run the code I get the following error:
Error using sym/subsindex (line 766)
Invalid indexing or function definition. When defining a function, ensure that the arguments are symbolic variables and the body of the function is a SYM expression. When indexing, the input must be numeric, logical, or ':'.
Error in sym/subsref (line 805)
R_tilde = builtin('subsref',L_tilde,Idx);
Could someone please explain what is going wrong here? Been staring at this for way to long.
0 个评论
采纳的回答
Walter Roberson
2017-7-25
Syms can never be used as indices.
Construct a vector of the individual values (sometimes this is very easy if only happen to use vectorizable operations), and then prod() the vector
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Assumptions 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!