plotb[{yLow_, yHigh_, x_, xLeft_, xRight_}] :=
Plot[{If[yLow < yHigh, yLow], If[yLow < yHigh, yHigh]} , {x, xLeft, xRight},
Filling -> {1 -> {2}}]
d[decesion_] := Table[plotb[decesion[[i]]], {i, 1, Length[decesion]}]
c = {{2/h + a + b, 3 h - a + 2 b, h, 0, 10}, {h + 2 a - b,4 h - a + b, h, 2 b, 6}};
Manipulate[Show[d[c]], {a, 0, 2}, {b, 0, 5}]
I have many graphics to draw and the c list includes many sublists. I have three questions:
- Manipulate doesn' t work.
- I want to fill the regions when yLow < yHigh and just use Plot not use RegionPlot. It seems to be reduntant using two "if" expressions. I don't know whether it will be slow when c includes a lot of sublists due to the two reduntant "if" expressions.
- 2/h in c will be wrong when h is 0. Maybe it can work if I change 0 to 0.001. Is there any other way not to modify c. Because I have completed the list c, I don't want to modify it.
Thank you very much.

cas a function is the standard solution:Clear[c]; c[a_, b_] =…– xzczd Jul 12 '20 at 02:30