MaplePrimes Questions

Hello,

 

I have a complex set of non linear diff eqns in the form :

y1'' = f(y1',y1,y2'',y2',y2,y3'',y3',y3,y4'',....,y6'',y6',y6,u1,u2,u3,u4) ;

y2'' = f(y1'',y1',y1,y2',y2,y3'',y3',y3,y4'',....,y6'',y6',y6,u1,u2,u3,u4)

and so on ... y6''=(...)

As I want to resolve this coupled systeme in matlab using @ODE45... I wanted the equations in the form : y1''=f(y1',y1,y2',y2,....) and so on ... => X'[] = f(X[],U[])

 

How can I force maple to rearrange a system of coupled eqns with only the variables i want ?

 

I know this is possible beacause it is a nonlinear state space model but maple do not work with nonlinear state space model... It give me error when I tried to create statespace model with my non linear diff eqns.

 

Thanks a lot !


----------------------------------------------------------------------------------------------------------------------
Introduction

I have a matrix (named DC on the piece of code below) all the elements of which are complex numbers a+b*I with a and b floating point numbers.
I want to obtain the real part of DC.

Obviously, if you do something like :
DC := Matrix(2,2, [1.0+1.0*I, 1.0-1.0*I, -1.0+1.0*I, -1.0-1.0*I];
Re~(DC);

the result corresponds to the desired matrix

----------------------------------------------------------------------------------------------------------------------
Context

In fact this matrix DC comes from some computations  described in the piece of code below

# Purpose :
# Given N points in a plane (here  in [0,1]X[0,1]), compute the matrix DX of distances between these points
#
# Example : if Pi and Pj are two such points, DX[i,j]=DX[j,i] denotes the Euclidian distance between Pi and Pj
#
# As I did not be able to find any single function in MAPLE that would construct DX , I proceed that way :
#   1/ let X the (N,2) matrix that contains the coordinates of the N points
#   2/ I represent these  N points as N complex numbers (vector C)
#   3/ I construct the (N,N) matrix MC = <C | C …..| C>
#   4/ I put MC = C – Transpose(C) :
#   5/ I take the norm DX of each elements of DC : DX := abs~(DC)
#       At this point, DX should contain the desired distances
#       But, due to floating point arithmetics, each element of DX writes a+0.*I where a is some floating point number)
#   6/ Last stage : execute Re~(DX)
#

with(Statistics):
with(LinearAlgebra):

N := 4:
X := Matrix(N,2, convert(Sample(Uniform(0,1), 2*N), list)):  #just an example

C   := X[..,1] +~ X[..,2] *~I;
MC := Multiply(C, Vector[row](N, 1));
DC := MC - Transpose(MC);
DX := abs~(DC);
Re~(DX)


----------------------------------------------------------------------------------------------------------------------
 My observations : 

1/ Maple 2015, Windows XP, 64 bytes
Re~(DX) returns DX and does not remove the imaginary (0.*I) part
But  Matrix(N, N, Re~(convert(DC, list))) does (which is a satisfactory, even if not clever, stopgap)

Why (it is just a question to help me to understand correctly how MAPLE proceeds) Re~(DC) does not (seem) to work here ?


2/ Maple 2015.2, Mac OS X El Capitan
DX := abs~(DC) gives me this strange result :
If (for instance) DC[i, j] = -1 – 2*I, DX[i, j] = +1 + 2*I
According to the compatibility problems between Maple 2015.1 and “El Capitan” (fixed from February), could it remain a few other problems ?

Last but not lesat : Did I do any syntax error ?


 I look forward to your responses

Hello,

I have a little question about the property "local" or not of a index in a for loop.

I notice that when I make "for loop" the index i is not local. In the small example, when I ask to evaluate i after having done this loop, the answer is 5 and not i.

Example :

for i from 1 to 4 do
i^2
od;

i; --> 5

How can I do to ask Maple to use index as local ?

Thanks a lot for your help.

 

Dear all,

I have a question: how to compute the roots of exp(z) = -1 with z in C? 

I tried: 

fsolve( exp(z) = -1, z, complex );

But it only gives one root (0.1671148658e-3+4.934802220*10^9*I) which does not even seem to be correct. I would prefere smth like z_n = I*(2*n-1)*pi or at least multiple roots...

By using

solve(exp(x) = -1, x);

it returns I*Pi.

 

MATLAB MuPAD gives the desired result:


solve(exp(x) = -1, x)

(PI*I + 2*PI*k*I, k in Z)

 

 

Thanks!

solarsysem.mw Sorry for the repost but this is my newest document.

I have to create a solar system model on maple by defining a force equation then using the seq function to create a diffeq and then solving those differential equations using the initial conditions with the sun at (0, 0, 0) in xyz coordinates.

It works until my last "ic1" entry and I get an error in dsolve/numeric/process_input

I'm pretty desperate, I'll appreciate any help I can get

 

 

 

 

I am a new user. I have a worksheet and need to see how the the procs are being accessed as it does not look like they are being called and executed as I would expect. What is the most efficient way to debug and see the calling order of my Procs?

 

Thanks in advance,

Bonnie

Hi, 

I am a college student that is aspiring to become a theoretical theorist. I have postulates that are not in mathematical form yet, and I would like to use a program that can help with this process. I am new to the usage of Maple products, and I have questions. Is it possible to use Maple in this way, before getting to the difficult calculus steps? Can MapleSim or Maple Physics, perform simulations, or models of physics calculations?

Thank you,

Roi

 

Wanting to edit a post of mine, I accidentally clicked the 'More'-button and chose 'Edit' on anothers post. I immediately saw that it was not my post, and did of course not alter it. But it left me somewhat shocked, for it would seem to imply that anyone can edit (and delete, as well, have just investigated that) anyones post(s). That I think is something that really needs to be remedied as soon as possible.

Here is my command and i will use to make the user interface.

Orginal:

for i to l do

for j from x to y do

block[i][j] := 1-block[i][j]

end do;

c_block[i] := block[i];

c_block[i] := parse(cat(c_block[i][]))

end do

Can someone help me to edit my command so that i can write it in Click Edit Action for a button? thank you.

Do(for i from 1 to %l do)
   Do(for j from x to y do)
      Do(block[i][j] = 1-block[i][j]); 
    end do);
   Do(c_block[i] := block[i]);
  Do( c_block[i] := parse(cat(c_block[i][])));
