MATLAB 4D作图

发布于:2025-06-28 ⋅ 阅读:(21) ⋅ 点赞:(0)

效果:

生成程序:

clear
close all
clc

K = 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:6
    for Di=1:7
        for Dj=Di:7
            disp(["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:Di
                P_a_0 = P_a_0 + nchoosek(Di, x)*nchoosek(2*k,1)*nchoosek(K-Di*(1+2*k)+(2*k-1)*x,Dj-x);
            end
            
            for x=1:Di
                P_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);
            end
            
            
            for 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;
                
            end
            for x=ceil(T):Di
                P_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;
            end
            
            
            P_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;
            
        end
    end
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 on

hold on

plot3(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")

变量形状:


网站公告

今日签到

点亮在社区的每一天
去签到