如何将 symprod 与符号数组一起使用?
How to use symprod with symbolic arrays?
我想用符号求解这个方程:
x_i = x_0 + \prod_{j = 0}^{i-1}(a_{3-j})
我写了下面的脚本,直到我调用 symprod
:
try
pkg load symbolic
end
a = sym('a', [1 3]);
syms x0 i
x0*symprod(a(i), i, [1 3])
错误消息说:
error: subscript indices must be integers or boolean
但是,这有效:
a(2)
ans = (sym) a12
我的代码有什么问题?
(我也尝试使用 Matlab Symbolic Toolbox;也不起作用,但错误消息不同。)
表达式 a(i)
已经存在问题,这样的索引是不可能的:
>> a(i)
error: subscript indices must be integers or boolean
在 a 是整数索引的情况下,您最好使用 prod
:
>> prod(a)
ans = (sym) a₁₁⋅a₁₂⋅a₁₃
另一种方法是使用函数:
>> syms fa(i)
>> e=x0*symprod(fa(i), i, [1 3])
e = (sym) x₀⋅fa(1)⋅fa(2)⋅fa(3)
我想用符号求解这个方程:
x_i = x_0 + \prod_{j = 0}^{i-1}(a_{3-j})
我写了下面的脚本,直到我调用 symprod
:
try
pkg load symbolic
end
a = sym('a', [1 3]);
syms x0 i
x0*symprod(a(i), i, [1 3])
错误消息说:
error: subscript indices must be integers or boolean
但是,这有效:
a(2)
ans = (sym) a12
我的代码有什么问题? (我也尝试使用 Matlab Symbolic Toolbox;也不起作用,但错误消息不同。)
表达式 a(i)
已经存在问题,这样的索引是不可能的:
>> a(i)
error: subscript indices must be integers or boolean
在 a 是整数索引的情况下,您最好使用 prod
:
>> prod(a)
ans = (sym) a₁₁⋅a₁₂⋅a₁₃
另一种方法是使用函数:
>> syms fa(i)
>> e=x0*symprod(fa(i), i, [1 3])
e = (sym) x₀⋅fa(1)⋅fa(2)⋅fa(3)