'Loop over fsolve Scilab

Just as a silly example, say that I wish to solve for the following nonlinear equation x^2 - F(c)=0, where c can take different values between zero and one and F is a standard normal CDF. If I wish to solve for one particular value of c, I would use the following code:

c = linspace(0,1,100);
L = length(c);
x0 = c;

function Y = eq(x)
Y = x^2 - cdfnor("PQ",x-c(1),0,1)
endfunction

xres = fsolve(x0(1),eq);

My question is: Is there a way to solve for the equation for each value of c (and not only c(1))? Specifically, if I can use a loop over fsolve? If so, how?



Solution 1:[1]

Just modify your script like this:

c = linspace(0,1,100);
L = length(c);
x0 = c;

function Y = eq(x)
Y = x^2 - cdfnor("PQ",x-c,zeros(c),ones(c))
endfunction

xres = fsolve(x0,eq);

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1