Alternative to EVAL string expressions in optimization
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Kylekk
am 30 Mai 2022
Kommentiert: Kylekk
am 31 Mai 2022
Hi,
I have a huge matrix, each element is a string like "16*q^2+4*q", i call it new_sol_array, now i want to define multiple optimconstr object with each row one set of constraints. This is what i did:
constr= optimconstr(M,N);
for i=1:rows
for j =1:column
constr(i,j)=eval(new_sol_array(i,j)+'==0');
end
end
As you would see, this is extremely slow. Is there a better alternative to do the same thing? i have read some of the answers about eval on this website yet did not find anything relevant enough to my problem.
Thank you so much!!!
0 Kommentare
Akzeptierte Antwort
Walter Roberson
am 31 Mai 2022
Instead of eval() everything, use file operations to emit a file along the lines of
constr = [
EQN, EQN,... EQN
EQN, EQN,... EQN
]
along with a function header. Then "clear" the name of the file. Then invoke the file as a function passing in q and whatever else is required
This reduces the burden by not needing to eval() each one individually.
4 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu String finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!