Я хочу решить свое дифференциальное уравнение и построить векторы скорости, но у меня возникли некоторые проблемы с этим.Я попытался это:
syms y(x);
ode = (1+exp(x))*y*diff(y,x)-2*exp(x) == 0;
ySol = dsolve(ode)
[X,Y] = meshgrid(-2:.2:2);
Z = 2*exp(X)/((1+exp(X)).*Y);
[DX,DY] = gradient(Z,.2,.2);
figure
contour(X,Y,Z)
hold on
quiver(X,Y,DX,DY)
hold off
, и я получаю эту ошибку:
Warning: Matrix is singular to working precision.
Warning: Contour not rendered for non-finite ZData
Это, вероятно, что-то простое, что я не вижу, но я только начинаю использовать Matlab, и я не могу найтиправильный способ сделать мою задачу.Пожалуйста, помогите мне ...
РЕДАКТИРОВАТЬ
Как предложил bconrad, я изменил свою функцию Z следующим образом:
Z = 2*exp(X)/((1+exp(X)).*Y);
, и предыдущие ошибки были исправлены.Тем не менее, моя главная цель, чтобы построить векторы скорости, еще не достигнута, потому что я получаю такой график: