MaplePrimes Questions

I using Maple 18.

I write below procedure,

Eqplot:=proc(a,b)
local y,x;

y:=a*x+b;

y,plot(y,x);

end proc:

when I use Eqplot(2,3) , then I will expect the result for both of equation 2x+3 and sketch y=2x+3, but unfortunately the result is only sketch y=2x+3.

please hint me about that how I can write a proc that result be both of 2x+3 and sketch 2x+3 in maple 18?

Dear all,

 

This may sound funny, but I cannot put the ruler on the sides of my worksheet!

I need t so change the size of my plots.

Does anybody know in which menu is the ruler ?

Hi,

I'm relatively new to using Maple.

I'm looking for information on how the "factor" function works. I printed its definition, and it refers to "factor/factor" and I can't find any more information on this. I'd like to know so that I could have more trust that it works correctly. Specifically, I'd like to be able to believe that if it does not factor a cubic, then the cubic is irreducible.

I'm specifically looking for rational roots of cubic polynomials. The "solve" function seems to work, and gives me the roots in terms of square roots, cubic roots and rationals. I have no idea why I should believe that "type(x,rational)" would work when the description of "x" is quite complicated.

Does anyone know anything about how "factor" works, or how "type" works when testing whether an expression evaluates to a rational number? Any information would be much appreciated.

 

Thanks,
Matt

How would you apply a permutation to a list?

 

So, with permutation [[1,3],[2,4]], given in disjoint cycles,

how would you apply it to [1,2,3,4] to obtain [3,4,1,2]?

 

 

Thanks

Perhaps the question is trivial, but I could not find the solution.

I am solving numerically an ODE (e.g., a simple harmonic oscillator) with the righthand side that contains a random part. For example it is

eq:=diff(a(t),t,t) + a(t) = (1+0.01*R(t))*cos(5*t);

where R(t) is a random function of t. How can I make such a function?

The naive attempt: 

eq:=diff(a(t),t,t) + a(t) = 3.*(1+0.1*rand()/1000000000000.)*cos(5.*t);


gave me a fixed (while random) value, e.g.

...

But, I need this coefficeint to be random each time step.

Any suggestions are very welcome!

 

 

 

after following a example , got error

 

                             2                  
               1   / d      \    1        2     2
               - m |--- x(t)|  - - m omega  x(t)
               2   \ dt     /    2              
Error, (in Mechanics:-LagrangeEqs) invalid input: subs received subst1, which is not valid for its 1st argument
Error, invalid input: Mechanics:-GeneralSol expects its 1st argument, eqs, to be of type list, but received eqs
Error, invalid input: rhs received sol, which is not valid for its 1st argument, expr
L;

 

Mechanics := module()
export SetVariables, LagrangeEqs, GeneralSol;
option package;
local subst1, subst2, varN, t;

SetVariables = proc( vars:: list, time )
local i;
t := time;
varN := nops( vars );
subst1 := {};
subst2 := {};
for i from 1 to var N do
subst1 := subst1 union
{vars[i](t) = q[i], diff(vars[i](t), t) = v[i]};
subst2 := subst2 union
{q[i] = vars[i](t), v[i] = diff(vars[i](t), t)};
end do;
print( subst1 );
print( subst2 );
NULL;
end proc;

LagrangeEqs := proc (L)
local i, l1, term1, term2;
l1 := subs(subst1, L):
for i to varN do
term1 := [seq(diff(subs(subst2, diff(l1, v[i])), t), i = 1..varN)]:
term2 := [seq(subs(subst2, diff(l1, q[i])), i = 1..varN)]:
end do;
[ seq(simplify(term1[i]-term2[i]) = 0, i = 1..varN) ];
end proc;

RayleighEqs := proc(L, R)
local i, l1, r1, term1, term2, term3;
l1 := subs( subst1, L ):
r1 := subs( subst1, R ):
for i from 1 to varN do
term1:=[seq(diff(subs(subst2, diff(l1, v[i])), t), i=1..varN)]:
term2:=[seq(subs(subst2, diff(l1, q[i])), i=1..varN)]:
term3:=[seq(subs(subst2, diff(r1, v[i])), i=1..varN)]:
end do:
[ seq(simplify(term1[i]-term2[i]+term3[i]), i=1..varN) ];
end proc;

