[1. В вашем случае

не зависит от

, поэтому я убрал в Вашем сообщении неверно набранную зависимость от времени.
2. Вы аппроксимировали второе начальное условие достаточно грубо. Возможно, следует попробовать вариант аппроксимации более высокого порядка по

.]
Теперь необходимо учесть, что в системе MatLab нумерация индексов начинаются с 1.
Возможно два варианта:
(a) использовать другую нумерацию узлов;
(b) использовать туже нумерацию узлов (по пространственной переменной), но модифицировать разностную аппроксимацию уравнения для узлов 1 и
(явно учесть, что в 0 и
значения функции равны нулю).
Для различных шагов по времени обычно изменяют нумерацию:

будет соответствовать начальному моменту времени.
-- Сб 26.12.2015 22:20:23 --И еще, хоть и не по делу, но, возможно поможет быстрее написать программу.
В вашем случае коэффициент при второй производной не зависит от времени.
Если не менять нумерацию по пространственной координате,
я коэффициенты

,

занумеровал бы как

,

:

,

Эти коэффициенты вычисляются перед «циклом».
(Перепроверьте нумерацию. Я устал, могу ошибиться.
Конечно, при таком подходе Вам нужно будет убрать 2 в знаменателе аппроксимации уравнения.)