matlab中怎样把图示的涡流场每一层用不同的颜色表示出来(从上往下流速变笑),并且每一层颜色渐变(中心往外流速变大),并且将三维的切片处理,把每层的平面图显示出来?

变为

涡流场代码:
clear
clc
% 参数设置
x_range = -50:10:50;
y_range = -50:10:50;
z_range = -500:150:0;
% 创建坐标网格
[X, Y, Z] = meshgrid(x_range, y_range, z_range);
% 标准化处理涡内距离
R = sqrt(X.^2 + Y.^2) / max(max(x_range), max(y_range));
% 参数值
a0 = 0.35;
a1 = 0.15;
a2 = 0.00;
a3 = 0.30;
a4 = -0.10;
b0 = 0.02;
b1 = 0.08;
b2 = -0.16;
b3 = -0.12;
b4 = -0.02;
% 计算涡旋的方位速度和径向速度
uf = a0 + a1 * R + a2 * (2 * R.^2 - 1) + a3 * (4 * R - 3 * R.^2) + a4 * (8 * R.^2 - 8 * R.^3 + R);
up = b0 + b1 * R + b2 * (2 * R.^2 - 1) + b3 * (4 * R - 3 * R.^2) + b4 * (8 * R.^2 - 8 * R.^3 + R);
% 计算方位角度
delta = atan2(Y, X);
% 计算水平流速在x轴和y轴方向的分量
U_x = uf .* sin(delta) + up .* cos(delta);
U_y = -uf .* cos(delta) + up .* sin(delta);
% 计算垂直流速
W = -5e-5 * Z + 0.1;
% 不显示最中心的箭头
U_x((size(U_x, 1)+1)/2, (size(U_x, 2)+1)/2, :) = NaN;
U_y((size(U_y, 1)+1)/2, (size(U_y, 2)+1)/2, :) = NaN;
W((size(W, 1)+1)/2, (size(W, 2)+1)/2, :) = NaN;
% 绘制三维矢量场
quiver3(X, Y, Z, U_x, U_y, W);
xlabel('X (东)');
ylabel('Y (北)');
zlabel('Z (深)');
title('中尺度涡流场三维模型');