MATLAB Answers


How do I assign matrix of strings to matrix of numbers?

Asked by Surafel Taddesse on 11 Jul 2019
Latest activity Commented on by Surafel Taddesse on 18 Jul 2019
Lets sat I have:
a1 = [A,B,C,D,E,F]
a2 = [5,8,2,9,2,1]
lets assume this are large matricies.
Is there a way that I can get A = 5 , B = 8 , C = 2 ...... without having to do it individually. As long as their location is the same I want to set them their respective variable
Please help and Thank You in advance!


@Surafel Taddesse: dynamically accessing variable names is one way that beginners force themselves into writing slow, complex, obfuscated, buggy code that is hard to debug. Read this:
In contrast indexing is neat, simple, easy to debug, and very efficient. You should use indexing.
@Stephen Cobeldick
Thank you for the comment, I think you might have saved me many future Headaches.

Sign in to comment.

1 Answer

Answer by David Goodmanson on 11 Jul 2019
Edited by David Goodmanson on 11 Jul 2019
 Accepted Answer

Hi [A,B,C,D,E,F] = deal(5,8,2,9,2,1)
although for a large number of variables, giving each its own name is not a winning strategy. In that case it is better to leave the numerical values in an array of some kind and access each value with an index, e.g. Z(ind) for a vector Z or Z(ind1,ind2) for a matrix Z, etc.


Sign in to comment.