for 루프에서 4 개의 대수 방정식을 풀려고합니다. 그것은 '아마도 가짜 해결책'이라고 경고합니다. 그것을 제거하는 방법을 알아 내려고 도와주세요. 코드 첨부. 당신이 당신의 첫번째 방정식을 변경하는 경우경고 : 아마도 가짜 솔루션 일 수 있습니다. [solvelib :: checkSolutions]
a=[1.78E-05 3.39E-04 0.0104 -0.05791 -16.36];
for i=1:R/l0
syms x y l r
[sol_l,sol_r,sol_x,sol_y] = solve(l == (sqrt((x-x0)^2+(y-y0)^2)), r == abs((x+x0)/2),...
poly2sym(a) == y, l*r*t == l0*r0*t0,x,y,l,r, 'Real', true);
for j=1:length(sol_x)
if (sol_x(j)<0)&&(sol_x(j)>x0)
if (sol_y(j)<0)&&(sol_y(j)<y0)
x_req(1,i) = sol_x(j);
y_req(1,i) = sol_y(j);
end
end
end
x0 = x_req(1,i);
y0 = y_req(1,i);
r0 = R-l0*(2*i-1)/2;
end
어떤 언어입니까? 그에 따라 태그하십시오. – PinnyM
for 루프 내부에서'해결 '되는 이유는 무엇입니까? 그것의 어떤 것도'i'에 의존하지 않습니다. 문제를 설명하기 위해 해당 코드를 모두 표시 할 필요는 없으며 질문을 편집하여 관련없는 모든 비트를 제거하십시오. 모든 i에 대해 – horchler
, x0, y0 및 r0의 값이 변경됩니다. 따라서 매 반복마다 솔루션이 변경됩니다. – Ankush