Error using sym/subsref
显示 更早的评论
I have this program to get the value of "m"
clc
syms m
eqns = (72*m^2)-(1.5*m^3) == 358;
S=solve (eqns,m,'Real',true)
double (S.m);
However in the output I get this error
S =
32*cos(atan(2167511^(1/2)/5965)/3) + 16
16*3^(1/2)*sin(atan(2167511^(1/2)/5965)/3) - 16*cos(atan(2167511^(1/2)/5965)/3) + 16
16 - 16*3^(1/2)*sin(atan(2167511^(1/2)/5965)/3) - 16*cos(atan(2167511^(1/2)/5965)/3)
Error using sym/subsref
Too many output arguments.
Error in Untitled (line 5)
double (S.m);
Can any body help me with this?
采纳的回答
更多回答(1 个)
Mathias Andersen
2020-5-4
1 个投票
Double(S) will produce a matrix with the solutions.
S.m is not a variable stated anywhere in the script
4 个评论
Rohit Tamrakar
2020-5-4
Walter Roberson
2020-5-4
S is the output of solve(). If two or more variables were being solved for and a single output were given, then S would be a structure with one field for each variable being solved for, and then S.m would exist.
S.m would also be created if 'returnconditions', true is specified.
Mathias Andersen
2020-5-4
编辑:Mathias Andersen
2020-5-4
S contains the values for m
Walter Roberson
2020-5-4
Not when you solve for a single variable and you do not have ReturnConditions true: in that case, MATLAB cannot tell that apart from the case where you want the non-struct version of the solution.
类别
在 帮助中心 和 File Exchange 中查找有关 MATLAB 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!