function DrawMarginalDistributions(P,RangeParameters2,nbins,NumberParameters,label,position,ForwardModel) SourceType=ForwardModel(1); if SourceType==2||SourceType==3||SourceType==4 SourceRotation=ForwardModel(2); end % Conversion from m to km for i=1:NumberParameters if i==NumberParameters&&SourceType==1 % DeltaV in the sphere RangeParameters2(:,i)=RangeParameters2(:,i)/10^9; P(:,i)=P(:,i)/10^9; elseif i==NumberParameters&&(SourceType==2||SourceType==3||SourceType==4||SourceType==5) % eps_0 in the other sources RangeParameters2(:,i)=RangeParameters2(:,i); P(:,i)=P(:,i); elseif ((i==1||i==2||i==3||i==4||i==5||i==6)&&(SourceType==2||SourceType==4))||((i==1||i==2||i==3||i==4||i==5)&&(SourceType==3||SourceType==5))||((i==1||i==2||i==3)&&SourceType==1) RangeParameters2(:,i)=RangeParameters2(:,i)/10^3; P(:,i)=P(:,i)/10^3; elseif (SourceType==2||SourceType==3||SourceType==4)&&(SourceRotation==1) if (i==NumberParameters-1||i==NumberParameters-2||i==NumberParameters-3)&&(SourceType==2||SourceType==3||SourceType==4) % rotation angle RangeParameters2(:,i)=RangeParameters2(:,i); P(:,i)=P(:,i); end end end for i=1:NumberParameters % row index for j=1:NumberParameters % column index %% histograms plot if j==i % position fig=subplot(NumberParameters,NumberParameters,(i-1)*NumberParameters+i); % fig.Position=[0.07+(j-1)*0.085, 0.85-(i-1)*0.07, 0.06 0.04]; h=histogram(P(:,i),nbins); hold on plot(ones(1,length([0:0.01:max(h.Values)]))*P(position,i),[0:0.01:max(h.Values)],'Color',[0.8500 0.3250 0.0980],'LineWidth',2.5) % optimum value xlim([RangeParameters2(1,i) RangeParameters2(2,i)]); set(gca,'TickDir','out'); set(gca,'TickLength',[0.02,0.025]) set(gca,'Fontsize',12) set(gca,'linewidth',1.0) yticks([]) if i==1 set(gca,'xaxisLocation','top') xlabel(label(i),'color','blue','Interpreter','latex','FontSize',18) else set(gca,'XTickLabel',['';'']); end % legend size lgd.FontSize=5; end %% contour plot if j>i % position fig=subplot(NumberParameters,NumberParameters,(i-1)*NumberParameters+j); % fig.Position=[0.07+(j-1)*0.085, 0.85-(i-1)*0.07, 0.06 0.04]; plot([RangeParameters2(1,j) RangeParameters2(2,j)],[P(position,i) P(position,i)],'Color',[.7 .7 .7],'LineStyle','-.') hold on plot([P(position,j) P(position,j)],[RangeParameters2(1,i) RangeParameters2(2,i)],'Color',[.7 .7 .7],'LineStyle','-.') hold on [h,bins]=hist3([P(:,j),P(:,i)]); contour(bins{1},bins{2},h','LineWidth',1.5); hold on plot(P(position,j),P(position,i),'k.','MarkerSize',10.0) set(gca,'TickDir','out'); set(gca,'TickLength',[0.02,0.025]) set(gca,'Fontsize',12) set(gca,'linewidth',1.0) colormap(parula(10)) xlim([RangeParameters2(1,j) RangeParameters2(2,j)]); ylim([RangeParameters2(1,i) RangeParameters2(2,i)]); if i==1 set(gca,'xaxisLocation','top') xlabel(label(j),'Color','blue','Interpreter','latex','FontSize',18) else set(gca,'XTickLabel',['';'']); end if j==NumberParameters set(gca,'yaxisLocation','right') ylabel(label(i),'Color','blue','Interpreter','latex','FontSize',18) else set(gca,'YTickLabel',['';'']); end end end end