Azzera filtri
Azzera filtri

using fsolve with nonlinear equations arise in loops

1 visualizzazione (ultimi 30 giorni)
Consider the following problem
Agg=@(co) [co(1)+co(2)-3; co(1)-co(2)-1];
r=fsolve(Agg,[0 0 ]);
This solve the system and obtain the results easily. But if we want the Agg function calculated in a previous loop e.g from an algebraic equation so I can not define variables as co(1) co(2) etc.
the problem get the form
co=sym('co',[1 2]);
Agg(1)=int(...)
Agg(2)=int(...)
r=fsolve(Agg,[0 0 ]);
but this dont work as Agg takes the form [co1+co2-3; co1-co2-1] but matlab needs to be [co(1)+co(2)-3; co(1)-co(2)-1].
What should I do to rplace co1 by co(1). subs and others dont work as co is not define befor

Risposta accettata

Matt J
Matt J il 30 Giu 2019
r=fsolve(matlabFunction(Agg),[0 0 ]);
  3 Commenti
Matt J
Matt J il 30 Giu 2019
r=fsolve(matlabFunction(Agg,'Vars',{[co1,co2]}),[0 0]);
salman yazdani
salman yazdani il 30 Giu 2019
Really Thanks dear Matt. I apreciate your kind and valuable help

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Systems of Nonlinear Equations in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by