MATLAB: How to plot contour with constraints

contour plot

% I have following equations. I want to see variation of cp(si1,si2) with si1 and si2 with following constraints
% constraints are , gamma> max(0 -alpha) and gamma+ beta < 0
% I have written following code, but is giving wrong results. Code is giving value of cp in the range of 0 to 140 but it should around 0 to 2.5
% I have attached the for expected output. But I am getting completely wrong result.
clear all
Cpe=-0.6
lamdan=0.5
lamdad=0.5952
lamda12=0.84
nd=0.9
n12=0.9
nn=0.7
alpha= nn+lamdan^2*(1-nn)-n12*(1-lamda12^2)-nd*lamda12^2*(1-lamdad^2)
beta= alpha+ ((lamdad^2*lamda12^2*(1-Cpe))/Cpe)
[si1 si2] = meshgrid(0:0.1:1, 0:0.1:1);
gamma=si1+(si2*lamda12^2)
cp= gamma*((1-Cpe)./(gamma+alpha)).^1.5
keepind = gamma+ beta > 0
si1(keepind) = NaN
si2(keepind) = NaN
contourf(si1, si2, cp)

Best Answer

Cpe=-0.6;
lamdan=0.5;
lamdad=0.5952;
lamda12=0.84;
nd=0.9;
n12=0.9;
nn=0.7;
si1 = linspace(0,1) ;
si2 = linspace(0,1) ;
[si1,si2] = meshgrid(si1,si2) ;
alpha= nn+lamdan.^2*(1-nn)-n12*(1-lamda12.^2)-nd*lamda12.^2*(1-lamdad.^2) ;
beta= alpha+ ((lamdad.^2*lamda12.^2*(1-Cpe))./Cpe) ;
gamma=si1+si2*lamda12.^2+alpha ;
cp= (si1+si2*lamda12.^2)*((1-Cpe)./(si1+si2*lamda12.^2+alpha)).^1.5 ;
contour(si1,si2,cp)
Related Question