Как я могу использовать lsqnonlin с границами для моего решения, исключая интервалы? - PullRequest
1 голос
/ 21 апреля 2020

Мне нужно решить определенную систему, значения решения которой xa, xb находятся в пределах] 0,1 [интервал. И мне также нужно, чтобы xa отличался от xb. Пример того, что я притворяюсь, приведен ниже. Основной вопрос заключается в том, как установить lb и ub между 0 и 1, исключая 0 и 1?

Основной код:

x0=[0.001,0.9999]
lb=[0,0]
ub=[1,1]
parameters= load something or ask for input some values
fun = @(x)fobj(x,parameters)
[Solution]= lsqnonlin(fun,x0,lb,ub)

Функция цели:

function [F] = fobj(x,parameters)
xa=x(1)
xb=x(2)
~Lot of code to obtain u1a, u1b, u2a, and u2b as a function of x and parameters.
The two equalities that I need to be zero:
error1=u1a-u1b
error2=u2a-u2b
F=[error1,error2]
end

Большое спасибо,

Эммануил

...