2013-04-05 3 views
-2

векторизации не работаетMatlab - г (х: у) - векторизация не работает

z = 10:-1:1; 

x = 1:9; 

y = 2:10; 

z(x:y) 

ANS =

10 9 

Нет векторизации диапазон индекса?

+3

Каков ваш желаемый результат? – HebeleHododo

+4

В чем проблема? Ваш результат точно такой, как ожидалось: 'x: y' дает вам' x (1): y (1) ', что здесь' 1: 2'. Таким образом, 'z (1: 2)' или скорее 'z ([1 2])' дает вам '[10 9]'. –

+0

x и y - вектор. z (x) даст нам много значений z. Я предположил, что z (x: y) даст много пар значений z. Почему вдруг вектор X преобразуется в X (1)? Если мне нужно x (1) - я написал - x (1). Если напечатанный X - означает, что необходимо использовать весь вектор X. , но я вижу, что это не так. Мне кажется, что логика нарушена. Иногда X - это вектор. Иногда X - число. – user1940681

ответ

2

Если вы хотите пары, вы должны будете использовать

>> z([x; y]) 

ans = 

    10  9  8  7  6  5  4  3  2 
    9  8  7  6  5  4  3  2  1 

соотв.

>> z([x; y].') 

ans = 

    10  9 
    9  8 
    8  7 
    7  6 
    6  5 
    5  4 
    4  3 
    3  2 
    2  1 
+0

Спасибо за помощь и разъяснения !!! – user1940681

Смежные вопросы