MaplePrimes Questions

Hi,

I want to write my first module, and I failed!  I create an instance of the class (module?)

myList := TestModule(3);                    # works.

But I've no acess to the members, since I use export! What's wrong?

myList:-get_n;
myList:-set_n(20);
myList:-run();

Error, `myList` does not evaluate to a module
Error, `myList` does not evaluate to a module
Error, `myList` does not evaluate to a module


# *****************************************************************************

TestModule := module()
    export get_n, set_n, run;
    local  n, result, ModuleApply, profileRun;
    option package;
    description "A testmodule";

    # Constructor
    ModuleApply := proc(n)
        print("Calling of Module Apply...");
         thismodule:-n := n;
         result := [];
         profileRun();
         return result;
     end proc:


    # Implementation of member run
     run := proc()
         print("Calling of run...");
         dummy := [];
         for i from 1 to 20000 do
            dummy := [op(dummy), i]
         end do;
         result := TRUE;
    end proc;
    
    # Implementation of member runprofile;
     profileRun := proc()
          print("Call of profileRun...");
          CodeTools[Profiling]:-Profile(run);
           run();
           CodeTools[Profiling]:-PrintProfiles(run);
           CodeTools[Profiling]:-UnProfile(run);
     end proc;

     # getter
     get_n := proc()
         n;
     end proc;

     # setter
     set_n := proc(n)
         thismodule:-n := n;
     end proc;
     
end module;

 

Dear all!

Hope everything going fine with you. I am facing problem to integrate the attached file in this file we need the result of z[1] and others like y[1]. I am waiting your quick answer.

Help.mw

With my best regards and sincerely.

Muhammad Usman

School of Mathematical Sciences 
Peking University, Beijing, China

Email: muhammadusman@pku.edu.cn

Mob #: 0086-13001903838

 

Dear All

I am stucked at converting an differential expression in Jet notations. Maple is giving error as  expression contains composite derivatives. Please see attached file.


 

with(PDEtools, D_Dx, declare, ToJet, FromJet):

DepVars := [alpha(x, y, t), beta(x, y, t), xi(x, y, t), tau(x, y, t), eta(x, y, t), U(xi(x, y, t), tau(x, y, t), eta(x, y, t))]

[alpha(x, y, t), beta(x, y, t), xi(x, y, t), tau(x, y, t), eta(x, y, t), U(xi(x, y, t), tau(x, y, t), eta(x, y, t))]

(1)

alias(alpha = alpha(x, y, t), beta = beta(x, y, t), xi = xi(x, y, t), tau = tau(x, y, t), eta = eta(x, y, t), U = U(xi(x, y, t), tau(x, y, t), eta(x, y, t)))

alpha, beta, xi, tau, eta, U

(2)

declare(alpha, beta, xi, tau, eta, U)

alpha(x, y, t)*`will now be displayed as`*alpha

 

beta(x, y, t)*`will now be displayed as`*beta

 

xi(x, y, t)*`will now be displayed as`*xi

 

tau(x, y, t)*`will now be displayed as`*tau

 

eta(x, y, t)*`will now be displayed as`*eta

 

U(xi(x, y, t), tau(x, y, t), eta(x, y, t))*`will now be displayed as`*U

(3)

u := U*beta+alpha

beta*U+alpha

(4)

diff(u, x)

(diff(beta, x))*U+beta*((D[1](U))(xi, tau, eta)*(diff(xi, x))+(D[2](U))(xi, tau, eta)*(diff(tau, x))+(D[3](U))(xi, tau, eta)*(diff(eta, x)))+diff(alpha, x)

(5)

ToJet((diff(beta, x))*U+beta*((D[1](U))(xi, tau, eta)*(diff(xi, x))+(D[2](U))(xi, tau, eta)*(diff(tau, x))+(D[3](U))(xi, tau, eta)*(diff(eta, x)))+diff(alpha, x), DepVars)

