필터 지우기
필터 지우기

How can I solve the error "unable to convert to matrix form because the system does not seem to be linear"

조회 수: 16 (최근 30일)
I have 19 equations and 19 variables. I am trying to use equations to matrix to solve it, yet I get the error:
Unable to convert to matrix form because the system does not seem to be linear.
T = eng.feval_internal('symobj::equationsToMatrix',eqns,vars);
Some of the variables in my equations are squared, for example:
eqn15=(ayAB)+((0.275.*sind(th)).*((OAP).^2))-((0.15.*cosd(th2)).*(al_AB))-((0.15.*sind(th2)).*((AB).^2))==0;
Are those squares the mistake? How could I solve a system of non-linear equations if necessary?

답변 (1개)

I CHUN LIN
I CHUN LIN 2023년 5월 8일
이동: Matt J 2023년 5월 9일
You can not use matrix if the system is non-linear, maybe try fsolve or vpasolve.
The two-variables system example:
fun = @root2d;
x0 = [0,0];
x = fsolve(fun,x0)
function F = root2d(x)
F(1) = exp(-exp(-(x(1)+x(2)))) - x(2)*(1+x(1)^2);
F(2) = x(1)*cos(x(2)) + x(2)*sin(x(1)) - 0.5;
end

카테고리

Help CenterFile Exchange에서 Systems of Nonlinear Equations에 대해 자세히 알아보기

제품


릴리스

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by