How to plot contour with constraints

% 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)

3 Comments

si1 and si2 are not defined....
Sorry , range for si1 and si2 is 0 to 1
0 < si1 < 1
0< si2 <1
I want to see variation of cp within the above range of si1 and si2

Sign in to comment.

 Accepted 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)

4 Comments

But I want to add stated constraints in that
gamma> max(0 -alpha) and gamma+ beta < 0 are the constraints
But you are not using gamma and beta in cp.
gamma and beta are the functions of si1 and si2. Sir, my problem is solved. Your help is greatly appreciated. Thank you.

Sign in to comment.

More Answers (0)

Categories

Asked:

on 16 Sep 2020

Commented:

on 4 Oct 2020

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!