LagrEqsII := proc( L, Q::list )
local i, l1, term1, term2;
l1 := subs(subst1, L):
for i to varN do
term1 := [seq(diff(subs(subst2, diff(l1, v[i])), t), i = 1 .. varN)]:
term2 := [seq(subs(subst2, diff(l1, q[i])), i = 1 .. varN)]:
end do;
[seq(simplify(term1[i]-term2[i]) = Q[i], i = 1 .. varN)];
end proc;

LagrEqsIII := proc (L, R, Q::list)
local i, l1, r1, term1, term2, term3;
l1 := subs(subst1, L):
r1 := subs(subst1, R):
for i to varN do
term1 := [seq(diff(subs(subst2, diff(l1, v[i])), t), i = 1 .. varN)]:
term2 := [seq(subs(subst2, diff(l1, q[i])), i = 1 .. varN)]:
term3 := [seq(subs(subst2, diff(r1, v[i])), i = 1 .. varN)]:
end do;
[seq(simplify(term1[i]-term2[i]+term3[i]) = Q[i], i = 1 .. varN)];
end proc;

GeneralSol := proc (eqs::list)
local i, initconds, eqs2;
initconds := NULL:
eqs2 := eqs[][]:
for i to varN do
initconds:=VarNames[i](0)=q[i], (D(VarNames[i]))(0)=v[i], initconds:
end do;
dsolve({initconds, eqs2});
end proc;


end module;

with(LibraryTools):
LibLocation := cat("c:\\Temp");
Save(Mechanics, LibLocation);
with(FileTools):
march('list',"c:\\Temp\\Mechanics.lib");
save(Mechanics, "c:\\Temp\\Mechanics.m");
read "c:\\Temp\\Mechanics.m";

 

with(Mechanics):
SetVariables([x], t);
L := (1/2)*m*diff(x(t), t)^2 - (1/2)*m*omega^2 * x(t)^2;
eqs := LagrangeEqs(L);
sol := GeneralSol( eqs );
X := unapply( rhs(sol), t );

 

 

I am doing a Calculus assignment and I can't find the commands for certain things.

1.Given the function f(x) = ((x+1)^2) / (1+x^2)

i) The domain of continuity of f(x)

ii) The intervals of increase and decrease of f(x) by using test points.

 

2. Use the IVT to prove existence of a root to the equation x^3 +10x^2 -100x +50=0 in the interval [-20,10]. Use again the IVT to show that there is a 1st root in [-17,-15], a 2nd toot in [0,1] and a 3rd root in [ 5,6]. Find or approximate those roots with Maple. (the bolded is what I need help).

I ran into a problem with the physics package that I subsequently solved. But I am wondering whether this would be a candidate for an SCR and/or be considered a bug.

The calculation I am trying is actually (so far) very simple.

I define a Hamiltonian H:

H := sqrt(p_^2*c^2+m^2*c^4); # note the square of vector p_

p_:=p1*_i+p2*_j+p3*_k;

H;

So far so good. Now I want to take the differentials of H against the components of p:

diff(H,p1) assuming c::real;

Hmm... I am not sure why the p2 and p3 still show up; but then, the product between the unit vectors should be 0 for different ones and one for equal unit vectors so maybe this is ok.

But H behaves weird: I can simplify it:

but if I try to do anything with it, it barfs:

dH+0;

Error, (in Physics:-Vectors:-+) invalid operation * between vectors _i and _j

As it turns out the issue is the square of the vector p_. Maple (or rather, Physics) does not recognize that it needs to expand p_^2 as p_.p_ and seems to treat is like p_*p_.

I would like Edgardo---& others more experienced with the Physics package than I am---to look at this. I do not understand the Physics package well enough to judge whether overloading the exponentiation operator to make this work is the right thing.

The example works once I replace p_^2 by p_.p_. But the ^2 notation is fairly standard usage so it feels slightly awkward.

Thanks,

Mac Dude.

Derivation_of_H.mw

The following illustrates a way to edit code when in Standard Worksheet.  Is there a bettery way?Thanks in advance,

Les

Let

and f=

The elements of W are none zero. I want a procedure that return "true" if f is none zero w.r.t. W and return

"false" otherwise.

hello 

 

if you have a function lets say: 2x+1/4-x3

 

 

