[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Must all coefficients for fsolve be numeric???????

From: José Abílio Matos
Subject: Re: Must all coefficients for fsolve be numeric???????
Date: Wed, 18 Mar 2020 18:24:46 +0000

On Wednesday, 18 March 2020 17.24.53 WET Brett Green wrote:
> Y_e = cosh(Alpha*X_bar) - cos(Alpha*X_bar) + Eta*(sinh(Alpha*X_bar) -
> sin(Alpha*X_bar)); g = @(X) f(X,Y_e);
> [X, fval, info] =
> fsolve(@g,[0.1;0.01;1024;4.;-1.0;0.001;0.0;0.5;154.;71000;0.000007;0.000005
> ;
> 0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
> ;0])

Just as Brett said. But you can skip the second step.

[X, fval, info] = fsolve(@(X) f(X,Y_e),

If you have more parameters you must pass them all as arguments of the f 
function and than only let X be the only variable.

IMHO A simple variant of this is to create a structure as pass all the 
parameters as members of the struct. Something like


You need to define those member outside and then it should be enough to call 
like above:
[X, fval, info] = fsolve(@(X) f(X,par),

The other option is to make the parameters that you use as global variables 
but then do not forget to declare those variables as global in the function f:

I hope that this helps,
José Matos

reply via email to

[Prev in Thread] Current Thread [Next in Thread]