MATLAB 4D作图
效果:
生成程序:
clear
close all
clcK = 100;
% k = 1;Matric = zeros(8,8);
% Matric_3D = zeros(9,8,8);
% Matric_3D = zeros(6,7,7);
Matric_3D = zeros(7,7,6);
for k =1:6for Di=1:7for Dj=Di:7disp(["Di:", Di," Dj:", Dj])T = Di*Dj/(K-Di-Dj+1);P_a_00 = 0;P_a_11 = 0;P_a_0 = 0;P_a_1 = 0;for x=0:DiP_a_0 = P_a_0 + nchoosek(Di, x)*nchoosek(2*k,1)*nchoosek(K-Di*(1+2*k)+(2*k-1)*x,Dj-x);endfor x=1:DiP_a_1 = P_a_1 + nchoosek(Di-1,x-1)*nchoosek(2*k,1)*nchoosek(K-Di*(1+2*k)+(2*k-1)*(x-1)+2*k,Dj-x);endfor x=0:floor(T)P_a_00 = P_a_00 + nchoosek(Di, x)*nchoosek(2*k,1)*nchoosek(K-Di*(1+2*k)+(2*k-1)*x,Dj-x)/P_a_0;endfor x=ceil(T):DiP_a_11 = P_a_11 + nchoosek(Di-1,x-1)*nchoosek(2*k,1)*nchoosek(K-Di*(1+2*k)+(2*k-1)*(x-1)+2*k,Dj-x)/P_a_1;endP_a_true = 0.5*(P_a_00 + P_a_11);Matric_3D(Di,Dj,k)=P_a_true;Matric_3D(Dj,Di,k)=P_a_true;endend
end[X, Y, Z] = meshgrid( 1:7,1:7, 1:6); % 坐标
% 绘制切片图
figure;h = slice(X, Y, Z, Matric_3D, [1,7], [1,7], [1,6]);
box on
shading interp; % 插值显示
colorbar; % 添加颜色条
xlabel('X'); ylabel('Y'); zlabel('Z');set(h,"EdgeColor","none")
box on
grid onhold onplot3(1 * ones(1, 7), 1 * ones(1, 7),1:7, 'black', 'LineWidth', 0.5);
plot3(1:7,1 * ones(1, 7), 6 * ones(1, 7), 'black', 'LineWidth', 0.5);
plot3(1 * ones(1, 7), 1:7, 6 * ones(1, 7), 'black', 'LineWidth', 0.5); plot3(7 * ones(1, 7), 1 * ones(1, 7),1:7, 'black', 'LineWidth', 0.5);
plot3(1:7,7 * ones(1, 7), 6 * ones(1, 7), 'black', 'LineWidth', 0.5);
plot3(7 * ones(1, 7), 1:7, 6 * ones(1, 7), 'black', 'LineWidth', 0.5); xlim([1,7])
ylim([1,7])
zlim([1,6])xlabel("Di")
ylabel("Dj")
zlabel("k")
变量形状: