How to run Fsolve using vectors

19 visualizzazioni (ultimi 30 giorni)
Fotis
Fotis il 13 Ott 2015
Commentato: BB il 4 Dic 2021
Hi everyone. I am trying to run fsolve using vectors as inputs but it doesn't seem to work. My code is below. Do I have a syntax error?? I get x=[1 1 1 0.005348] as output. Seems that first 3 elements are just the same as initial condition. Any ideas?:
a = [2 1 3 4];
b = [-5 -10 -20 -30];
for i = 1:length(a)
F = @(x) ((log(x(i)^a(i)) - x(i)) - b(i));
x0=[1 1 1 1];
x = fsolve(F,x0,optimset('Display','none'));
end

Risposte (1)

Torsten
Torsten il 13 Ott 2015
a = [2 1 3 4];
b = [-5 -10 -20 -30];
F = @(x)log(x.^a)-x-b;
x0 = [1 1 1 1];
x = fsolve(F,x0,optimset('Display','none'));
Best wishes
Torsten.
  2 Commenti
Fotis
Fotis il 13 Ott 2015
Thanks Torsten!
BB
BB il 4 Dic 2021
Great script, helped me a lot!

Accedi per commentare.

Categorie

Scopri di più su MATLAB in Help Center e File Exchange

Tag

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by