Solving a system of nonlinear equations with unorganized unknowns?
조회 수: 2 (최근 30일)
이전 댓글 표시
Ideally when using fsolve, my entire solution vector will be unknown. However my unknowns are broken down into 2 vectors x and r such that some values of my x vector are always fixed as they are boundary conditions but the summation of the length of x which are unknown, and r gives me the total number of unknowns. Is there a way I can use fsolve to pick the indices I would like it to solve leaving the boundary conditions the way they are?.
댓글 수: 0
답변 (1개)
Matt J
2019년 10월 4일
편집: Matt J
2019년 10월 4일
If you use lsqnonlin instead of fsolve, you can set a vector of upper and lower bounds ub and lb on the solution. Just set ub(i)=lb(i) for those x(i) elements you want constrained to something known, e.g.,
p0=[x0(:);r0(:)]; %Initial guess
N=numel(p0);
[lb,ub]=deal(-inf(N,1), +inf(N,1));
ub(1:3)=10; lb(1:3)=10; %constrain x(1:3) to equal 10
p=lsqnonlin(@yourFunction,p0,lb,ub)
댓글 수: 4
참고 항목
카테고리
Help Center 및 File Exchange에서 Systems of Nonlinear Equations에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!