Maple Questions and Posts

These are Posts and Questions associated with the product, Maple

I want to translate my maple code with matrice multiplication  to C code. But the command  "Multiply" cannot be translated. So I want to edit the function translation by myself. I use "AddFunction" command to create a new function  "Multiply" and want to specify its corresponding C code.

 


f := proc ()
local x,y;
x := Matrix([[1, 2], [3, 4]]);
y := Matrix([[1,3],[4,2]]);
Multiply(x, y);
NULL;
end proc;

LanguageDefinition:-Define("NewC", extend = "C", AddFunction("Multiply", [Matrix,Matrix]::Matrix,
proc (X, Y)
local a,b;
a := 2;
b := convert(a, string);
Printer:-Print("Mmultiply(", X);
Printer:-Print(",", Y, ")"); Printer:-Print("\n");
Printer:-Print("from", b, "to");
Printer:-Print(",", Y, "do") end proc, numeric = double));
Translate(f, language = "NewC")

 

But when I run it, the "Multiply" function cannot be translated.  The result is:

 

Warning, type signature [CodeGeneration:-Names:-ArrayType(integer,CodeGeneration:-Names:-ArrayRanges(1 .. 2,1 .. 2),CodeGeneration:-Names:-ArrayOptions()), CodeGeneration:-Names:-ArrayType(integer,CodeGeneration:-Names:-ArrayRanges(1 .. 2,1 .. 2),CodeGeneration:-Names:-ArrayOptions())] for function Multiply is not recognized
void f (void)
{
  int x[2][2];
  int y[2][2];
  x[0][0] = 1;
  x[0][1] = 2;
  x[1][0] = 3;
  x[1][1] = 4;
  y[0][0] = 1;
  y[0][1] = 3;
  y[1][0] = 4;
  y[1][1] = 2;
  Multiply(x, y);
  ;
}

I don't know why "Multiply(x,y)" cannot be translated.

If I put two "Multiply(x, y)" in the procedure, like this:


f := proc ()
local x,y;

Multiply(x, y);
x := Matrix([[1, 2], [3, 4]]);
y := Matrix([[1,3],[4,2]]);
Multiply(x, y);
NULL;
end proc;

LanguageDefinition:-Define("NewC", extend = "C", AddFunction("Multiply", [Matrix,Matrix]::Matrix,
proc (X, Y)
local a;
a := 2;
b := convert(a, string);
Printer:-Print("Mmultiply(", X);
Printer:-Print(",", Y, ")"); Printer:-Print("\n");
Printer:-Print("from", b, "to");
Printer:-Print(",", Y, "do") end proc, numeric = double));
Translate(f, language = "NewC")

THe result is:

Warning, cannot resolve types, reassigning x's type
Warning, cannot resolve types, reassigning y's type
Error, (in CodeGeneration:-IssueError) type 'Matrix' cannot be translated to target language

I don't know why type 'Matrix' cannot be translated.

 

 

Maplesim 7.0(1) installer looks for Maple 18 installation.  Will Maplesim work with Maple 2015?

If not, what is the expected date of making both products compatible?

Regards,

G

integral.mw

 

Hi all, I want the best for you.

I really have confused with this bad integral (HeunB)which I've got it 2 weeks ago from a solution by Maple 17. I should solve this one to solve the derivative of this too.

 

Help me please, I attached the attribute file.

Regards.

Hi all,

 

It's been a while since I have used Maple. To be honest I haven't used it for over six years.

 

I am trying to solve simple differential equations, however I have many issues.

 

I am trying to simulate what author of this paper did 06421188.pdf

 

My file looks like this (Pendulum.mw)

 

Can someone help me to simulate this system? I simply can't remember how to do it.

 

Cheers,

Bart

Attached is a photo with the code I am working for.  

On the top is practice code with a simpler ODE to help with trouble shooting, on the bottom is the ODE I am working with.

I was hoping to gain insight about the _z1 symbol in the solution, I haven't been able to find much help on other threads.  I would like to know how I can go about working with it - if it is something on my end or if it is the nature of the equation I am working with.

 

Thank you for any help,

Josh

I have a nice procedure that is as follows, that explores the behaviour of a mapping in R^2.

InversePoincare := proc (v) options operator, arrow; v*Norm(v, 2)/(1-Norm(v, 2)^2) end proc

