我试图在MatLab中解决一个简单的方程,但我一直得到这个错误,说“函数'solve'的输入或输出的数量或类型不正确”。下面是我的代码:
syms tau12 sig11 sig22 tau12= 6e6 sig11 =22e6 sig22 = 10e6 solve(tan(2*theta) == tau12 / ((sig11 - sig22) / 2), theta)
atan,tand不工作。我想可能有什么问题,因为我看到了一个矩阵。
ljo96ir51#
我认为问题是theta不是syms变量,所以你输入solve的第一个参数不是类'eqn'的对象。尝试创建您的方程作为一个单独的变量第一,像;
syms theta my_eqn = tan(2*theta) == tau12 / ((sig11 - sig22) / 2) solve(my_eqn, theta)
这将帮助您避免将来发生类似的问题,因为在创建eqn对象时返回错误,而不是在调用solve()时返回更令人困惑的错误
1条答案
按热度按时间ljo96ir51#
我认为问题是theta不是syms变量,所以你输入solve的第一个参数不是类'eqn'的对象。
尝试创建您的方程作为一个单独的变量第一,像;
这将帮助您避免将来发生类似的问题,因为在创建eqn对象时返回错误,而不是在调用solve()时返回更令人困惑的错误