C_R

3762 Reputation

21 Badges

6 years, 235 days

MaplePrimes Activity


These are answers submitted by C_R

If you mean equation labels within text passages, the answer is no. It seems to require a substantial rework of the current implementation of equation labels.

What you could do alternatively to refer to equations inside text passages is using document blocks and hidden variable names. Here is an example

Labeling_inside_text_passages.mw

KernelConnection Server 1 corresponds to the blank document Maple that opens after start up.

You can shut this server down either by closing the document or by killing the first mserver.exe in the task manager process list (if you use windows 10 or above). If you opt for the second choice the document is still open in the GUI but not working as normal. Sometimes you get a message that the server was disconnected from the GUI.

If you kill server 2 and create a new document that uses server 2 you end up in a situation shown bellow (startup page turned off)

The GUI opens a new window (pretending a connection to server 2) but no server is connected.

You can continue working by creating a new document with a new math engine but then all Maple processes have disappeared from the task manager.

In a nutshell, Server 2 is special and serves at least for the purpose that mservers are listed in Windows task manager correctly.

If you do not kill mservers server 2 is allways available. After closing a document connected to server 2 all declared variables are still there (connect a new document and check the variables palette)

Plot annotations allow you to retrieve cursor positions. See here

https://www.maplesoft.com/support/help/maple/view.aspx?path=plot%2Fannotation

For me it looks like that dsolve has a kind of remember functionality which is independent from remember tables and cache (forget did not work on dsolve). It could be that remembering results depends on the differential equations.  

And yes: The text "calling dsolve with the ode" is missleading. It should rather be "with the arguments"

dsolve(diff(y(x), x, x) = 4*diff(y(x), x) - y(x) - 3*x + 1, y(x));

 

Works for sums

2*A*B/(A*m+m)+C^2+D^2;

convert([op(%)],Vector);
expand~(numer~(%)/A);
collect((x->1/x)~(expand~(denom~(%%)/A)),m);
(%.%%)assuming real;

By coincidence, I found what you were looking for in the layout palette.

Simply select whatever is selectable with the mouse and click on one of the layout brakets.

Your can make them your favorites for easier access as I have done here

Carl Love has provided an answer for a=b=c=d here.

inrt := `%*`(a*b);
inrt2 := subs(a = `%*`(2*Unit('m')), b = `%*`(3*Unit('m')), inrt);
MultiEquation(((A = inrt) = inrt2) = value(inrt2));

I could not find a way to remove the brackets in the output

We get closer (still one pair of brackets left) to what you are looking for by modifing an answer from acer (same link above)

p := proc(A,B,C,CC) # modified a=b=c proc form acer
  uses Typesetting;
  mrow(Typeset(A),mo("="),
       Typeset(B),mo("="),
       Typeset(C),mo("="),
       Typeset(CC));
end proc:

ee := p(a,b,c,d);

Typesetting:-mrow(Typesetting:-mi("a"), Typesetting:-mo("="), Typesetting:-mi("b"), Typesetting:-mo("="), Typesetting:-mi("c"), Typesetting:-mo("="), Typesetting:-mi("d"))

(1)

ee;

a = b and b = c and c = d

(2)

inrt := `%*`(a*b);
inrt2 := subs(a = `%*`(2*Unit('m')), b = `%*`(3*Unit('m')), inrt);

`%*`(a*b)

 

`%*`(`%*`(2*Units:-Unit(m))*`%*`(3*Units:-Unit(m)))

(3)

p(A,inrt,inrt2,value(inrt2))

0, "%1 is not a command in the %2 package", _Hold, Typesetting

(4)

NULL

Maybe someone has an idea how to remove the brackets.

I cannot see a way to write from the above a proc with only one parameter. A, a and b must somehow be given. Or at least a and b if A is fixed.

Download abc_modif.mw

@Carl Love 

Your explantion makes sense: only curved arrows are affeted (curve and comet).  Each time either the head or the tail of a curve extends into the complex domain an error is thrown (the curves midpoints are centered on the grid).

Algorithmwise I see only two simple options. Clipping of the curves or suppression of arrows in case of boundary extension. The later case is implemented and works for straight arrows and for curved arrows if the inital point for arrow calculation matches the singularity.

