Green.H
Green.H

Reputation: 105

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?

Upvotes: 0

Views: 140

Answers (1)

Stéphane Mottelet
Stéphane Mottelet

Reputation: 3004

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);

Upvotes: 1

Related Questions