如何使用字符串元素创建数组?

时间:2017-04-23 13:26:11

标签: arrays matlab

我想声明一个这样的数组:

panel = ['A0', 'A1', 'A2', 'A3', 'A4', 'A5'];

以便panel(1) = A0

问题在于它将完整的东西作为一个元素,如下所示:A0A1A2A3A4A5 使用panel(1) = Apanel(2) = 0等等。

如何创建这样的数组?

2 个答案:

答案 0 :(得分:2)

使用单元格数组将生成您期望的行为。您使用{}括号而不是[]定义单元格数组,并使用{}而不是()访问元素。

panel = {'A0', 'A1', 'A2', 'A3', 'A4', 'A5'};
disp(panel{1});

答案 1 :(得分:2)

您可以使用DMR's answer中所述的单元格数组或以下方法:

  1. 使用多行代替单行,如下所示:

    A0

    然后panel(1,:)可以使用A1panel(2,:)使用panel = ["A0", "A1", "A2", "A3", "A4", "A5"]; ,...

  2. 进行访问
    1. 如果你有MATLAB 2017a,你可以像这样创建string arrays

      A0

      然后panel(1)可以使用A1panel(2)使用user_input_1 = input('What is your weight') user_input_2 = input('What is your height') b = 'BMI' b = int(user_input_1)/(float(user_input_2)**2) while True: try: user_input_1 == int and user_input_1 > 0 user_input_2 == float and user_input_2 > 0 print(b) if b in range(1, 19): print('You are skinny as a rail') break if b in range(19, 26): print('You are fit as a butcher\'s dog') break if b >= 25: print('You are as plum as a partridge') break break except ZeroDivisionError: input('Enter your height in meters as a float') except user_input_1 != int: input('Please enter your weight in kg') ,...

    2. 进行访问