For curved boundaries (or boundaries not parallel to the axes) clipping of arrows might be better looking since the plot will stay complete and the boundary of the domain can be better guessed and is not jagged. Or the opposite ... we have to see how it looks like

A slight reduction of the plotrange helps in this case without changing the grid and the labels.

restart;
ode:=diff(y(x),x)-1/(-x^2+1)^(1/2) = 0;
x_range:=-0.98 .. 0.98;
DEtools:-DEplot(ode,y(x),x =x_range,y = -1.6 .. 1.6,[y(0) = 0],arrows = 'curve')

Or a larger range and clipping the view

restart;
ode := diff(y(x), x) - 1/(-x^2 + 1)^(1/2) = 0;
x_range := -1.1 .. 1.1;
DEtools:-DEplot(ode, y(x), x = x_range, y = -1.6 .. 1.6, [y(0) = 0], arrows = 'curve', iterations = 1, view = [-1 .. 1, -1.6 .. 1.6]);

This is only works for odes with simple singularities on the x-axis.

By the way: dfieldplot (probably used by DEplot) throws the same error

restart;
ode := diff(y(x), x) - 1/(-x^2 + 1)^(1/2) = 0;
x_range := -0.99 .. 0.99;
DEtools:-dfieldplot(ode, y(x), x = x_range, y = -1.6 .. 1.6, [y(0) = 0], arrows = 'curve');

Entering solve with 6 equations in 3 variables:

     This can be explained by solve interpreting the assumptions on the variables lambda as 3 new equations.
     These assumptions alone trigger the Solutions lost message.

There a quite some assumptions in the document. I feel a bit uneasy about which assumptions solve uses when called with useassumptions.

I also feel a bit uneasy about the indexed subscripts because of typos that may not be visible.

I have to stop here but attach my attempts. Maybe this gives you some ideas.

061123_solving_with_assumptions-1_reply.mw

To add the example in your own worksheet, place the cursor where you want to add the task.

Then goto the task an insert the content and replace the integrand and boundaries by yours if you want

 

See the attached. Is that what you are looking for?

task_example.mw

If you mean by coordinat node the points where the three curves intersect

you can can define a procedure and use fsolve. Here is a code snippet for one point that you can paste at the end of you worksheet and see how ist works

dd:=proc(tt) 
    rhs(Solusi5(tt)[2])- rhs(Solusi5(tt)[3])
end;
A5x:=fsolve(dd,0..5);
A5y:=rhs(Solusi5(A5x)[2]);
plots:-pointplot([[A5x,A5y]]);
display(PlotA5, PlotI5, PlotS5,%)

Try
 

with(Statistics):
L1 := [2, 4, 6]:
ColumnGraph(L1, axis[1] = [tickmarks = [[0.4 = "abe", 1.4 = "banan", 2.4 = "palme"], rotation = Pi/2]]);

 

Your general solution Sol1 should also simplify to an expression with signum(xc1-xc2) without the need to restrict the domain to real

sqrt((xc1 - xc2)^2)/(xc1 - xc2);
simplify(%);
                                    (1/2)
                      /           2\     
                      \(xc1 - xc2) /     
                      -------------------
                           xc1 - xc2     

                       signum(xc1 - xc2)
                      

Perhaps the radical is too complex and Maple overlooks this simplifcation or there is no simplification possible in the complex domain (for a reason I can't see at the moment).

Anyway, your substitution is equivalent to the assumption xc1 > xc2. You could use
 

simplify~(solve({eq1, eq2}, [x, y], explicit), radical) assuming (xc2 < xc1)

to avoid a call to realdomain and the substitution step. It's just a little bit neater.

 

Edit:

No simplification to an expression with signum possible in the complex domain without assumptions because the expression bellow is in general not zero

 

To change a style, navigate to style under format and modify 2d input this way



See https://www.maplesoft.com/support/help/maple/view.aspx?path=worksheet%2Fdocumenting%2Fstyles

to make it permanet for all worksheets

First 9 10 11 12 13 14 15 Page 11 of 18