matlab中surf的问题
来源:百度知道 编辑:UC知道 时间:2024/05/20 14:29:34
x=linspace(-2, 2, 25); % 在x轴上取25点
y=linspace(-2, 2, 25); % 在y轴上取25点
[xx,yy]=meshgrid(x, y); % xx和yy都是21x21的矩阵
zz=xx.*exp(-xx.^2-yy.^2); % 计算函数值,zz也是21x21的矩阵
surf(xx, yy, zz); % 画出立体曲面图
xx和yy都是21x21的矩阵这个我不明白
小妹先谢过各位高手了~~
我的意思是说为什么是两个矩阵和一个矩阵对应,而不是两个向量和一个矩阵对应呢?
【补充】:x和y是1*25向量,要想变为25*25矩阵,只能这样做。
仔细观察以下数据,就明白了。
>> x=linspace(-2, 2, 5)
x =
-2 -1 0 1 2
>> y=x
y =
-2 -1 0 1 2
>> [xx,yy]=meshgrid(x, y)
xx =
-2 -1 0 1 2
-2 -1 0 1 2
-2 -1 0 1 2
-2 -1 0 1 2
-2 -1 0 1 2
yy =
-2 -2 -2 -2 -2
-1 -1 -1 -1 -1
0 0 0 0 0
1 1 1 1 1
2 2 2 2 2
>> zz=xx.*exp(-xx.^2-yy.^2)
zz =
-0.0007 -0.0067 0 0.0067 0.0007
-0.0135 -0.1353 0 0.1353 0.0135
-0.0366 -0.3679 0 0.3679 0.0366
-0.0135 -0.1353 0 0.1353 0.0135
-0.0007 -0.0067 0 0.0067 0.0007
surf(x,y,z)中三个参数必须都是相同维