end do);

Hey

I have a very simple function and I need to plot it. The plot is however not smooth and there are annoying cuts and steps which don't go away no matter how I set the options. This problem has been puzzling me for a while and I really appreciate any help.

The followings are all the possible options I could find, none seems to work. You can take a look at this file: ploting_problem.mw

Thanks

I saw yesterday evening (at home) a very elegant answer to my question "Intersection of real intervals" .
Unfortunately I can't retrieve it this morning (I'm in the office)

It was something like  coulitbe('_x' ...) ... but I don't remember it entirely
I think it came from Carl Love or maybe Mac Dude

 Could you please send me it again ?

 

Thanks


Suppose I have a triplet a[5], a[6], a[7]and an expression given as below:

V[5]*a[5]+V[6]*a[6]+V[7]*a[7]+V[2]+V[9]

How I can list all possible forms of above expression for triplet "(a[5], a[6], a[7])->(a[5], a[6], a[7]), (a[5], a[6], 0), (a[5], 0, a[7]), (0, a[6], a[7]), (a[5], 0, 0), (0, a[6], 0 ), (0, 0, a[7]), (0, a[6], 0), (0, 0, 0) "etc


Download triplet.mw

Regards

Dear all

I need a help to compute the integral from -1 to 1 of product of derivative of legendre polynomial

> restart;
> with(orthopoly);

P(n, x); # Designe the legendre polynomial of degree n
I would like to compute

int(diff(P(n,x),x)*diff(P(m,x),x),x=-1..1) ;

 

In this previous formula when I put n=2 and m=3 I can get the result but in general  case i cannot,

Many thanks

 

 

Howdy all,

I am trying to create a solar system model by defining a force equation then using the sequence function to create a differential equation and then solving those differential equations using the initial conditions (in X,Y,Z coordinates). So far I have the code below.


m[1] = 1.989*10^30; m[2] = 3.301*10^23; m[3] = 4.867*10^24; m[4] = 5.972*10^24+7.346*10^22; m[5] = 6.417*10^23; m[6] = 1.899*10^27; m[7] = 5.685*10^26; m[8] = 8.682*10^25; m[9] = 1.024*10^26; m[10] = 1.471*10^22; m[11] = 9.3*10^20; m[12] = 2.6*10^20; m[13] = 2*10^20; m[14] = 8.67*10^19; m[15] = 3.9*10^19; mass := Matrix(15, 1, [1.989*10^30, 3.301*10^23, 4.867*10^24, 5.972*10^24+7.346*10^22, 6.417*10^23, 1.899*10^27, 5.685*10^26, 8.682*10^25, 1.024*10^26, 1.471*10^22, 9.3*10^20, 2.6*10^20, 2*10^20, 8.67*10^19, 3.9*10^19]); G := 6.67408*10^(-11)

