matlab三维散点图和曲面图的绘制

matlab三维散点图和曲面图的绘制,第1张

dv/dt=-KS
由于v=2/3pir^3,S=2pir^2
得dv/dt=2pir^2dr/dt
有2pir^2dr/dt=-K2pir^2
得dr/dt=-K
r=-Kt+C
将t=0时,r=r0代入,得C=r0
即r=r0-Kt
3小时后,体积融化了7/8,即现体积为原体积的1/8
而v=2/3pir^3,可得r2/r1=1/2
将t=3,r=1/2r1代入 r=r0-Kt

K=r0/6;
于是 r=r0-r0/6t
令r=0,可得t=6
即6小时内全化掉

x=[152 303 327 42 093 -42 -327 -303 -152 11 115 12 125 13 135 14 145 15 155 16 165 17 175 18 185 19 195 2 205 21 215 22 225 23 235 24 245 25 255];
y=[08 21 46 71 84 71 46 21 08 160 30 20 130 50 100 110 80 90 60 70 120 40 150 140 10 30 50 70 20 120 50 340 60 70 230 120 30 50 190];
z=[216 24 269 382 302 268 25 248 231 23201 26470 29070 32885 36008 39090 38147 35191 34232 33275 32456 31234 30234 2978 2843 2765 2654 2555 2433 2321 30169 30432 30269 28929 28066 33131 27146 30269 28929 28066];
scatter(x,y,5,z)%散点图
figure
[X,Y,Z]=griddata(x,y,z,linspace(-42,42)',linspace(08,34),'v4');%插值
pcolor(X,Y,Z);shading interp%伪彩色图
figure,contourf(X,Y,Z) %等高线图
figure,surf(X,Y,Z)%三维曲面
那个写错了
[X,Y,Z]=griddata(x,y,z,linspace(-42,42)',linspace(08,34),'v4');%插值
-42,42 x的最小最大值
08,34 y的最小最大值
v4 matlab的插值算法

A=[-00028 86558 57848 -00011
00383 86387 57478 0003
00408 87065 57868 -00029
00917 87935 58132 00002
00835 88024 58253 00008
00214 87688 58466 -00015
-00003 88133 59010 00012
-00647 87683 59237 -00020
-00494 87323 58732 00023
-01151 86516 58789 0001];
x=A(:,1);y=A(:,2);z=A(:,3);c=A(:,4)
[X,Y,Z]=griddata(x,y,z,linspace(min(x),max(x))',linspace(min(y),max(y)),'v4');%插值
[X,Y,C]=griddata(x,y,c,linspace(min(x),max(x))',linspace(min(y),max(y)),'v4');%插值
figure,surfc(X,Y,Z,C)
caxis([min(c) max(c)])

为了直观表达我们所求的结果,我们喜欢用图像来表达。对于图像来说分类很多,如散点图,连续图,等高图等等。往往我们习惯把理论图像和模拟图像画在同一个图像,用来区分理论和模拟的吻合程度。
开启分步阅读模式
工具材料:
matlab
*** 作方法
01
scatter(X,Y,S,C),这是matlab画散点图的命令;这里X,Y是画散点图的数据。 其中S为大小,系统默认大小为50,C表示所画图的颜色。
02
x=1:005:10;

scatter(x,sin(x),100,'r')



这里通过散点画的是一个sinx 的图像,这里100表示所画图像点的大小,r代表标记散点的颜色。
03
scatter(X,Y)这个是默认画散点图的方法,一切设置按系统默认!X,Y表示散点图的X,Y坐标。下图的命令。
x=1:005:10;
scatter(x,cos(x))
04
scatter(X,Y,S) 这里所画的散点图,可以调节对应的大小。也就是说可以通过S这个参数调节标记点的大小。下图是我们将S=1000设置为1000的图像。scatter(,M)更改标记的图形,默认是圆圈标记。如果需要用其他符号标记可以在这里修改。
scatter(,'s') ;通过方形标记。
注意别忘了添加单引号。
02
scatter(,'filled') 通过实心图像来标记。 前面的介绍中,一直是空心符号标记的。
03
scatter3: 立体散点图的画法,具体命令如下。
[x,y,z] = sphere(16);
X = [x(:)5 x(:)75 x(:)];
Y = [y(:)5 y(:)75 y(:)];
Z = [z(:)5 z(:)75 z(:)];
S = repmat([1 75 5]10,numel(x),1);
C = repmat([1 2 3],numel(x),1);
scatter3(X(:),Y(:),Z(:),S(:),C(:),'filled'), view(-60,60)

采用插值法
参考
知道了一些点(x,y,z)坐标,怎样用MATLAB绘制出三维曲面
至于做出拟合函数z=f(x,y)
可以输入sftool启动曲面拟合工具箱,输入xyz数据
选用合适的函数拟合

x=[7458
11646
12641
14000
14207
15140
16440
10022
9333]
y=[9820
9381
9560
8970
9980
11101
13232
12204
14631]
z=[36
14
11
14
14
30
24
5
4]
[X,Y,Z]=griddata(x,y,z,linspace(7458,16440)',linspace(8920,14631),'v4');
surf(X,Y,Z);
数学建模刚用到····


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/13327606.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-15
下一篇 2023-07-15

发表评论

登录后才能评论

评论列表(0条)

保存