Error, invalid input: PDEtools:-ToJet expects its 2nd argument, DepVars, to be of type Or(`PDEtools/F(...)`, name, And(Or(list({name, `PDEtools/F(...)`}), set({name, `PDEtools/F(...)`})), satisfies(proc (SL) options operator, arrow; evalb(0 < nops(SL)) end proc))), but received [alpha(x, y, t), beta(x, y, t), xi(x, y, t), tau(x, y, t), eta(x, y, t), U(xi(x, y, t), tau(x, y, t), eta(x, y, t))]

 

I guess ToJet is not working in case of composite function.

But how I can  display derivatived (D[1](U))(xi, tau, eta)as U[xi]


 

Download Composite_Derivative.mw

I have written a C++ program which I feed in an input from Maple which has been converted using the CodeGeneration package in Maple and stored in a text file. For it to be processed in C++ I need to remove the cg = at the start of the Maple output expression. An example of this is as follows:

C(x^2+y^2+z^2);

cg = x * x + y * y + z * z

C++ cannot process the cg= at the start of the string and so I have found ways around it by using Bash or C++ itself to remove or ignore the cg = but I was wondering if it was possible to just not have Maple print it to begin with?

- Yeti

I have looked everywhere for help on how to format decimals to indicate they are recurring; or there is a set of numbers that is recurring. Normal notation would show a point above the the appropriate digits that follow the decimal point to indicate recurrence.

I'm sure it is simple to do but I cannot find the help that I need from the Maple help.

Regards, DLW

I am trying to achieve an intuitive (non-mathematical) understanding of parallel transport on the unit sphere.
A vector parallel transported along a unit sphere's geodesic clearly maintains as constant its initial orientation vis-a-vis the geodesic i.e. with regard to its moving bases vectors.

Dr. Lopez's application "Visualizing a Parallel Field in a Curved Manifold" displays animation of the parallel transport of a vector along a latitude, which is not a geodesic. As seen by an observer moving with it, the vector rotates clockwise with regard to its moving bases vectors. The rate of rotation increases with higher latitudes.

Then to what is the transported vector maintaining parallelism?

I have uploaded a Maple 2016 worksheet Parallel_transport_on_the_unit_sphere.mw which mostly copies Dr. Lopez's application and, for additional clarity, adds the unit sphere, the moving bases vectors and the moving tangent plane to his display.

> restart;
> with(plots);
> pr := .72; p := 0; n := [2, 3, 4, 5]; s := 1; a := .2; b := 1;
> R1 := 2*n/(n+1);
                               2 [2, 3, 4, 5]
                              ----------------
                              [2, 3, 4, 5] + 1
> R2 := 2*p/(n+1);
                                      0
>
>
> for j to nops(n) do R1 := 2*n[j]/(1+n[j]); R2 := 2*p/(1+n[j]); sol1 := dsolve([diff(diff(diff(f(eta), eta), eta), eta)+f(eta)*(diff(diff(f(eta), eta), eta))+R1*(1-(diff(f(eta), eta))^2) = 0, diff(diff(theta(eta), eta), eta)+pr*s^f(eta)*(diff(theta(eta), eta))+R2*pr*s*(diff(f(eta), eta))*theta(eta)+2*(a*(diff(f(eta), eta))+b*theta(eta))/(n[j]-1) = 0, f(0) = 0, (D(f))(0) = 1+b*((D@@2)(f))(0), (D(f))(5) = 0, theta(0) = 1+s*(D(theta))(0), theta(5) = 0], numeric, method = bvp); fplt[j] := plots[odeplot](sol1, [eta, diff(diff(f(eta), eta), eta)], axes = boxed); tplt[j] := plots[odeplot](sol1, [[eta, theta(eta)]], axes = boxed) end do;
>
> plots:-display([seq(fplt[j], j = 1 .. nops(n))]);

 

> plots:-display([seq(tplt[j], j = 1 .. nops(n))]);

 

 

Dear sir

In the above problem graph, i am getting all the lines are in same color then how to identify the lines of different values like n=2,3,4,5,6(or can we set different color for different values of n for each line)

For the ODE system with boundary conditions, I was able to obtain solutions for n=0, but not for n>0. I obtained the error, Initial newton iteration is not converging. Anyone knows the solution for this? I am open to all suggestions and any help would be greatly appreciated:)

 