mass := Vector(4, {(1) = ` 15 x 1 `*Matrix, (2) = `Data Type: `*anything, (3) = `Storage: `*rectangular, (4) = `Order: `*Fortran_order})

 

0.6674080000e-10

(1)

sqrt(sum(x[i](t)^2, i = 1 .. 3));

(x[1](t)^2+x[2](t)^2+x[3](t)^2)^(1/2)

 

proc (i, j) options operator, arrow; sqrt(sum((x[i, k](t)-x[j, k](t))^2, k = 1 .. 3)) end proc

 

((x[1, 1](t)-x[3, 1](t))^2+(x[1, 2](t)-x[3, 2](t))^2+(x[1, 3](t)-x[3, 3](t))^2)^(1/2)

 

proc (i, j) options operator, arrow; [x[j, 1](t)-x[i, 1](t), x[j, 2](t)-x[i, 2](t), x[j, 3](t)-x[i, 3](t)] end proc

 

[x[3, 1](t)-x[1, 1](t), x[3, 2](t)-x[1, 2](t), x[3, 3](t)-x[1, 3](t)]

 

x[3, 1](t)-x[1, 1](t)

 

x[j, 1](t)-x[i, 1](t), x[j, 2](t)-x[i, 2](t), x[j, 3](t)-x[i, 3](t)

 

proc (i, j) options operator, arrow; [seq(x[j, k](t)-x[i, k](t), k = 1 .. 3)] end proc

 

[x[3, 1](t)-x[1, 1](t), x[3, 2](t)-x[1, 2](t), x[3, 3](t)-x[1, 3](t)]

 

x[3, 1](t)-x[1, 1](t)

(2)

diff(x[0, 1](t), t, t) = force(0)[1]:

initialPositions := Matrix([[0, 0, 0], [-0.210e8, 0.426e8, 0.541e7], [0.106e9, -0.244e8, -0.644e7], [-0.139e9, -0.569e8, 0.316e4], [-0.177e9, -0.155e9, 0.111e7], [-0.802e9, 0.131e9, 0.174e8], [-0.480e9, -0.142e10, 0.438e8], [0.280e10, 0.103e10, -0.324e8], [0.420e10, -0.157e10, -0.645e8], [0.132e10, -0.477e10, 0.127e9], [0.431e9, -0.690e8, -0.816e8], [0.228e9, 0.305e9, -0.368e8], [0.300e9, -0.351e9, 0.217e9], [-0.434e9, -0.841e7, -0.284e8], [-0.115e9, -0.466e9, -0.612e8]])

initialPositions := Vector(4, {(1) = ` 15 x 3 `*Matrix, (2) = `Data Type: `*anything, (3) = `Storage: `*rectangular, (4) = `Order: `*Fortran_order})

(3)

initialVelocities := Matrix([[0, 0, 0], [-0.462e7, -0.170e7, 0.285e6], [0.666e6, 0.293e7, 0.183e4], [0.936e6, -0.239e7, 83.3], [0.145e7, -0.140e7, -0.650e5], [-0.196e6, -0.106e7, 0.879e4], [0.745e6, -0.271e6, -0.250e5], [-0.208e6, 0.524e6, 0.467e4], [0.161e6, 0.442e6, -0.129e5], [0.463e6, 0.294e5, -0.137e6], [0.193e6, 0.143e7, 0.923e4], [-0.119e7, 0.974e6, 0.116e6], [0.978e6, 0.562e6, -0.470e6], [0.166e6, -0.156e7, -0.131e5], [0.132e7, -0.170e6, 0.395e6]])

initialVelocities := Vector(4, {(1) = ` 15 x 3 `*Matrix, (2) = `Data Type: `*anything, (3) = `Storage: `*rectangular, (4) = `Order: `*Fortran_order})

(4)

ic1 := seq(seq(x[i, k](0) = initialPositions[i+1, k], k = 1 .. 3), i = 0 .. N-1); ic2 := seq(seq((D(x[i, k]))(0) = initialVelocities[i+1, k], k = 1 .. 3), i = 0 .. N-1); equations := {ic1, ic2, ode}; sol := dsolve(equations, numeric)

