19375 Reputation

26 Badges

14 years, 254 days

MaplePrimes Activity

These are replies submitted by Kitonum

@Muhammad Usman Sorry, I did not notice that degrees are required, not radians. Correct as showed to you by tomleslie.


convert(sum(ln(k), k=1..m), factorial)  assuming m::posint;


@acer  1. Thank you for correcting the error in my answer.

2. We can also use  plottools:-curve  command, which is especially useful if you need to plot a broken line in 2D or in 3D with a greater number of links than one link:

A:=[1, 2, 3]: B:=[4, 5, 6]: C:=[3,2,9]:
plots:-display(plottools:-curve([A, B], color=red, thickness=2));
plots:-display(plottools:-curve([A, B, C], color=red, thickness=2));

@minhhieuh2003  See the update to my answer.

@tomleslie  You're right. At first everything worked fine (as in my answer above). But then when I opened the saved document, the correct result appeared not 4, but only 3 times. I repeated these experiments several times and each time the situation worsened. Sometimes from the very beginning there was an incorrect result. All this is very strange.

@tomleslie  It seems my edited version works relatively stable (see above). I repeated the same 4 times.

@denkasyan  1. Yes this is the simplest way to construct three-dimensional graph of the system of  linear  inequalities. See help on PolyhedralSets  package for details.

2. Yes.

@tomleslie  For some unknown reason, your code does not work in my Maple 2017.3 32 bit:


@denkasyan In  PolyhedralSets  package, a body must be given by non-strict inequalities. But to build a body it does not matter. Maple simply draws the boundaries of this body as parts of the planes. In your example, the body will be part of the plane  y = -20 .

@denkasyan  You get the set  {x<0, y=-20, z<0}

You got some useful tips, but if you want more specific help, then you need to explain in what the essence of the problem is. And more: what do your functions B, P mean, what is loss and so on?

If I understand correctly,  until "any condition"  is equivalent to  if "any condition" then break fi , but slightly shorter. The latter variant I use very often.

@acer  This example shows the importance of visualization (a plot) in these methods. How else would we know a priori that the result

Optimization:-Maximize(f, x=0..2*Pi, method = branchandbound);

is incorrect?

If we want to solve purely programmatically (not looking at the plots), then probably the best method will be a standard approach using the first derivative:

R:=[RootFinding:-Analytic(diff(f(x),x), x, re=0..2*Pi, im=-1..1)];
Min=min(f~(R)[], f(0), f(2*Pi));
Max=max(f~(R)[], f(0), f(2*Pi));


Unfortunately  method=branchandbound  option is not very reliable. The example below shows that both the minimum and maximum are found incorrectly, which is clearly shown by the graph:

plot(f, x=0..2*Pi, size=[1000,500], numpoints=1000);
Optimization:-Maximize(f, x=0..2*Pi, method = branchandbound);
Optimization:-Minimize(f, x=0..2*Pi, method = branchandbound);

DirectSearch  package successfully copes with the problem:

DirectSearch:-GlobalOptima(f, [x=0..2*Pi]);
DirectSearch:-GlobalOptima(f, [x=0..2*Pi], maximize);
 [-4.82606452700204, [x = 3.59004152503469], 191]
                              [3.40373784598079, [x = 4.94786409954761], 162]



@Bilawal  See another way in my answer. 

First 39 40 41 42 43 44 45 Last Page 41 of 125