ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Matlab绘制切片图和切片等位线图

2021-10-13 12:59:18  阅读:216  来源: 互联网

标签:12 R0 figure min max 射流 切片 等位 Matlab


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

%% ======切片图和切片等位线图=======

%利用 slice 和 contourslice 表现 MATLAB 提供的无限大水体中水下射流速度数据 flow 。 flow 是一组定义在三维空间上的函数数据。

%在本例中,从图中的色标尺可知,深红色表示“正速度”(向图的左方),深蓝表示“负速度”(向图的右方)。

% 以下指令用切面上的色彩表现射流速度

[X,Y,Z,V]=flow; % 取 4 个 的射流数据矩阵, V 是射流速度。

x1=min(min(min(X)));x2=max(max(max(X))); % 取 x 坐标上下限

y1=min(min(min(Y)));y2=max(max(max(Y))); % 取 y 坐标上下限

z1=min(min(min(Z)));z2=max(max(max(Z))); % 取 z 坐标上下限

sx=linspace(x1+1.2,x2,5); % 确定 5 个垂直 x 轴的切面坐标

sy=0; % 在 y=0 处,取垂直 y 轴的切面

sz=0; % 在 z=0 处,取垂直 z 轴的切面

figure;

slice(X,Y,Z,V,sx,sy,sz); % 画切片图

view([-12,30]);shading interp;colormap jet;axis off;colorbar;

% 以下指令用等位线表现射流速度

v1=min(min(min(V)));v2=max(max(max(V))); % 射流速度上下限

cv=linspace(v1,v2,15); % 在射流上下限之间取 15 条等位线

figure;

contourslice(X,Y,Z,V,sx,sy,sz,cv);view([-12,30]);

colormap jet;colorbar;box on;

下面两段程序均不便上图,自己拿到Matlab里面运行一下看效果吧。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

%% =======动态图形=========

%简单二维示例-彗星状轨迹图

figure;

n=10;t=n*pi*(0:0.0005:1);x=sin(t);y=cos(t);

plot(x,y,'g');axis square;hold on

comet(x,y,0.01);hold off

%卫星返回地球的运动轨线示意

figure;

R0=1; % 以地球半径为一个单位

a=12*R0;b=9*R0;T0=2*pi; %T0 是轨道周期

T=5*T0;dt=pi/100;t=[0:dt:T]';

f=sqrt(a^2-b^2); % 地球与另一焦点的距离

th=12.5*pi/180; % 卫星轨道与 x-y 平面的倾角

E=exp(-t/20); % 轨道收缩率

x=E.*(a*cos(t)-f);y=E.*(b*cos(th)*sin(t));z=E.*(b*sin(th)*sin(t));

plot3(x,y,z,'g') % 画全程轨线

[X,Y,Z]=sphere(30);X=R0*X;Y=R0*Y;Z=R0*Z; % 获得单位球坐标

grid on,hold on,surf(X,Y,Z),shading interp % 画地球

x1=-18*R0;x2=6*R0;y1=-12*R0;y2=12*R0;z1=-6*R0;z2=6*R0;

axis([x1 x2 y1 y2 z1 z2]) % 确定坐标范围

view([117 37]),comet3(x,y,z,0.02),hold off % 设视角、画运动轨线

%色彩变幻‘在 256 色情况下,才可被正确执行.图片刷新可能会卡,单独执行spinmap可查看到效果

figure;

peaks;

spinmap;

1

2

3

4

5

6

7

8

9

10

11

12

%% =======影片动画 =======

%三维图形的影片动画

figure;

shg,x=3*pi*(-1:0.05:1);y=x;[X,Y]=meshgrid(x,y);

R=sqrt(X.^2+Y.^2)+eps; Z=sin(R)./R;

h=surf(X,Y,Z);colormap(cool);axis off

n=12;mmm=moviein(n); %预设画面矩阵。新版完全可以取消此指令 。

for i=1:n

rotate(h,[0 0 1],25); %是图形绕 z 轴旋转 25 度 / 每次

mmm(:,i)=getframe; %捕获画面。新版改为 mmm(i)=getframe 。

end

movie(mmm,5,10) %以每秒10帧速度,重复播放5

标签:12,R0,figure,min,max,射流,切片,等位,Matlab
来源: https://blog.csdn.net/qq_59747472/article/details/120741666

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有