Интервал вектора Matlab

Я работаю с численными методами и решил начать обучение в среде Matlab, мой вопрос в том, как я могу добавить к сгенерированному интервалу моего вектора последний номер интервала, например:

vector = [-2.4:2.4]

это приведет к этим числам внутри вектора:

 -2.4000   -1.4000   -0.4000    0.6000    1.6000

Итак, я хочу знать, какие у меня есть варианты, чтобы я мог сделать это:

 -2.4000   -1.4000   -0.4000    0.6000    1.6000    2.4000

Мне нужно, чтобы интервал между числами был равен 1, и я не знаю точного размера вектора, поэтому я не могу использовать функцию linspace. Прежде чем прийти сюда, чтобы спросить, я уже искал об этом, но действительно не нашел ничего, что могло бы мне помочь.


person C. Porto    schedule 08.11.2013    source источник
comment
Расстояние между 1,6 и 2,4 не равно 1. Поскольку весь интервал имеет ширину 4,8, вы не можете разделить его на элементы, отличающиеся на 1.   -  person David    schedule 08.11.2013
comment
Если вы спрашиваете, как перейти от -2,4 к 2,4 с шагом 1 и каким-то образом включить 2,4, сохраняя при этом шаг 1... ясно, что это невозможно.   -  person Dan    schedule 08.11.2013


Ответы (1)


Если разница между первым и последним элементами не кратна 1, вы не можете установить интервал между числами равным 1 для всех. Однако, если ваша цель состоит в том, чтобы гарантировать, что последним элементом является какое-то конкретное число, и вы готовы пойти на компромисс (кажется, вы делаете это с 1.6 и 2.4), как насчет построения v таким образом?

v1 = -2.4; v_last = 2.4;
v = v1 : v_last;
if v(end) ~= v_last
    v = [v, v_last];
end
person s.bandara    schedule 08.11.2013
comment
Спасибо, это сработало, я на самом деле думал, что это может быть способ гарантировать, что первое и последнее числа интервала будут сгенерированы внутри вектора, в любом случае, еще раз спасибо. - person C. Porto; 08.11.2013
comment
Это кажется глупой попыткой сделать, но поскольку ОП хочет этого, вы можете сделать это намного аккуратнее: [-r:p:(r-p/3), r], где в данном случае r равно 2.4, а p равно 1. - person Dan; 08.11.2013
comment
@ Дэн, нет, это не всегда сработает. Мы не знаем, что ОП начинается с -r, а тогда будет ли достаточно r-p/100? Но да, немного глупо. - person s.bandara; 08.11.2013
comment
@s.bandara легко настроить для этого сценария - person Dan; 08.11.2013