You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

46 lines
1.6 KiB

11 months ago
% function ParameterRange()
aa=0.5:0.1:2;
bb=0.5:0.1:2;
cc= -5:0.1:1;
[a,b,c]=meshgrid(aa,bb,cc);
constraint1 = -a-b-c-1;
constraint2 = -a-b+c+1;
constraint3 = -a+b+c-1;
constraint4 = a-b+c-1;
constraint5 = 1-a-b-c;
constraint6 = -1+a-b-c;
constraint7 = -1-a+b-c;
domain1 = max(max(max(constraint1,constraint2),constraint3),constraint4)<=0;
disp([num2str(min(constraint1.*domain1,[],'all')),' <= C1 <= ',num2str(max(constraint1.*domain1,[],'all'))])
disp([num2str(min(constraint2.*domain1,[],'all')),' <= C2 <= ',num2str(max(constraint2.*domain1,[],'all'))])
disp([num2str(min(constraint3.*domain1,[],'all')),' <= C3 <= ',num2str(max(constraint3.*domain1,[],'all'))])
disp([num2str(min(constraint4.*domain1,[],'all')),' <= C4 <= ',num2str(max(constraint4.*domain1,[],'all'))])
domain2_field=max(max(max(max(max(max(constraint1,constraint2),constraint3),constraint4),constraint5),constraint6),constraint7);
domain2 = domain2_field<=0;
disp([num2str(min(constraint5.*domain2,[],'all')),' <= C5 <= ',num2str(max(constraint5.*domain2,[],'all'))])
disp([num2str(min(constraint6.*domain2,[],'all')),' <= C6 <= ',num2str(max(constraint6.*domain2,[],'all'))])
disp([num2str(min(constraint7.*domain2,[],'all')),' <= C7 <= ',num2str(max(constraint7.*domain2,[],'all'))])
figure()
isosurface(a,b,c,-max(max(max(constraint1,constraint2),constraint3),constraint4),0)
isocaps(a,b,c,-max(max(max(constraint1,constraint2),constraint3),constraint4),0)
axis equal;axis tight;
camlight
figure()
isosurface(a,b,c,-domain2_field,0)
isocaps(a,b,c,-domain2_field,0)
axis equal;axis tight;
camlight