str2func vectorize input x1, x2 to x
Ältere Kommentare anzeigen
When using str2func, I find that I can do these things such as,
str = 'x(1)^2 + 3*x(2)';
f = str2func(['@(x)' str]);
f([4 5])
and
str1 = 'x + 2*u';
f1 = str2func(['@(x,u)' str1]);
f1(2,3)
However, what I need is something like
str2 = 'x(1) + u - x(2)';
f2 = str2func('@(x,u)', str2);
f2([1,2],3)
which gives me an error "Too many input arguments."
Any suggestions please? Thank you all in advance.
Qun
Akzeptierte Antwort
Weitere Antworten (2)
Hi Qun Wu
with the following syntax it works ok
str2 = 'x1 + u - x2'; f2 = str2func(['@(x1,x2,u)', str2]); f2(1,2,3)
the following also works ok
str2 = 'x(1) + u - x(2)'; f2 = str2func(['@(x,u)', str2]);f2([1 2],3)
if you find this answer useful would you please be so kind to mark my answer as Accepted Answer?
To any other reader, please if you find this answer
please click on the thumbs-up vote link
thanks in advance
John BG
Qun Wu
am 16 Mär. 2017
0 Stimmen
Kategorien
Mehr zu Logical finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!