How to convert a string to a variable useable in a script?

1 view (last 30 days)
Hello, So The idea is to construct a string of the name of a variable (network class) that already exists in the workspace, and then calling that string for a specific input would output the same result as if it was done directly by the original variable.. Here is my code: Z11='haar_net_scg_in1_2obsrv'; yfit11 = eval(Z11(Ind_vald')); So the variable is called haar_net_scg_in1_2obsrv it's a network (ANN) and I want to use it to predict the class of an iput Ind_vald' . but I always get this error: Subscript indices must either be real positive integers or logicals. Knowing if I apply the network directly I get the results.. I really need this to work because I have a for loop with changing network names that I need to make them predict the class of some inputs Thanks

Accepted Answer

jgg on 18 Jul 2016
Edited: jgg on 18 Jul 2016
I think you're like 99% of the way there.
yfit11 = eval(strcat(Z11,'(Ind_vald)');
This should work as long as it's well-formed. You may need to transpose the Ind_vald item beforehand if you need it to be transposed in the expression.
  1 Comment
Med Aymane Ahajjam
Med Aymane Ahajjam on 19 Jul 2016
Hey there jgg, thank you for your quick answer, it worked perfectly!
:D You're the best!

Sign in to comment.

More Answers (0)


Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!