2014-09-18 3 views
-3

У меня есть вопрос, на который у меня есть частичный ответ. Надеюсь, вы поможете мне сделать остальные:Первая половина вектора и даже индексированные элементы

  • Часть A: Создайте вектор случайных чисел размером 1 × 20 и назовите его как данные. Значения этих случайных чисел должны быть в диапазоне от 0 до 1.
    data=rand(1,20);
  • Часть B: Создайте вектор 1 × 10 и назовите его как half_data, который состоит из значений из первой половины векторных данных
  • Часть C: Создайте вектор 1 × 10 even_data, который состоит из элементов с четными индексами данных.

Помощь мне делать (часть B) и (часть C)

ответ

0
data = [1:10]; 
#% Part B 
half_data = data(1:end/2); 
#% Part C 
even-index = data(2:2:end); 

синтаксис: vector(first_index : step_size : last_index) (пробелы необязательно)

Смотрите далее: http://en.wikibooks.org/wiki/Octave_Programming_Tutorial/Vectors_and_matrices#Ranges

+0

Большое спасибо KAY! Ты БОГ для меня, насколько это касается MATLAB! :) Не могли бы вы помочь мне узнать, как мы создаем ПУСТОЙ векторный размер 1X10? – UMJ

+0

@UjjwalMalik, насколько я знаю, нет реального пустого вектора в matlab. Вы можете использовать тип данных ячейки с помощью 'x = cell (1,10);' или если вы хотите удвоить, вы можете использовать: 'x = zeros (1,10)', в этом случае он будет предварительно назначен нулями. Очевидно, вы можете изменить это на «NaN», но не удастся оставить их пустыми, если вы используете double-datatype. Если вы хотите перераспределить переменную, вы также можете просто использовать: 'x = []' (но у этого не было бы размера 1x10) –

+0

@TheMinion Что относительно 'редкого'? – sobek