[英]How to plot slope fields in Matlab?
我是Matlab的新手(实际上只是下载了它),我想知道如何创建斜率场和积分曲线。
我的方程是dy / dx = x ^ 2 /(1-y ^ 2)。
我的代码尝试是:
Ffun = @(X,Y)X.^2./(1-Y.^2); % function f(x,y)
[X,Y]=meshgrid(-5:.5:5,-5:.5:5); % choose the plot sizes
DY=Ffun(X,Y); DX=ones(size(DY)); % generate the plot values
quiver(X,Y,DX,DY);
hold on;
contour(X,Y,DY,10);
我不断得到:“警告:矩阵对于工作精度是唯一的。在@(X,Y)X^2/(1-Y^2)
我还得到了空白图形。
另外,如果我能获得不同颜色的正,负和零斜率,那就太好了。
帮助将不胜感激,谢谢!
您在评估此函数时会产生inf
值,因为它的极点在Y = +-1附近。 inf
使图按比例缩放以荒谬。...仍要绘制此图,您可以将所有inf
值转换为NaN
(图中未显示数字):
DY(isinf(DY))=NaN;
quiver(X,Y,DX,DY);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.