MaplePrimes Questions

How to put programmatically 2 dots above the first and the last digit  as in the example?

http://s017.radikal.ru/i419/1610/55/958cd75b6b34.png

 

Since the new editor for some reason I cannot upload any pictures or files from my computer.

 

Previous year I was using Maple 2015 and I had a procedure in which I had used

A := Array((1 .. 3)$3);

And similar use of $. This year I'm using Maple 2016. Now I came back to my old procedure but Maple doesn't compile the procedure anymore and instead shows

Error, `$` unexpected
What is the problem? Is something changed in new version of Maple?

Why I use Array and $ is my old question here http://www.mapleprimes.com/questions/210628-Undefined-For-Loop-Bound which was fine before.

Hi all, I need a heep to solve 6 PDEs from the first order with initial and boundry conditions.

Here is the file PDE_with_IBC-BC.mwPDE_with_IBC-BC.mw

Hi,

The error "warning bad name, cannot profile...." occurred and I don't know why. Here my minimal example,

test.mw

Does anyone knows the reason?

 

> restart; for j to nops(n) do sys := diff(f(eta), eta, eta, eta)+f(eta)*(diff(f(eta), eta, eta))+1-(diff(f(eta), eta))^2 = 0, (diff(diff(theta(eta), eta), eta))/pr+f(eta)*(diff(theta(eta), eta))-(diff(f(eta), eta))*theta(eta) = 0; bcs := f(0) = 0, (D(f))(0) = l+b*((D@@2)(f))(0), (D(f))(-.5) = 1, theta(0) = 1+s*(D(theta))(-.5), theta(2) = 0; n := [1, 2, 3, 4, 5, 6]; pr := .71; p := 0; q := 0; b := 0; l := 0; s := 0; L := [red, blue, orange]; R1 := 2*n[j]/(1+n[j]); R2 := 2*p/(1+n); p := proc (f1, th1, { output::name := 'number' }) local res1, fvals, thvals, res2; option remember; res1 := dsolve({sys, f(1) = 0, theta(0) = 1+th1, (D(f))(0) = f1, (D(theta))(0) = th1, ((D@@2)(f))(0) = f1-1}, numeric, :-output = listprocedure); fvals := (subs(res1, [seq(diff(f(eta), [`$`(eta, i)]), i = 0 .. 2)]))(0); thvals := (subs(res1, [seq(diff(theta(eta), [`$`(eta, i)]), i = 0 .. 1)]))(0); res2 := dsolve({sys, f(0) = fvals[1], theta(0) = thvals[1], theta(5) = 0, (D(f))(0) = fvals[2], (D(f))(5) = 1}, numeric, :-output = listprocedure); if output = 'number' then [fvals[3]-(subs(res2, diff(f(eta), `$`(eta, 2))))(0), thvals[2]-(subs(res2, diff(theta(eta), eta)))(0)] else res1, res2 end if end proc; p1 := proc (f1, th1) p(args)[1] end proc; p2 := proc (f1, th1) p(args)[2] end proc; p(.3, -.2); par := fsolve([p1, p2], [.3, -.2]); res1, res2 := p(op(par), output = xxx); plots:-display(plots:-odeplot(res1, [[eta, f(eta)], [eta, theta(eta)]]), plots:-odeplot(res2, [[eta, f(eta)], [eta, theta(eta)]])); plots:-display(plots:-odeplot(res1, [[eta, diff(f(eta), eta)], [eta, diff(theta(eta), eta)]]), plots:-odeplot(res2, [[eta, diff(f(eta), eta)], [eta, diff(theta(eta), eta)]])); plots:-display(plots:-odeplot(res1, [[eta, diff(f(eta), eta, eta)]]), plots:-odeplot(res2, [[eta, diff(f(eta), eta, eta)]])); plots:-display(plots:-odeplot(res1, [[eta, diff(f(eta), eta)]])); fplt[j] := plots[odeplot](res1, [eta, diff(diff(f(eta), eta), eta)], color = L[j], axes = boxed); tplt[j] := plots[odeplot](res1, [[eta, theta(eta)]], color = L[j], axes = boxed) end do;
> plots:-display([seq(fplt[j], j = 1 .. nops(n))]);


Dear Sir

In my above problem i trying to plot for set of values of n but in plot command it not executing , can you do this why it is not executing ??

 

ha := (diff(c(t), t))/(c(t)*(diff(c(t), t))-c(t));
solve(subs(m=ha,f(m))*subs(m=subs(c(t)=a(t),ha)), f(m)) = subs(m=ha+subs(c(t)=a(t),ha), f(m), f);

just expect to find a function ?
 

1. How to generate times series data that have some logic law

but do not include distributive law?

Hi @ all,

I was wondering if there is a way to display every character that i type in maple math input without any kind of automatic text editing (neither adding nor removing characters).

I find it very cumbersome to read and edit the modified input (afaik just from looking at a simple piece of printed (black and white on pamper) code it is impossible to destinguish atomic variables and indexed variables due to automatic text edit of the input to lower script in both cases).

 

