matlab - 绘制 MATLAB 中矩阵函数的梯度

标签 matlab

我想在 MATLAB 中绘制以下函数的梯度.

g(x,y) = [(x^2)-1; -y]

我的代码是:

x = linspace(-3,3);
y = linspace(-3,3);
[xx, yy] = meshgrid(x,y);
z = [xx.^2-1;-yy];
[dx,dy] = gradient(z,.3,.3);
contour(x,y,z)
hold on 
quiver(x,y,dx,dy)

但我刚刚收到此错误:

The size of Y must match the size of Z or the number of rows
of Z.

我不知道如何使两者的大小匹配。 y 是 1x100 矩阵,z 是 200x100 矩阵。为了匹配它们,我需要 y 为 1x200 或 z 为 100x100,但是我可以绘制它吗?

最佳答案

而不是

z = [xx.^2-1;-yy];

分别尝试每个组件:

z1 = [xx.^2-1];
z2 = [-yy];
[dx,dy] = gradient(z1,.3,.3);
contour(x,y,z1)
%etc.

如果您确实希望它们位于同一个图中,请再次使用hold on

关于matlab - 绘制 MATLAB 中矩阵函数的梯度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14086526/

相关文章:

Matlab MCR 过期

c# - MATLAB/.NET Interop - 不允许在 .NET 对象上设置属性

matlab - 如何为图形的图例添加额外信息?

matlab - 在 MATLAB 中不使用 `size` 查找矩阵的大小

MATLAB 没有足够的输入参数

matlab - 如何在 MATLAB 中调整 3-D 条形分组和 y 轴标签?

arrays - 为了在 Matlab 中预分配内存,我想初始化我的对象数组。我该怎么做呢?

c++ - 矩阵指数与 Armadillo

matlab - 如何隐藏轴但保留网格?

matlab - Matlab中的散点图: same colour to same class