ODE_solution.mw

How do I convert an equation into a vectorial form in Maple?

Say you hav f_1(v)=-1/2*C*p*v*V

where V=[vx, vy] and v=|V|.

 

v=46m/s^2, A=18m^2, p=1,1

 

Important Question
Anyone figured out how to upload a worksheet since the revamp? Big green up-arrow appears no longer functional

Less important question
Mapleprimes input window can no longer be stretched horizontally - is this deliberate?

Trying to write a generat purpose procedure insteat of having 3 or 4 different named procceduers.

Need to determine the input types of say A,B,C

Proc(A,B,C)

1) A,B,C could be for the form 3/2 , 5x-7 , x^2-sqrt(x+3)  i.e numbers or formulas

2) A,B,C could be 2 elenent lists [2,3]  , [5x-6y,8x+2] ,[2,sqrt(3)]  i.e 2D points

3) A,B,C could be 3 element lists as above    i.e 3D points

4) A,B,C could be 2D vectors

5) A,B,C could be 3D vectors

A, B, C will not be of mixed types but would be good to check A, B, C for consistency and if not retrun an error

Looking to calculate output based on

If type 1) ......

elif type 2).....

.

.

elif type 5)...

end if

return.....

end proc

 

 

> restart;
> with(plots);
> pr := .72; p := 0; n := 1; s := 1; a := [-0.5,0.0,0.5]; b := 1;
> R1 := 2*n/(n+1);
                                      1
> R2 := 2*p/(n+1);
                                      0
>
>
> for j to nops(a) do R1 := 2*n/(n+1); R2 := 2*p/(n+1); sol1 := dsolve([diff(diff(diff(f(eta), eta), eta), eta)+f(eta)*(diff(diff(f(eta), eta), eta))+R1*(1-(diff(f(eta), eta))^2) = 0, diff(diff(theta(eta), eta), eta)+pr*s^f(eta)*(diff(theta(eta), eta))+R2*pr*s*(diff(f(eta), eta))*theta(eta)+2*(a[j]*(diff(f(eta), eta))+b*theta(eta))/(n+1) = 0, f(-.5) = 0, (D(f))(0) = 1+b*((D@@2)(f))(0), (D(f))(5) = 0, theta(-.5) = 1+s*(D(theta))(0), theta(5) = 0], numeric, method = bvp); fplt[j] := plots[odeplot](sol1, [eta, diff(diff(f(eta), eta), eta)], color = ["blue", "black", "orange"]); tplt[j] := plots[odeplot](sol1, [eta, theta(eta)], color = setcolors(["red", "Coral"])) end do;
Error, (in dsolve/numeric/process_input) boundary conditions specified at too many points: {0, 5, -1/2}, can only solve two-point boundary value problems
>
> plots:-display([seq(fplt[j], j = 1 .. nops(a))], color = [green, red]);

> plots:-display([seq(tplt[j], j = 1 .. nops(a))], color = [green, red]);

 

Dear sir,

In this program i m not getting the solution for decimal values and i do not have idea about the how to set different color for multiple lines(i tried for different set of colors but it shows that only for first color )

Hi,

I want to find the inverse of a 11x11 matrix which I imported from excel using the import data tool. When I try to find the the inverse it gives me this error:

-----------------------------------------------------------------------

K:=ExcelTools:-Import("C:\\Assignment 2.xlsx", "Q2", "V7:AF17");

K := Vector(4, {(1) = ` 1..11 x 1..11 `*Array, (2) = `Data Type: `*anything, (3) = `Storage: `*rectangular, (4) = `Order: `*Fortran_order})

with(LinearAlgebra):
kkk:=convert(K, matrix):
KK:=MatrixInverse(kkk);

Error, (in MatrixInverse) MatrixInverse expects its 1st argument, M, to be of type {Matrix, [Matrix(square)], [Vector, Matrix(square)], [Matrix(square), Matrix(square), Matrix(square)]} but received kkk

 

Can someone please help me out??? Thank you

First 1066 1067 1068 1069 1070 1071 1072 Last Page 1068 of 2434