Example 1: "True" Low Script (Not indexed variable!)
> a__1 :=3:

When I type this in 2-D Math Input (or Maple Input) the cursor jumps to lower script (atomic variable) after the second underscore which is not what i want to happen. After evaluating the expression it is very neat to see the "1" as lower sript but not during typing. Any mode or something to achieve this?

2. Example: Use a loop for dynamic variable creation (not because it is smart to do so but to illustrate my problem with maple input and automated text edit)

> for i from 1 to 4 do:
> x__||i:=1:
> end do:

I can not type this directly in any kind of maple input I have found. The concatenate symbol will be interpreted as subscript without escaping the automatically entered "atomic variable" mode which causes an error. After I use the arrow key to type "||i" outside "atomic variable mode" the loop variable i is not used as index anymore but instead appended to x as a number. But what i want is a dynamic variable creation with "true" numbered subscripts. I could use a longer version with cat() but this sucks (or I simply do not know how to type it properly).

I do not want to use or see atomic variables during input (or any kind of automatic text editing during input for that matter) !

So what I do Instead is I use a texteditor to type away, paste the code to maple and execute it. Works like a charm and my fingers do not have to leave their designated spots on the keyboard and i can type way faster. Furthermore I can always copy the code back to notepad++ and use regex to make a lot of simultaneous replacements at once whereas this is quite difficult with code that i typed in maple.

 

So how do I turn off automated text edit of the input? Or should I use anything else then a worksheet?

Cheers
Zorg

Hi there,

I was wondering how to define the unit of an unspecified function. Here is what I want to do:

Say I have the coordinates of a Point in 1D-Space denoted by an unknown function x(t). While this function depends on time t the value of this function is supposed to be of SI Unit meter.

When calculating diff(x(t),t) I would like to get something like (absolut derivative of x(t)) * Unit(m/s).

So how do i tell maple that x(t) is something like f: time -> meter?
Also: How to specify that t has unit second without breaking the diff() command?

Any help would be greatly appreciated.

Regards

Zorg

> restart;
> n := [1, 2, 3, 4, 5]; pr := .71; p := 0; q := 0; b := 0; l := 0; s := 0;
> for j to nops(n) do R1 := 2*n[j]/(1+n[j]); R2 := 2*p/(1+n); sys := diff(diff(diff(f(eta), eta), eta), eta)+f(eta)*(diff(diff(f(eta), eta), eta))+1-(diff(f(eta), eta))^2 = 0, (diff(diff(theta(eta), eta), eta))/pr+f(eta)*(diff(theta(eta), eta))-R2*(diff(f(eta), eta))*theta(eta) = 0; bcs := f(0) = 0, (D(f))(0) = l+b*((D@@2)(f))(0), (D(f))(-.5) = 1, theta(0) = 1+s*(D(theta))(0), theta(-.5) = 0; proc (f1, th1, { output::name := 'number' }) local res1, fvals, thvals, res2; option remember; res1 := dsolve({sys, f(0) = 0, theta(0) = 1+th1, (D(f))(-2) = f1, (D(theta))(-2) = th1, ((D@@2)(f))(0) = f1-1}, numeric, :-output = listprocedure); fvals := (subs(res1, [seq(diff(f(eta), [`$`(eta, i)]), i = 0 .. 2)]))(0); thvals := (subs(res1, [seq(diff(theta(eta), [`$`(eta, i)]), i = 0 .. 1)]))(0); res2 := dsolve({sys, f(0) = fvals[1], theta(0) = thvals[1], theta(1) = 0, (D(f))(0) = fvals[2], (D(f))(1) = 0}, numeric, :-output = listprocedure); if output = 'number' then [fvals[3]-(subs(res2, diff(f(eta), `$`(eta, 2))))(0), thvals[2]-(subs(res2, diff(theta(eta), eta)))(0)] else res1, res2 end if end proc; p1 := proc (f1, th1) p(args)[1] end proc; p2 := proc (f1, th1) p(args)[2] end proc; p(.3, -.2); par := fsolve([p1, p2], [.3, -.2]); res1, res2 := p(op(par), output = xxx); plots:-display(plots:-odeplot(res1, [[eta, f(eta)], [eta, theta(eta)]]), plots:-odeplot(res2, [[eta, f(eta)], [eta, theta(eta)]])); plots:-display(plots:-odeplot(res1, [[eta, diff(f(eta), eta)], [eta, diff(theta(eta), eta)]]), plots:-odeplot(res2, [[eta, diff(f(eta), eta)], [eta, diff(theta(eta), eta)]])); plots:-display(plots:-odeplot(res1, [[eta, diff(f(eta), eta, eta)]]), plots:-odeplot(res2, [[eta, diff(f(eta), eta, eta)]])); fplt[j] := plots[odeplot](sol1, [eta, diff(diff(f(eta), eta), eta)], color = L[j], axes = boxed); tplt[j] := plots[odeplot](sol1, [[eta, theta(eta)]], color = L[j], axes = boxed) end do;


