Error during contour plot
3 次查看(过去 30 天)
显示 更早的评论
Hi,
While trying to generate a contour plot, I'm getting an error which is thown as
"The size of X must match the size of Z or the number of columns of Z."
while the size of my X (i.e. H0) and Z (i.e. I0) is same, I can't find why is the error thrown.
rowx1 = 1;
rowx2 = 100;
rowt1 = 1;
rowt2 = 100;
xstep = 100;
tstep = 100;
X_pedped = zeros(tstep,xstep);
Time = data.variable.t(1,rowt1:rowt2);
gP = data.variable.gradpressure(end,:);
Normalized_pressure_gradient = gP./abs(min(gP));
x = data.variable.x(1,rowx1:rowx2);
for i = 1:length(data.variable.x)-1
percentage_difference_gP(i) = abs(Normalized_pressure_gradient(end,i+1)-Normalized_pressure_gradient(end,i))*200/abs(Normalized_pressure_gradient(end,i+1)+Normalized_pressure_gradient(end,i));
end
for i = 2:rowx2
if abs((2*abs(gP(i-1)-gP(i))/(gP(i-1)+gP(i)))*100) > 90
X_pedped(i) = gP(i);
end
end
Index_ped = find(X_pedped~=0);
gPressure_ped = abs(data.variable.gradpressure(rowt1:rowt2));
Pressure_ped = abs(data.variable.pressure(rowt1:rowt2));
Density_ped = abs(data.variable.density(rowt1:rowt2));
turbulenceintensity_ped = abs(data.variable.turbulenceintensity(rowt1:rowt2));
Pressure_cen = abs(data.variable.pressure(rowt1:rowt2,1));
Density_cen = abs(data.variable.density(rowt1:rowt2,1));
turbulenceintensity_cen = abs(data.variable.turbulenceintensity(rowt1:rowt2,1));
for i = rowt1:rowt2
Flowshear_p(i-rowt1+1,1) = mean(abs(data.variable.wexb_p(i,1:end)));
Flowshear_n(i-rowt1+1,1) = mean(abs(data.variable.wexb_n(i,1:end)));
end
Y=0;
tstep = rowt2-rowt1+1;
tmax=Time(end)-Time(1);
T=tmax/tstep;
Fs= 1/T;
p_cen = Pressure_cen;
Y = fftshift(fft(p_cen));
%Y1=fft(p_cen);
L = length(Y);
Ynew = 2*abs(Y(2:length(Y)/2-1)/L);
f = Fs*(0:L/2-3)/L;
Ynew_NA = Ynew/max(Ynew);
[value, index] = max(Ynew(:,1));
Frequency = f(1,index);
for j = 2:rowt2
if j < rowt2
if Pressure_cen(j-1) < Pressure_cen(j) && Pressure_cen(j) > Pressure_cen(j+1)
Pressure_ped_MAX(j) = Pressure_ped(j);
Density_ped_MAX(j) = Density_ped(j);
turbulenceintensity_ped_MAX(j) = turbulenceintensity_ped(j);
Flowshear_p_MAX(j) = Flowshear_p(j);
Flowshear_n_MAX(j) = Flowshear_n(j);
Pressure_cen_MAX(j) = Pressure_cen(j);
Density_cen_MAX(j) = Density_cen(j);
turbulenceintensity_cen_MAX(j) = turbulenceintensity_cen(j);
Time_MAX(j) = Time(j);
end
if gPressure_ped(j-1) < gPressure_ped(j) && gPressure_ped(j) > gPressure_ped(j+1)
gPressure_ped_MAX(j) = gPressure_ped(j);
end
if Pressure_cen(j-1) > Pressure_cen(j) && Pressure_cen(j) < Pressure_cen(j+1)
Pressure_ped_MIN(j) = Pressure_ped(j);
Density_ped_MIN(j) = Density_ped(j);
turbulenceintensity_ped_MIN(j) = turbulenceintensity_ped(j);
Flowshear_p_MIN(j) = Flowshear_p(j);
Flowshear_n_MIN(j) = Flowshear_n(j);
gPressure_ped_MIN(j) = gPressure_ped(j);
Pressure_cen_MIN(j) = Pressure_cen(j);
Density_cen_MIN(j) = Density_cen(j);
turbulenceintensity_cen_MIN(j) = turbulenceintensity_cen(j);
Time_MIN(j) = Time(j);
end
if gPressure_ped(j-1) > gPressure_ped(j) && gPressure_ped(j) < gPressure_ped(j+1)
gPressure_ped_MIN(j) = gPressure_ped(j);
end
end
end
%---------------------------- data calculation ----------------------------
check_Hmode_percentage_difference_gP = max(percentage_difference_gP);
Avg_Pressure_ped = mean(Pressure_ped);
Avg_Density_ped = mean(Density_ped);
Avg_turbulenceintensity_ped = mean(turbulenceintensity_ped);
Avg_Pressure_cen = mean(Pressure_cen);
Avg_Density_cen = mean(Density_cen);
Avg_turbulenceintensity_cen = mean(turbulenceintensity_cen);
Avg_Flowshear_p = mean(Flowshear_p);
Avg_Flowshear_n = mean(Flowshear_n);
H0 = abs(data.constant.H0);
S0 = abs(data.constant.S0);
Chi0 = abs(data.constant.chi0);
Chi1 = abs(data.constant.chi1);
D0 = abs(data.constant.D0);
D1 = abs(data.constant.D1);
H0_12bi_024 = [Avg_Pressure_ped Avg_Density_ped Avg_turbulenceintensity_ped; Avg_Pressure_cen Avg_Density_cen Avg_turbulenceintensity_cen;
H0 S0 Chi0 ; Chi1 D0 D1;Avg_Flowshear_p Avg_Flowshear_n 0 ];
%-------------------------------Contour data H0 vs I0-------------------------------------
H0I0_Pressure_cen = [H0_27bi_001(2,1) H0_27bi_002(2,1) H0_27bi_003(2,1) H0_27bi_004(2,1) H0_27bi_005(2,1) H0_27bi_006(2,1) H0_27bi_007(2,1) H0_04bi_008(2,1);
H0_01bi_009(2,1) H0_01bi_010(2,1) H0_02bi_011(2,1) H0_03bi_012(2,1) H0_04bi_013(2,1) H0_05bi_014(2,1) H0_12bi_015(2,1) H0_12bi_016(2,1);
H0_15bi_017(2,1) H0_17bi_018(2,1) H0_21bi_019(2,1) H0_12bi_020(2,1) H0_12bi_021(2,1) H0_12bi_022(2,1) H0_12bi_023(2,1) H0_12bi_024(2,1)];
H0I0_Density_cen = [H0_27bi_001(2,2) H0_27bi_002(2,2) H0_27bi_003(2,2) H0_27bi_004(2,2) H0_27bi_005(2,2) H0_27bi_006(2,2) H0_27bi_007(2,2) H0_04bi_008(2,2);
H0_01bi_009(2,2) H0_01bi_010(2,2) H0_02bi_011(2,2) H0_03bi_012(2,2) H0_04bi_013(2,2) H0_05bi_014(2,2) H0_12bi_015(2,2) H0_12bi_016(2,2);
H0_15bi_017(2,2) H0_17bi_018(2,2) H0_21bi_019(2,2) H0_12bi_020(2,2) H0_12bi_021(2,2) H0_12bi_022(2,2) H0_12bi_023(2,2) H0_12bi_024(2,2)];
H0I0_Pressure_ped = [H0_27bi_001(1,1) H0_27bi_002(1,1) H0_27bi_003(1,1) H0_27bi_004(1,1) H0_27bi_005(1,1) H0_27bi_006(1,1) H0_27bi_007(1,1) H0_04bi_008(1,1);
H0_01bi_009(1,1) H0_01bi_010(1,1) H0_02bi_011(1,1) H0_03bi_012(1,1) H0_04bi_013(1,1) H0_05bi_014(1,1) H0_12bi_015(1,1) H0_12bi_016(1,1);
H0_15bi_017(1,1) H0_17bi_018(1,1) H0_21bi_019(1,1) H0_12bi_020(1,1) H0_12bi_021(1,1) H0_12bi_022(1,1) H0_12bi_023(1,1) H0_12bi_024(1,1)];
H0I0_Density_ped = [H0_27bi_001(1,2) H0_27bi_002(1,2) H0_27bi_003(1,2) H0_27bi_004(1,2) H0_27bi_005(1,2) H0_27bi_006(1,2) H0_27bi_007(1,2) H0_04bi_008(1,2);
H0_01bi_009(1,2) H0_01bi_010(1,2) H0_02bi_011(1,2) H0_03bi_012(1,2) H0_04bi_013(1,2) H0_05bi_014(1,2) H0_12bi_015(1,2) H0_12bi_016(1,2);
H0_15bi_017(1,2) H0_17bi_018(1,2) H0_21bi_019(1,2) H0_12bi_020(1,2) H0_12bi_021(1,2) H0_12bi_022(1,2) H0_12bi_023(1,2) H0_12bi_024(1,2)];
H0I0_Pressure_cen2 = smoothdata(H0I0_Pressure_cen); % adapt the smoothing amount to your needs...
H0I0_Density_cen2 = smoothdata(H0I0_Density_cen); % adapt the smoothing amount to your needs...
H0I0_Pressure_ped2 = smoothdata(H0I0_Pressure_ped); % adapt the smoothing amount to your needs...
H0I0_Density_ped2 = smoothdata(H0I0_Density_ped); % adapt the smoothing amount to your needs...
H00 = 4:1:13;
I00 = 7:-0.5:5;
[H0,I0] = meshgrid(H00,I00);
contourf(H0,I0,H0I0_Pressure_cen2,1000,'edgecolor','none')
colormap(jet);
colorbar;
Attached is the code and data file.
rgds
1 个评论
Star Strider
2024-4-5
Please describe what you want to do. Most of the fileds in ‘data.variable’ are (100x100) matrices, so they would be usable in a contour plot. None of the variables after the ‘Contour data H0 vs I0’ comment are defined in your posted code.
采纳的回答
Walter Roberson
2024-4-5
the first parameter to contourf is the x data, which corresponds to columns. the second parameter to contourf is y data which corresponds to rows
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Contour Plots 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!