필터 지우기
필터 지우기

error in solving system of nonlinear equations

조회 수: 1 (최근 30일)
Muhammad Ali
Muhammad Ali 2020년 6월 4일
댓글: Rik 2020년 6월 4일
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
  댓글 수: 2
Rik
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.
Muhammad Ali
Muhammad Ali 2020년 6월 4일
I am using R2014a release.
Kindly guide what should I do

댓글을 달려면 로그인하십시오.

답변 (1개)

madhan ravi
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
Muhammad Ali
Muhammad Ali 2020년 6월 4일
getting the same error using the command you gave for solve function.
Kinldy guide how can I use fsolve in this code
Rik
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 CenterFile Exchange에서 Symbolic Math Toolbox에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by