# How to create a vector out of arrays

54 views (last 30 days)
Erica on 15 Jul 2014
Commented: José-Luis on 15 Jul 2014
Given the Following arrays:
Header = ('A' 'B' 'C' 'D')
Data1 = ( 1 2 3 4)
Data2 = (5,6,7,8)
I want to create the following Vectors:
A = (1 ,5)
B = (2, 6)
C = (3, 7)
D = (4, 8)
My error is: Undefined function 'eval' for input arguments of type 'cell'.
Help?

José-Luis on 15 Jul 2014
Header = {'A' 'B' 'C' 'D'};
Data1 = [1 2 3 4];
Data2 = [5,6,7,8];
cnt = 1;
assignin('base',ii{:},[Data1(cnt) Data2(cnt)]);
cnt = cnt + 1;
end
This is a bad idea though, you'd be better off storing in a cell array instead of dynamically creating variables.
##### 2 CommentsShowHide 1 older comment
José-Luis on 15 Jul 2014

Ben11 on 15 Jul 2014
Edited: Ben11 on 15 Jul 2014
Try this:
clear all
clc
Header = {'A' 'B' 'C' 'D'};
Data1 = [1 2 3 4];
Data2 = [5,6,7,8];
end
NewVector
NewVector =
Columns 1 through 3
'A = (1,5)' 'B = (2,6)' 'C = (3,7)'
Column 4
'D = (4,8)'
Now each cell of the NewVector cell array contains what you want.
I must say that your question was not that clear so if it's not what you are looking for please don't hesitate to ask for details/clarify your question. For instance do you want every element to literally contain a letter with an equal sign and then a pair of numbers, or simply the pair of numbers? If so then you would not have to use cell arrays.
Erica on 15 Jul 2014
Yeah - I had trouble wording what I was after ... Yes, I literally want a Vector Named A and to have it's contents be 1 and 5 so that I can access A(0) and get 1 or A(1) and get 5... Do you see what I mean??

James Tursa on 15 Jul 2014
Edited: James Tursa on 15 Jul 2014
I am guessing that Header is a cell array of strings, even though you have typed it in your post using parentheses ( ) instead of curly braces { }. If that is the case, try this instead using curly brace {i} instead of parentheses (i):
I.e., use the curly braces to extract the string from Header before combining with the rest of the string. That way you will get a string result instead of a cell result.
Advice: In the future, post your exact code so people can have a chance to correct your syntax. By using parentheses ( ) in your post instead of the exact code { } and [ ], you unintentionally mislead the readers.

Azzi Abdelmalek on 15 Jul 2014
This is not a good idea.
Data1 = [1 2 3 4]
Data2 =[5,6,7,8]
Just create one variable
A=[Data1' Data2']

### Categories

Find more on Whos in Help Center and File Exchange

### Community Treasure Hunt

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

Start Hunting!

Translated by