matlab — ??? Ошибка при использовании ==> syms в 61 Недопустимое имя переменной

#matlab

Вопрос:

У меня возникли некоторые проблемы с моим кодом. Вот оно:

 syms I1(t) I2(t) eqn1 = diff(I1(t),t) == 12-2*I1(t) diff(I2(t),t);  eqn2 = diff(I2(t),t) == 1/3*(diff(I1(t),t)-4);  eqns = [egn1; eqn2] cond1=I1(0)==0; cond2=I2(0)==0; conds=[cond1; cond2]; [I1Sol(t), I2Sol(t)]=dsolve(eqns, conds)  

Когда я решаю, я получаю

??? Ошибка при использовании ==gt; syms в 61 Недопустимое имя переменной.

Я не знаю, как это исправить. Я новичок в Matlab, поэтому надеюсь, что кто-нибудь мне поможет. Огромное спасибо.

Комментарии:

1. Вы допустили орфографическую ошибку, по eqns = [egn1; eqn2] крайней мере, там egn1 вместо eqn1 .

2. о, спасибо. Я исправил это, но оно все еще не работает. 🙁

Ответ №1:

попробуйте сейчас и убедитесь, что вы добавили папку, содержащую ваш скрипт, в matlab «добавить путь».

 clear clc syms I1(t) I2(t) eqn1 = diff(I1(t),t) == 12-2*I1(t) diff(I2(t),t); eqn2 = diff(I2(t),t) == 1/3*(diff(I1(t),t)-4); eqns = [eqn1; eqn2] cond1=I1(0)==0; cond2=I2(0)==0; conds=[cond1; cond2]; [I1Sol(t), I2Sol(t)]=dsolve(eqns, conds)  

Я получил такой результат

 eqns =   diff(I1(t), t) == diff(I2(t), t) - 2*I1(t)   12  diff(I2(t), t) == diff(I1(t), t)/3 - 4/3   I1Sol(t) =  3*exp(-3*t)*((16*exp(3*t))/9 - 16/9)    I2Sol(t) =   exp(-3*t)*((16*exp(3*t))/9 - 16/9) - (4*t)/3