Dear Sir

In this above problem it showing that error as  Error, cannot split rhs for multiple assignment please can you tell why it is showing like this  ?? and where i did multiple assignments ??

Just curious as to how to find the Mathematics and Engineering dictionary in maple. 

In Maple 12 it was available in the help menu as Dictionary, which then pulled up as a help menu with folders a to z. 

In Maple 2016, I only noticed today, Dictionary is no longer a help option in the pull down menu.  Searching for dictionary brings up some of the files in the help menu but not sorted beautifully as M12.  In fact there is a definition list but it ends at d.

Am I missing something or is there a dictionary fault?

Hi everybody

I have two tables, namely A and B, the entries of wich can also be tables ... and so on.
These two tables have the same structure in the following sense :

Viewing A or B as tree graphs GA and GB :

  1.  the set of the names of the vertices of GA is identical to the set of the names of the vertices of GB
  2. GA and GB have the same connectivities

For instance A and B below share the same structure
A := table([x=table([u=1]), y=table([v=table([p=2]), w=3]) )]
B := table([ x=table([u=4]), y=table([v=table([p=12]), w=3]) )]

But not do A and C
C := table([x=table([u=1]), y=table(v=2, w=3]) )]


Let p(s) some path in GA from its root to some terminal leaf s.
B being "structurally identical" to A, GB also contains p(s)
Returning to the original tables, p(s) corresponds to a multi-index [k1][k2]...[kn] and the "value" of s is then given by A [k1][k2]...[kn]) or, symbolically A[p(s)]

I adopt this definition for "A = B" :
A is said to be equal to B iif the entry of A[p(s)] equals B[p(s)] for all the terminal leaves s
(here equals is intended in the "classical" senses, ie 3=3, {1,2}={2,1}, ...)
 

How can I check if "A=B" in the following sense ?

Thanks in advance

PS : Keeping in mind the analogy between A and GA, I have written a recursive procedure to check if A=B. But it is rather lengthy and I wondered if there could exist some Maple function to do this test ?


 

Hello there. I have a simple differential equation (diff(y(x), x)+1)*exp(y(x)) = 4 , in which I want to got a partial solution (find a value of constant) for y(1)=0. How do I do that? I've checked help on pdsolve function and it's too complicated for me to understand something. Examples do not contain anything such simple as that. Thanks in advance.

I have in mind all the real roots of the equation 2*tan(Pi*t^2)-tan(Pi*t)+tan(Pi*t)*tan(Pi*t^2)^2 = 0.

Maple fails with it:

>RealDomain:-solve(2*tan(Pi*t^2)-tan(Pi*t)+tan(Pi*t)*tan(Pi*t^2)^2 = 0, t);

RootOf(tan(_Z)*tan(_Z^2/Pi)^2-tan(_Z)+2*tan(_Z^2/Pi))/Pi

 Even its numerical solution has gaps.

>Digits := 15; a := Student[Calculus1]:-Roots(2*tan(Pi*t^2)-tan(Pi*t)+tan(Pi*t)*tan(Pi*t^2)^2 = 0, t = -2 .. 2);
Warning, some roots are returned as numeric approximations
 [-1.35078105935821, -1.18614066163451, -1.00000000000000, 0, 

   1.00000000000000, 1.28077640640442, 1.68614066163451,    1.85078105935821]

>nops(a);

8

>b := Student[Calculus1]:-Roots(2*tan(Pi*t^2)-tan(Pi*t)+tan(Pi*t)*tan(Pi*t^2)^2 = 0, t = -2 .. 2, numeric);
 [-1.35078105935821, -1.18614066163451, -1.00000000000000, 

   -0.780776406404415, 0., 1.00000000000000, 1.28077640640442, 

   1.68614066163451, 1.85078105935821, 2.00000000000000]
>nops(b);
                               10


whereas 

>plot(2*tan(Pi*t^2)-tan(Pi*t)+tan(Pi*t)*tan(Pi*t^2)^2, t = -2 .. 2);

shows 14 solutions.

The output of the command

>identify(a);

[1/4-(1/4)*sqrt(41), 1/4-(1/4)*sqrt(33), -1, 0, 1, 1/4+(1/4)*sqrt(17), 1/4+(1/4)*sqrt(33), 1/4+(1/4)*sqrt(41)]

suggests a closed-form expression for the roots.

i want to write the result of a calculation to a file in a way that i can be able to call them later. for example :


restart;
n := 40; h := 40;
a := h*i/(2*n);

sys1 := [diff(x(t), t) = 2*t+1, diff(y(t), t) = 1+5*t, x(0) = 1, y(1) = 0];


for i from 0 by .5 to 1 do res := dsolve(sys1, numeric); res(a) end do;
 


i would like to write just the values of t and y(t) to a file/vector or whatever.

Thx in advance

First 1058 1059 1060 1061 1062 1063 1064 Last Page 1060 of 2428