11
Devo convertire una stringa come str='x^2+3'
in una funzione. Una soluzione è ottenere una funzione inline, f=inline(str)
, ma non sarà supportata nelle versioni future.Come convertire la stringa in handle di funzione in Matlab?
Una soluzione è f=eval(['@(x)',f])
ma non sembra un'opzione ordinata.
La funzione str2func
non funziona perché richiede solo il nome di una funzione esistente.
Come il PO ha sostenuto che 'str2func' non avrebbe funzionato, si potrebbe dire che con' [ '@ (x)' str] 'di creare effettivamente una funzione che è * esistente * dopo e convince' str2func' fare il suo dovere. Solo un suggerimento, eliminerò il commento più tardi. – thewaywewalk
Grazie per il feedback, lascerò il tuo commento per ora almeno come lo spiega bene. – am304
Si potrebbe anche dire che '['@ (x)' str]' è il "nome" della funzione anonima che viene creata al volo –