Solving a system of nonlinear equations with unorganized unknowns?
4 次查看(过去 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!