How can I dynamically create equations for fsolve?
4 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
I need to solve a large system of non-linear equations (static truss system). The equations are derived from nodes (xyz), forces (xyz) and their constraints (position, forces).
How can I set-up equations like the following ones for fsolve dynamically?
F(1) = exp(-exp(-(x(1)+x(2)))) - x(2)*(1+x(1)^2);
F(2) = x(1)*cos(x(2)) + x(2)*sin(x(1)) - 0.5;
Or is there no good way to do this and it can only be handled by a symbolic solver like Mathematica? But even symbolic tools have to put the equations together somehow.
Does someone have an idea on how this works?
2 comentarios
Respuestas (1)
Walter Roberson
el 11 de Oct. de 2018
If need be you can use str2func()
However I suspect that more appropriate would be to categorize into cases and call auxiliary construction functions passing in appropriate data with the construction functions returning anonymous functions that have captured appropriate data values. For example a cell array of function handles that you cellfun over, passing in x to each one, sum() the results.
0 comentarios
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!