Scott03

784 Reputation

10 Badges

19 years, 93 days

MaplePrimes Activity


These are replies submitted by Scott03

I believe you may want to provide an example of what expr_1 and expr_2 is (if the equations are long, I would suggest uploading the worksheet that contains both expressions).  Otherwise you will force people to guess what form they are and you will not necessarily get answers that will help.

 

-Scott

Could you let us know what the port names and are these names used in you equations?

 

-Scott

Could you provide a simple example that isn't too long but shows the problem that you are finding?  It is possible that keeping the functions as symbolic equations may be the best, just that you need to do some simplification before plotting.  If you have already solved for the data points you want to use, you could use either the matrixplot or SurfacePlot.

 

Scott

Could you explain what you want to do?  Do you just want the numbers from the 4th and 6th position in 'a' into 'b' so that b1=[a1[4],a1[6]]?

If so, all you need to do is change the for loop to the following

for i to 3 do
   b || i := [a || i[4], a || i[6]];
end do;

 

Scott

All you need to do to make the worksheet work is to change this call in the "Run Tutor" button

Do(%Plot0 = plots:- inequal({x + 3*y <=200, 2*x + 2*y <= 300, y <= 60, x >=0, y >=0}, x = -400..400, y = -400..400, optionsfeasible=(color=red), optionsexcluded=(color=white, thickness=4)));

to this

Do(%Plot0 = plots:- inequal({%TextArea0, y <= 60, x >=0, y >=0}, x = -400..400, y = -400..400, optionsfeasible=(color=red), optionsexcluded=(color=white, thickness=4)));

Then all you need to do is enter the following in the text area: x + 3*y <=200, 2*x + 2*y <= 300

One other change that you can do is change the code in the "Restart" button to be the following

Do( %Plot0= PLOT());

This will place a blank plot in the plot region.

Scott

All you need to do to make the worksheet work is to change this call in the "Run Tutor" button

Do(%Plot0 = plots:- inequal({x + 3*y <=200, 2*x + 2*y <= 300, y <= 60, x >=0, y >=0}, x = -400..400, y = -400..400, optionsfeasible=(color=red), optionsexcluded=(color=white, thickness=4)));

to this

Do(%Plot0 = plots:- inequal({%TextArea0, y <= 60, x >=0, y >=0}, x = -400..400, y = -400..400, optionsfeasible=(color=red), optionsexcluded=(color=white, thickness=4)));

Then all you need to do is enter the following in the text area: x + 3*y <=200, 2*x + 2*y <= 300

One other change that you can do is change the code in the "Restart" button to be the following

Do( %Plot0= PLOT());

This will place a blank plot in the plot region.

Scott

This appears to be a duplicate post (http://www.mapleprimes.com/forum/howdrawmanyplotsaredrawnlooponepicture) and it appears that the other post has your answer.  Please don't post the same question in multiple locations.

 

Scott

This appears to be a duplicate post (http://www.mapleprimes.com/forum/howdrawmanyplotsaredrawnlooponepicture) and it appears that the other post has your answer.  Please don't post the same question in multiple locations.

 

Scott

All you need to do is just combine the function calls that you want to have in the procedure.  The plots:-display command will combine the plots together.

MyProc:=proc(obj,const::set, xRange::range , yRange:: range)
local sol, X, Y, tempPlot1, tempPlot2;
sol:=Optimization:-LPSolve(obj,const, x=xRange,y=yRange,maximize);
X,Y:=op(eval([x,y],sol[2]));
tempPlot1:=plots:-textplot([X,Y,sprintf("Local Maxima %4.2f %4.2f",X,Y),align={above,right}]):
tempPlot2:=plots:-inequal(const, x = xRange, y = yRange):
return plots:-display([tempPlot1,tempPlot2]);
end proc;

For the example in this thread, the input for this procedure would be the following.

MyProc(x+y,{x>=0,y>=0,y<=60,x+3*y<=20,2*x+2*y<= 30},-70 .. 70, -70..70);


Scott

All you need to do is just combine the function calls that you want to have in the procedure.  The plots:-display command will combine the plots together.

MyProc:=proc(obj,const::set, xRange::range , yRange:: range)
local sol, X, Y, tempPlot1, tempPlot2;
sol:=Optimization:-LPSolve(obj,const, x=xRange,y=yRange,maximize);
X,Y:=op(eval([x,y],sol[2]));
tempPlot1:=plots:-textplot([X,Y,sprintf("Local Maxima %4.2f %4.2f",X,Y),align={above,right}]):
tempPlot2:=plots:-inequal(const, x = xRange, y = yRange):
return plots:-display([tempPlot1,tempPlot2]);
end proc;

For the example in this thread, the input for this procedure would be the following.

MyProc(x+y,{x>=0,y>=0,y<=60,x+3*y<=20,2*x+2*y<= 30},-70 .. 70, -70..70);


Scott

If you would like to have specific sizes for each section, I would suggest turning off the "Show Implicit Geometry" option.  This will turn off the default geometry and you can use the visualization shapes provided which will have radius parameters that will give you the option to have certain shapes a different size compared to others.  This will also give you the control of the colour and shapes that will show up in the visualization.

 

Scott

If you would like to have specific sizes for each section, I would suggest turning off the "Show Implicit Geometry" option.  This will turn off the default geometry and you can use the visualization shapes provided which will have radius parameters that will give you the option to have certain shapes a different size compared to others.  This will also give you the control of the colour and shapes that will show up in the visualization.

 

Scott

The only change you need to do is change the lines at the begininning of each of the procs from

Statistics = ST;

to 
ST = Statistics;
Once this is done the procs should work as expected.

Scott

The only change you need to do is change the lines at the begininning of each of the procs from

Statistics = ST;

to 
ST = Statistics;
Once this is done the procs should work as expected.

Scott

If you want to specify a size for the plot you can use the plot component that has properties to control its size.  When you place a plot within this component, the plot will resize to fit within this component.

Scott

1 2 3 4 5 6 7 Last Page 1 of 20