How can I substitute a variable given by a struct?
Mostra commenti meno recenti
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 Commenti
darova
il 2 Mag 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
il 3 Mag 2020
Risposta accettata
Più risposte (0)
Categorie
Scopri di più su Function Creation in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!