mmcdara

7002 Reputation

18 Badges

8 years, 226 days

MaplePrimes Activity


These are questions asked by mmcdara

When using the Statistics package to declare a variable, let's say A,  as random, this variable is associated (assigned?) to a variable of name _R or _Rn with n a non-negative integer.
Subsequently, each expression you construct that contains the name A is displayed in a form where A has been replaced by its "alias" name _Rn.
Here is an example
 

restart:
with(Statistics):
A := RandomVariable(Uniform(0, 1)):
B := RandomVariable(Uniform(0, 2)):
C := RandomVariable(Uniform(1, 2)):
F :=  (A+2*B)/C
                          _R + 2 _R0
                          -----------
                              _R1    

Is it possible,  to display F under its original form?
Is it possible to recover that _R is in fact A, that _R0 is in fact B and so on?

Maple (2015) fails to instanciate a Matrix with a list of elements of type string
(for instance Matrix(2, 2, ["A", "B", "C", "D"]) )

Matrix(2$2, [1$4]):    # ok
Matrix(2$2, [A$4]):    # ok

Matrix(2$2, ["A"$4]);  # not correctly understood by Maple (2015) 
Error, (in Matrix) initializer defines more columns (4) than column dimension parameter specifies (2)

Is this a bug?
Maybe something corrected in earlier versions?

I solve numerically a DAE system whose independent variable is named t and the dependent variables are d[1](t), ..., d[n](t).
I would like to to 2D or 3D plots of the solutions and color the resulting curve using a function f(...) of the remaining dependent variables.

Here is a simple example.

restart

with(plots):

0

(1)

sys := {
   diff(x(t), t) = v(t)
  ,diff(v(t), t) = cos(t)
  ,x(0) = -1
  ,v(0) = 0

  ,px(t) = piecewise(x(t) >=0, 1, -1)
  ,pv(t) = piecewise(v(t) >=0, 1, -1)
}:

sol := dsolve(sys, numeric):

 

odeplot(sol, [t, x(t), v(t)], t=0..4*Pi)
 

 

# I would like to color this space curve depending on the signs of x(t) and y(t)
#
# for instance, f being a "color function"
f := proc(s)
  local a, b:
  if s::numeric then
    a := round(eval(px(t), sol(s))):
    b := round(eval(pv(t), sol(s))):
    return piecewise(a+b = 2, "Green", a = 1, "Red", b = 1, "Blue", "Gold")
  end if:
end proc:

SOL := proc(s)
  if s::numeric then
    eval([t, x(t), v(t)], sol(s))
  end if:
end proc:


# I would like to make something like this to work

plot3d(SOL(s), s=0..4*Pi, colorfunc=f(s)):  #... which generates a void plot


 

# In some sense a continuous version of this

opts := symbol=solidbox, symbolsize=20:
display( seq(pointplot3d({SOL(s)}, opts, color=f(s)), s in [seq](0..6, 0.1)) );

 

 

Download coloring.mw

How can I fix (if possible) the syntax in the command 

plot3d(SOL(s), s=0..4*Pi, colorfunc=f(s)):

???

Thanks in advance

(Maple 2015)

Why is m1(t) not evaluated correctly when I use a compound condition?

restart:
m2(t) = piecewise(x1(t) < c and v1(t) < 0, 1,  0);
       m2(t) = piecewise(x1(t) < e2 and v1(t) < 0, 1, 0)

m1(t) = piecewise(x1(t) = c and v1(t) > 0, 0,  1);
                           m1(t) = 1

This doesn't happen for simple conditions
 

m2(t) = piecewise(x1(t) < c, 1,  0);
m1(t) = piecewise(x1(t) = c, 0,  1);
               m2(t) = piecewise(x1(t) < c, 1, 0)
               m1(t) = piecewise(x1(t) = c, 0, 1)

TIA

Sorry to bother moderators again but a question from @panke has just disappeared.
I browsed its old questions but found none in a recent past related to the one removed.
Can you please tell me where it has been moved ?

TIA

PS: I understand perfectly the need to avoid multiple occurrences of a same thread, but in case of the displacement of a question, couldn't a systematic message be sent?

First 12 13 14 15 16 17 18 Last Page 14 of 45