SphereVectorPlot := proc (T, radius, radiusIncrements, angleIncrements, lengthParam)
local listOfPairs;
listOfPairs := {seq(seq([[radius*r*cos(2*angle*Pi/angleIncrements)/radiusIncrements, radius*r*sin(2*angle*Pi/angleIncrements)/radiusIncrements], T(InversePoincare(`<,>`(radius*r*cos(2*angle*Pi/angleIncrements)/radiusIncrements, radius*r*sin(2*angle*Pi/angleIncrements)/radiusIncrements)))-InversePoincare(`<,>`(radius*r*cos(2*angle*Pi/angleIncrements)/radiusIncrements, radius*r*sin(2*angle*Pi/angleIncrements)/radiusIncrements))], r = 0 .. radiusIncrements), angle = 0 .. angleIncrements)};
if lengthParam = false then
 return arrow(listOfPairs, scaling = constrained, shape = arrow)
else
 return arrow(listOfPairs, length = lengthParam, scaling = constrained, shape = arrow)
end if
end proc

Essentially, we plot vectors v at location u. Since the vectors v in general vary wildly in magnitude, I would like to visualize the magnitude change by using color and/or transparency, preferably the latter. Is it possible to do so, and if so, how?

Hello everyone. I am trying to make a position time graph of a charged particle in an gravitational and electric field. This is just for an application of Maple to Lagrangian mechanics. I have set up my Lagrangian, did the Euler-Lagrange equation, and solved the differential equation. When I go to plot it, just the axes show up and I dont have a line. I have followed other examples of Lagrangian mechanics in Maple and its still not working. Here is the code for the odeplot:

Eq7:=dsolve({Eq6,initial},{q(t)},numeric,output=listprocedure)

odeplot(Eq7,t=0..10)

Eq6 is the Euler-Lagrange equation for my system, initial is the initial values, and q(t) is the position of the particle.

Any suggestions will help.

 

 

 

 

If i have to solve the eq. i have to guess what U2 is  until i get close to U1 that the error is ok. can i do this in maple. or du i have to make program.

 

 

 

Hi,

Recently a a simple problem which i can not handle by myself, made me confused.

I have simple code of maple which is not stable at all. Everytime I run the code, the final result which is the determinant of a matrix, changes and I can not see the problem with the code. In fact i noticed that problem occures when the matrix is being build by culculating the coefficients of some constant values.  I have attached the code. Could you see what is wrong here?

Thanks by the way.

Download Code.mw

 

Hi,

 

The default way a prompt shows on my maple is

 

[> blah blah blah

 

but i see in many worksheets including maple help pages that it shows as

 

> blah blah blah

 

My Question is how do i remove that left square bracket "[" from appearing ?

   Hi, there

 I work with maple 13 and made a file that its contet is plotting curves and its size is 

151 MB.Now when I want to open it the file cannot be opened completely only about a quarter of its contents rises.

 

Thanks for your help

REGARDS

Yegan

hi, is there a way to change color of the page in Maple 18? in fact I am preparing my lectures using slideshow option and want to change the color instead of the default white.

Hi guys,

       I have the following Lagrange function. 

       (Note :w is the generalized co-cordinate.) 

 

       L := (diff(w(r, t), t, r))*v(r, t)

 

       ( I know

        If L =diff(w(t),t)*v(t)..... I can write EulerLagrange(L,t,w(t) but I dont know how to handle above function)

 

        Thanks in advance!!!

I am having issues opening my final year project, it was working an hour ago and now it will not open. When I try to open the file it brings up a box title TEXT FORMAT CHOICE with the options: MAPLE TEXT, PLAIN TEXT, MAPLE INPUT and CANCEL.

This is all my work and I need it to complete my year.

Any help with how I can rectify this would be extremely helpful.

Many thanks

Hi

I am trying to optimize a 39, 1 MATLAB matrix, but cannot seem to get a result beyond a 6, 1 matrix. I am getting "Warning, cannot resolve types, reassigning t##'s type" where t## varies from each time I run it, and can show multiple of these warnings. It also says "Warning, cannot translate list".

 

I found a pretty similar problem posted here earlier, where the user "Carl Love" suggested to replace a command from the original code with

Matlab(
     subsop([-1,1]= J, eval([codegen:-optimize](tmp, tryhard), pow= `^`)),
     output = string, defaulttype = numeric
);

 

I was wondering what exactly this command does? Can I apply it to my code to solve my problem? It yielded a result that looks (on the surface) as an optimized code, but I don't feel completely comfortable using it without being certain.

What I have done is simply to replace Matlab(tmp, optimize) with the suggested code above. My code is attached. Thanks in advance for any help.

OptiMatrix.mw

First 203 204 205 206 207 208 209 Last Page 205 of 2218