Error, (in dsolve/numeric/process_input) invalid specification of initial conditions, got {x[0, 1](0) = 0, x[0, 2](0) = 0, x[0, 3](0) = 0, x[1, 1](0) = -0.210e8, x[1, 2](0) = 0.426e8, x[1, 3](0) = 0.541e7, x[2, 1](0) = 0.106e9, x[2, 2](0) = -0.244e8, x[2, 3](0) = -0.644e7, x[3, 1](0) = -0.139e9, x[3, 2](0) = -0.569e8, x[3, 3](0) = 0.316e4, x[4, 1](0) = -0.177e9, x[4, 2](0) = -0.155e9, x[4, 3](0) = 0.111e7, x[5, 1](0) = -0.802e9, x[5, 2](0) = 0.131e9, x[5, 3](0) = 0.174e8, x[6, 1](0) = -0.480e9, x[6, 2](0) = -0.142e10, x[6, 3](0) = 0.438e8, x[7, 1](0) = 0.280e10, x[7, 2](0) = 0.103e10, x[7, 3](0) = -0.324e8, x[8, 1](0) = 0.420e10, x[8, 2](0) ...

 

plots[odeplot](sol, [x[1, 1](t), x[1, 2](t), x[1, 3](t)], t = 0 .. 20, numpoints = 1000, axes = normal)

Error, (in plots/odeplot) input is not a valid dsolve/numeric solution

 

plots[odeplot](sol, [seq(x[1, k](t), k = 1 .. 3)], t = 0 .. 20, numpoints = 1000, axes = normal)

Error, (in plots/odeplot) input is not a valid dsolve/numeric solution

 

plots[odeplot](sol, [seq([seq(x[i, k](t), k = 1 .. 3)], i = 0 .. N-1)], t = 0 .. 20, numpoints = 1000, axes = normal)

Error, (in plots/odeplot) input is not a valid dsolve/numeric solution

 

``


Download ass4.mw

Everything works fine until I try to execute the last line. When I do that I get an error that says "Error, in dsolve/numeric/process_input. invalid specifications of initial conditions.

At this point I am not sure if the problem lies in how I have defined my initial conditions or the way i've defined the force equation but I am open to any suggestions or ideas on where I should go from here.

Thanks in advance!

 

Nick

i use the pdsolve to find the solutions of a system of partial differential equations,

but the result contains some indefinite integrals, how to simplify it further?

thank you

code:

eq1 := {6*(diff(_xi[t](x, t, u), u))-3*(diff(_xi[x](x, t, u), u)), 12*(diff(_xi[t](x, t, u), u, u))-6*(diff(_xi[x](x, t, u), u, u)), 2*(diff(_xi[t](x, t, u), u, u, u))-(diff(_xi[x](x, t, u), u, u, u)), diff(_eta[u](x, t, u), t)+diff(_eta[u](x, t, u), x, x, x)+(diff(_eta[u](x, t, u), x))*u, 18*(diff(_xi[t](x, t, u), x, u))+3*(diff(_eta[u](x, t, u), u, u))-9*(diff(_xi[x](x, t, u), x, u)), 6*(diff(_xi[t](x, t, u), x, x))+3*(diff(_eta[u](x, t, u), x, u))-3*(diff(_xi[x](x, t, u), x, x)), 6*(diff(_xi[t](x, t, u), x, u, u))+diff(_eta[u](x, t, u), u, u, u)-3*(diff(_xi[x](x, t, u), x, u, u)), 12*(diff(_xi[t](x, t, u), u))-6*(diff(_xi[x](x, t, u), u))+6*(diff(_xi[t](x, t, u), x, x, u))-6*(diff(_xi[t](x, t, u), u))*u+3*u*(diff(_xi[x](x, t, u), u))-3*(diff(_xi[x](x, t, u), x, x, u))+3*(diff(_eta[u](x, t, u), x, u, u)), 12*(diff(_xi[t](x, t, u), x))-6*(diff(_xi[x](x, t, u), x))+2*(diff(_xi[t](x, t, u), t))+2*(diff(_xi[t](x, t, u), x, x, x))-4*(diff(_xi[t](x, t, u), x))*u+2*(diff(_xi[x](x, t, u), x))*u+_eta[u](x, t, u)-(diff(_xi[x](x, t, u), t))+3*(diff(_eta[u](x, t, u), x, x, u))-(diff(_xi[x](x, t, u), x, x, x))};

simplify(pdsolve(eq1))

 

First 1134 1135 1136 1137 1138 1139 1140 Last Page 1136 of 2434