我试图使用Matlab符号工具箱比较两个简单表达式。由于某些原因,代码返回0。有任何想法吗?
syms a b c
A = (a/b)^c
B = a^c/b^c
isequal(A,B)
syms a b c
A = (a/b)^c
B = a^c/b^c
isequal(A,B)
B
的表达式使用简化函数,但允许它运行更多的简化步骤以获得最简化的表达式。syms a b c
A = (a/b)^c
B = a^c/b^c
isequal(A,simplify(B,'step',4))
实际上,四个步骤是我使用过的最小数量,但这可能因MATLAB版本而异。为确保准确性,我建议增加步骤,但对于非常大的表达式,这可能会变得计算密集,需要一些判断。请注意,您还可以使用“Seconds”选项来限制简化所允许的时间。
c 是整数,你可以欺骗MATLAB来扩展A。
clc; clear all;
syms a
syms b
syms c integer
A = (a/b)^c;
B = simplify((a^c)/(b^c));
disp(isequal(A,B));
disp(A);
disp(B);
1
a^c/b^c
a^c/b^c