Now if you have to plot the graf, how should you know what the x and y shoud be? I mean you do like: plot(f(x),x=..

 

what should it be? i find it hard :(

Hello, 

 

I'm trying built a graph in cylindrical coordinates. I have 3 matrix X(20,30); Y(20,30), and temperatura T(20,30). The matrices X and Y are already in cylindrical coordinates. In matlab is just "pcolor (X,Y,T)". Anyone can help me?

X and Y are the coordinates of cylinder discretized (z was not included)

I have this plot in matlab, but i need it in maple.

Thanks

Hello, forgive me if I used bad english, I am not a native speaker.

 

Anyhow: I have to decide the set of coordinates looking at the grafs intersections.  (I hope you understand that)

 

This is my function: f(x)=1/4*x3-x2-x+4

 

When you plot the function you see that the intersections is (-2,0) (2,0) and (4,0)

 

BUT I have to use a command to find these three intersections, plzz help me!

 

THANK YOU indeed.

 

 

[point of] intersection

Are there any commands in maple that will help me find a suitable function that approximates the numerical solution of:



  restart;
  PDE := diff(v(x, t), t) = diff(v(x, t), x, x);
  JACOBIINTEGRAL := int(JacobiTheta3(0, exp(-Pi^2*s))*v(1, t-s)^4, s = 0 .. t);
  IBC:= D[1](v)(0,t)=0,
        D[1](v)(1,t)=-0.000065*v(1, t)^4,
        v(x,0)=1;
#
# For x=0..1, t=0..1, the solution varies only very slowly
# so I have increased the timestep/spacestep, just to speed
# up results generation for diagnostic purposes
#
  pds := pdsolve( PDE, [IBC], numeric, time = t, range = 0 .. 1,
                  spacestep = 0.1e-1, timestep = 0.1e-1,
                  errorest=true
                )

diff(v(x, t), t) = diff(diff(v(x, t), x), x)

 

int(JacobiTheta3(0, exp(-Pi^2*s))*v(1, t-s)^4, s = 0 .. t)

 

(D[1](v))(0, t) = 0, (D[1](v))(1, t) = -0.65e-4*v(1, t)^4, v(x, 0) = 1

 

_m649569600

(1)

#
# Plot the solution over the ranges x=0..1,
# time=0..1. Not a lot happens!
#
  pds:-plot(x=1, t=0..1);

 

#
# Plot the estimated error over the ranges x=0..1,
# time=0..1
#
  pds:-plot( err(v(x,t)), x=1,t=0..1);

 

#
# Get some numerical solution values
#
  pVal:=pds:-value(v(x,t), output=procedurelist):
  for k from 0 by 0.1 to 1 do
      pVal(1, k)[2], pVal(1, k)[3];
  od;

 

t = 0., v(x, t) = Float(undefined)

 

t = .1, v(x, t) = .999977377613528229

 

t = .2, v(x, t) = .999967577518313666

 

t = .3, v(x, t) = .999959874331053822

 

t = .4, v(x, t) = .999952927885405241

 

t = .5, v(x, t) = .999946262964885979

 

t = .6, v(x, t) = .999939702966688881

 

t = .7, v(x, t) = .999933182128311282

 

t = .8, v(x, t) = .999926675964661227

 

t = .9, v(x, t) = .999920175361791563

 

t = 1.0, v(x, t) = .999913676928735229

(2)

 

 

 

Download PDEprob2_(2).mw

 

I am refering to the first graph, is there a way in maple to find an explicit suitable approximating function?

I.e, I want the function to have the same first graph obviously, it seems like addition of exponent and a line function, I tried plotting exp(-t)-0.3*t, it doesn't look like it approximates it very well. Any suggestion on how to implement this task in maple?

Thanks.

 

I'm have used a program to find the roots of a function 

 

f:=x*cos(x)-sin(x)*sin(x/1000);
/ 1 \
x cos(x) - sin(x) sin|---- x|
\1000 /

x_max:=50; x_min:=-50; step:=2; i_max:=(x_max-x_min)/step;
50
-50
2
50

j:=1:
for i from 0 to i_max by 1 do
x0:=x_min+i*step;
x[j]:=fsolve(f=0,x=x0);
j:=j+1;
end:

 

and my output was of the form of multiple "potential" roots and a bunch of which are the same. So I tried to get rid of the ones which were the same before actually finding the ones which ARE roots. To do that I done....

 

 

j := 1; for j to 50 do if x[j]-x[j+1] = 0 then ignore(x[j]) else print(x[j]) end if end do:

 

and it got rid of the ones which are of the above form but some roots are the same and seperated by more than 1 ... i.e x[ j ]= x[j + 2] or some other number. 

 

Basically I am trying to generalise the above for loop for all "numbers" instead of 1 but when I try some things the for loop doesnt like it. 

Any help would be good!

 

 

First 1215 1216 1217 1218 1219 1220 1221 Last Page 1217 of 2434