error in solving system of nonlinear equations
1 次查看(过去 30 天)
显示 更早的评论
I am trying to solve four nonlinear equation simultaneously on matlab. But I am getitng the "Comma separated list expansion has cell syntax for an array that is not a cell".
The screenshot of error is attached.
My code is given below.
syms x y z T
x1=1;
x2=1;
x3=1;
x4=1;
y1=1;
y2=1;
y3=1;
y4=1;
z1=1;
z2=1;
z3=1;
z4=1;
c=1;
t1=1;
t21=1;
t31=1;
t41=1;
eq1 = ((x1 - x)^2 + (y1 - y)^2 + (z1 - z)^2 )^1/2 - (c * t1) + (c * T)==0;
eq2 = ((x2 - x)^2 + (y2 - y)^2 + (z2 - z)^2 )^1/2 - (c * t21) - (c*t1) + (c*T)==0;
eq3 = ((x3 - x)^2 + (y3 - y)^2 + (z3 - z)^2 )^1/2 - (c * t31) - (c*t1) + (c*T)==0;
eq4 = ((x4 - x)^2 + (y4 - y)^2 + (z4 - z)^2 )^1/2 - (c * t41) - (c*t1) + (c*T)==0;
sol = solve(eq1, eq2, eq3, eq4);
xSol = sol.x
ySol = sol.y
zSol = sol.z
TSol = sol.T
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/309879/image.png)
2 个评论
Rik
2020-6-4
What release are you using? When I run this code I don't get this error.
Did you notice the warning above the error? There is no explicit solution, so when you try to extract it that doesn't really make sense.
回答(1 个)
madhan ravi
2020-6-4
编辑:madhan ravi
2020-6-4
sol = solve([eq1, eq2, eq3, eq4],[x,y,z,T]); %proper way to use solve
3 个评论
Rik
2020-6-4
Are you sure there should be an explicit solution? What would you expect your output to be if you wanted to solve sin(x)==2?
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Symbolic Math Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!