chentaocuc 发表于 2008-9-17 21:18

没有做网格怎么画三维图?

以下是我要进行画图的数据。
coorxy里面存的是(x,y)坐标的信息,第一列是x,第二列是y。
u存的是函数值。
共有121个点。
请问我如何画出曲面来?
我用plot3命令得出了曲面的大概形状,但是并没有办法得到一张曲面图。

% c ............... coor
coorxy=[
0 0 ;
0 0.05 ;
0.05 0 ;
0.05 0.05 ;
0 0.1 ;
0.1 0 ;
0.05 0.1 ;
0.1 0.05 ;
0.1 0.1 ;
0.15 0 ;
0 0.15 ;
0.15 0.05 ;
0.05 0.15 ;
0.15 0.1 ;
0.1 0.15 ;
0.2 0 ;
0 0.2 ;
0.05 0.2 ;
0.2 0.05 ;
0.15 0.15 ;
0.2 0.1 ;
0.1 0.2 ;
0.25 0 ;
0 0.25 ;
0.15 0.2 ;
0.2 0.15 ;
0.25 0.05 ;
0.05 0.25 ;
0.1 0.25 ;
0.25 0.1 ;
0.2 0.2 ;
0.15 0.25 ;
0.25 0.15 ;
0 0.3 ;
0.3 0 ;
0.05 0.3 ;
0.3 0.05 ;
0.3 0.1 ;
0.1 0.3 ;
0.2 0.25 ;
0.25 0.2 ;
0.3 0.15 ;
0.15 0.3 ;
0 0.35 ;
0.35 0 ;
0.05 0.35 ;
0.25 0.25 ;
0.35 0.05 ;
0.3 0.2 ;
0.2 0.3 ;
0.1 0.35 ;
0.35 0.1 ;
0.15 0.35 ;
0.35 0.15 ;
0.25 0.3 ;
0.3 0.25 ;
0 0.4 ;
0.4 0 ;
0.05 0.4 ;
0.2 0.35 ;
0.35 0.2 ;
0.4 0.05 ;
0.1 0.4 ;
0.4 0.1 ;
0.3 0.3 ;
0.4 0.15 ;
0.15 0.4 ;
0.25 0.35 ;
0.35 0.25 ;
0.2 0.4 ;
0.4 0.2 ;
0.45 0 ;
0 0.45 ;
0.45 0.05 ;
0.05 0.45 ;
0.35 0.3 ;
0.1 0.45 ;
0.3 0.35 ;
0.45 0.1 ;
0.25 0.4 ;
0.4 0.25 ;
0.45 0.15 ;
0.15 0.45 ;
0.45 0.2 ;
0.2 0.45 ;
0.35 0.35 ;
0.5 0 ;
0 0.5 ;
0.3 0.4 ;
0.4 0.3 ;
0.05 0.5 ;
0.5 0.05 ;
0.1 0.5 ;
0.5 0.1 ;
0.25 0.45 ;
0.45 0.25 ;
0.5 0.15 ;
0.15 0.5 ;
0.35 0.4 ;
0.4 0.35 ;
0.2 0.5 ;
0.5 0.2 ;
0.3 0.45 ;
0.45 0.3 ;
0.25 0.5 ;
0.5 0.25 ;
0.4 0.4 ;
0.35 0.45 ;
0.45 0.35 ;
0.5 0.3 ;
0.3 0.5 ;
0.4 0.45 ;
0.45 0.4 ;
0.5 0.35 ;
0.35 0.5 ;
0.45 0.45 ;
0.5 0.4 ;
0.4 0.5 ;
0.5 0.45 ;
0.45 0.5 ;
0.5 0.5 ;
];

% c ............... disp0 for field modela
u=[
0
0
0
1.1075
0
0
2.33065
2.09934
4.41237
0
0
2.8775
3.80274
6.03909
7.18041
0
0
5.69988
3.37157
9.79839
7.06811
10.7081
0
0
14.5318
11.4422
3.54067
8.28866
15.4204
7.41953
16.9012
20.7196
12.0012
0
0
12.0344
3.37157
7.06811
21.9651
23.9299
17.7009
11.4422
28.9963
0
0
17.8837
25
2.8775
16.9012
33.0988
31.4095
6.03909
40.2016
9.79839
34.4393
23.9299
0
0
28.091
45.0296
14.5318
2.09934
45.5876
4.41237
33.0988
7.18041
55.371
46.5596
20.7196
60.2586
10.7081
0
0
1.1075
48.8925
28.9963
67.479
45.0296
2.33065
61.7397
15.4204
3.80274
75.436
5.69988
78.8942
40.2016
0
0
60.2586
21.9651
100
0
100
0
79.882
8.28866
0
100
55.371
31.4095
100
0
78.8942
12.0344
100
0
45.5876
75.436
17.8837
0
100
67.479
28.091
0
100
48.8925
0
100
0
100
0
];

giftdreamer 发表于 2008-9-17 21:29

clc
clear
x=;
y=;
z=;
=meshgrid(x,y);
z1=griddata(x,y,z,x1,y1,'v4');
mesh(x1,y1,z1)
:lol 新鲜出炉一个例子,o(∩_∩)o...,关键是用griddata命令!

无水1324 发表于 2008-9-17 22:13

回复 沙发 giftdreamer 的帖子


这个实现方法确实比较好,学习了
页: [1]
查看完整版本: 没有做网格怎么画三维图?