Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Matlab - I want to create row matrix

  1. Apr 20, 2012 #1
    I want to create row matrix A by using row matrix B_1 , B_2 , B_3 ,...,B_7

    Example

    B_1 = [1 2 3];
    B_2 = [6 9 3];
    B_3 = [4 7 5];
    .
    .
    .
    B_7 = [9 6 3];

    Then A = [1 2 3 6 9 3 4 7 5 ... 9 6 3];

    My way is

    mea = input('Insert MEA No. :');

    y = load(sprintf('%d.txt',mea),'-ascii');

    for i=1:7
    eval(['B_' num2str(i) '=y(i,:)']);
    end

    above code is create matrix B_1 - B_7

    and Then

    A = [B_1 B_2 B_3 ... B_7];

    but I want the code which can use for other case.

    Thank you
     
    Last edited: Apr 20, 2012
  2. jcsd
  3. Apr 26, 2012 #2
    If you start using the eval statement, you'll forever be stuck using it later on which makes code very difficult to understand.

    Two alternatives would be to create a cell array:

    A = [];
    for i=1:7
    B{i}=y(i,:);
    A = [A B{i}]
    end

    or, if the B vectors are all the same length, then why use B at all?:

    A = [];
    for i=1:7
    A = [A y(i,:)];
    end
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook




Similar Discussions: Matlab - I want to create row matrix
Loading...