Output argument "varargout{2}" (and maybe others) not assigned during call error?
4 次查看(过去 30 天)
显示 更早的评论
Trying to plot contour lines with the associated gradient as arrows using the gradient function. My code is:
x = (-2:0.2:4);
y = (-2:0.2:2);
[x1 y1] = meshgrid(x,y);
h = (exp(-x1.^2-y1.^2))+0.5.*exp((-1.*(x1-2).^2)-y1.^2);
[C h]= contour (x,y,h);
hold all;
[hx,hy] = gradient(h);
quiver(x1, y1, hx, hy, 0.8)
I think I'm only getting one output from the gradient function, but shouldn't I be getting two?
Thanks, Chris.
0 个评论
回答(1 个)
Sean de Wolski
2012-10-29
The problem is that you overwrite 'h' with the handle to the contourgroup so that h is no longer a two-dimensional matrix. Thus it cannot calculate the various components of the gradient and this error is thrown.
I agree that this error message could probably be better, I'll let our development team know.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Contour Plots 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!