Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

To resolve issues starting MATLAB on Mac OS X 10.10 (Yosemite) visit: http://www.mathworks.com/matlabcentral/answers/159016

how to choose the value?

Asked by godwin tgn on 14 May 2013

i have some data. see below if true

       l1 = input('bus connection(choose one number from 1 to 30) = ');
                bus1 = [2 3];
                bus2 = [1 4 6 5];
                bus3 = [1 4];
                bus4 = [2 3 6 12];
                bus5 = [2 7];
                bus6 = [2 4 7 8 9 10 28];
                bus7 = [5 6];
                bus8 = [6 28];
                bus9 = [6 10 11];
                bus10 = [6 9 17 20 21 22];
                bus11 = 9;
                bus12 = [4 13 14 15 16];
                bus13 = 12;
                bus14 = [12 15];
                bus15 = [12 14 18 23];
                bus16 = [12 17];
                bus17 = [16 10];
                bus18 = [15 19];
                bus19 = [18 20];
                bus20 = [10 19];
                bus21 = [10 22];
                bus22 = [10 21 24];
                bus23 = [15 24];
                bus24 = [22 23 25];
                bus25 = [24 26 27];
                bus26 = 25;
                bus27 = [25 28 29 30];
                bus28 = [6 8 27];
                bus29 = [27 30];
                bus30 = [29 27];
end 

when i press 1 it display bus1 matrix also when i press 2 it show bus2 matrix and bus3,bus4 etc., please anyone help me

2 Comments

Thomas on 14 May 2013

Goodwin, your code will not work as it is. I assume you want the user to input the number and then you want the corresponding bus matrix to show up..

Where do you compare what the user has entered to what you want to look up? you could do this by a number of 'if' statements (just think about it.. ) or use switch case..

godwin tgn on 14 May 2013

thanks bro.........

godwin tgn

Products

3 Answers

Answer by Thomas on 14 May 2013
Accepted answer

An example of how to use switch case: adapt for your particular case

busNum=input('Enter the bus number:');
switch busNum
    case 1
        disp('2 3')
    case 2
        disp('1 4 6 5')
end

0 Comments

Thomas
Answer by Jan Simon on 14 May 2013

Storing the values in different variables is a bad idea. Better use an array:

bus = {[2 3], ...
       [1 4 6 5], ...
       [1 4], ...
       etc. };
l1 = input('bus connection(choose one number from 1 to 30) = ');
disp(bus{l1});

1 Comment

godwin tgn on 14 May 2013

thanks bro...... i learned something here. thanks for all of you

Jan Simon
Answer by Jurgen on 14 May 2013

I suggest you concatenate the numerical input l1 with the string 'bus'. Then display the content with display(). E.g.

X = ['bus' l1];
display(X)

5 Comments

Jan Simon on 14 May 2013

@godwin tgn: No, it is your turn to rewrite the code.

Do not use EVAL. It results in more troubles than it solves.

Jurgen on 15 May 2013

Well it should work for this simple case?

José-Luis on 15 May 2013

It is not a matter of it working or not. Please look at this previous discussion.

Jurgen

Contact us