How can I substitute a variable given by a struct?
Mostrar comentarios más antiguos
Hey, everyone. I'm trying to solve an optimization problem without the Optimization toolbox. I already have the roots from the equation (by "solve"), it gives to me an struct array, with fields x1, x2... xn, my problem is I already have an x1, x2... xn. I've been trying by so many ways but simply I couldn't solve it, I'm looking to asign the value of the fields to the syms variables and then apply "subs". Code below.
Thanks in advance for help. :)
clear; close all; clc;
var= input ('Dimention of domain');
syms x [1 var];
func= input ('Enter the function, i.e [x1+x2+...+xn]: \n');
y=[];
for s=x(1:end)
dp= diff (func, [s]);
y=[y, dp];
end
pc=solve (y);
pucr= fieldnames (pc);
for i= 1:numel(pucr)
vals(i, 1)= getfield(pc,pucr{i});
end
Hf=hessian (func);
Hff= subs (Hf);
2 comentarios
darova
el 2 de Mayo de 2020
Try this
for i= 1:numel(pucr)
v = getfield(pc,pucr{i});
v1 = subs(v,oldv, newv);
vals(i, 1) = doulbe(v1);
end
Abner Ojeda
el 3 de Mayo de 2020
Respuesta aceptada
Más respuestas (0)
Categorías
Más información sobre Function Creation en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!