用matlab,3组数据画三个曲面,代码如下:
>> x=[0.75 0.75 0.8 0.85 0.9 0.95 0.85 0.85 0.9 0.95 1 1.05 0.9 0.9 0.95 1 1.2 1.3];
>> y=[0.25 1 2 4 8 10 0.25 1 2 4 8 10 0.25 1 2 4 8 10];
z=[5 5 5 5 5 5 25 25 25 25 25 25 50 50 50 50 50 50];
[X,Y]=meshgrid(0.7:0.005:1.3,0.25:0.005:10);
>> Z=griddata(x,y,z,X,Y);
mesh(X,Y,Z)
hold on
plot3(x,y,z,'*')
surf(X,Y,Z)
shading interp;
>> x=[0.7 0.7 0.75 0.8 0.85 0.9 0.75 0.75 0.8 0.85 0.9 0.95];
>> y=[0.25 1 2 4 8 10 0.25 1 2 4 8 10];
>> z=[5 5 5 5 5 5 25 25 25 25 25 25];
>> [X,Y]=meshgrid(0.7:0.005:0.95,0.25:0.005:10);
>> Z=griddata(x,y,z,X,Y);
mesh(X,Y,Z)
hold on
plot3(x,y,z,'*')
surf(X,Y,Z)
shading interp;
>> x=[0.75 0.75 0.8 0.85 0.9 0.95 0.75 0.75 0.8 0.85 0.9 0.95];
>> y=[0.25 1 2 4 8 10 0.25 1 2 4 8 10];
>> z=[25 25 25 25 25 25 50 50 50 50 50 50];
>> [X,Y]=meshgrid(0.75:0.005:0.95,0.25:0.005:10);
>> Z=griddata(x,y,z,X,Y);
警告: 检测到并删除了重复的数据点 - 已计算对应值的平均值。
> In griddata>useScatteredInterp at 184
In griddata at 125
>> mesh(X,Y,Z)
hold on
plot3(x,y,z,'*')
surf(X,Y,Z)
shading interp;
>> 总是警告有重复数据点,然后最后一个面画的不对,请教如何画好这三个面,重谢~
小白一个,这是按着网上依葫芦画瓢画的面,面也不是很光滑,有大神有更好的代码的话,不吝赐教。
|
|