nm

8769 Reputation

19 Badges

11 years, 313 days

MaplePrimes Activity


These are questions asked by nm

I'd like to try the new Maple IDE

http://www.maplesoft.com/products/toolboxes/IDE/index.aspx

Maple IDE - Integrated Development Environment

Is there a way to obtain a trial version even for a week just to try it out? I do not want to spend all this money then find out it does not work well.

any one here uses this and can recommend it or comment on how well it works? For example, can one run Maple code directly from it and have the code execute in Maple, or must one load the file manually from the editor into Maple to run it each time they make any changes to the code?

restart;
k:=1;
sum(k^2,k=1..10);
      (in sum) summation variable previously assigned, second argument

gives an error, since k is not free. Fine. No problem. But add() has no problem with an assigned variable:

restart;
k:=1;
add(k^2,k=1..10);

and seq() has no problem either

restart;
k:=1;
seq(k^2,k=1..10);

It is confusing when learning Maple since it does not seem to behave the same way in all its functions. What is the reason for this design? 

Hello.

Two related questions: I'd like to measure the CPU time used by a computation. Should I use with(CodeTools)? or use  time[real]? What would be the most accurate way to measure the CPU time used by one call, say dsolve()?

Also, How would one return both the result of the computation and the time used in one call so that one does not have to make two separate calls: to obtain the result and to obtain the CPU time?

Example:

restart;
with(CodeTools):
ode:=2*a*x^3*y(x)^3+2*x*y(x)+diff(y(x), x);
result:=Usage(dsolve(ode=0,y(x)),output='cputime');

Gives result:=0.141 while

restart;
ode:=2*a*x^3*y(x)^3+2*x*y(x)+diff(y(x), x);
result:=time[real](dsolve(ode=0,y(x)));

Gives result:= 0.145

But in both cases, I have to make another call to get the result of the DSolve in this example. result:=dsolve(ode=0,y(x)); which I'd like to avoid if possible. 

I am using Maple 18

 

restart;
eq:=diff(y(x),x) - y(x)^2 - x*y(x) - x + 1;
r:=dsolve(eq,y(x));
latex(r);

Gives an error "(in fprintf) string expected for string format". The problem seems when the math contains "erf"? Both examples below fail with result that contains this.

Maple 18, on windows 7.

Another example:

restart;
eq:=diff(y(x),x) + a*y(x)*(y(x)-x) - 1;
r:=dsolve(eq,y(x));
latex(r);

Another example, which seems to fail for different reason

restart;
eq:=diff(y(x),x) + a*x*y(x)^3+b*y(x)^2;
r:=dsolve(eq,y(x));
latex(r);

This is better explained with simple example. Suppose I have these 2 equations

a:='a';b:='b';x:='x';
eqs:=[3*a+4*b = 3*x, 5*a+7*b = 7*x];

What I want is to solve for (a/x) and (b/x) from the above, and not for "a" and "b".

Currently, I do this manually as follows. First divide both equations by 'x' to obtain the ratio. I had to do this manually as writing eqs/x gave expression which was hard to work with for what I want to do. I could not simplify it for what I wanted. So I typed this

eqs2:=[3*(a/x)+4*(b/x)=3,5*(a/x)+7*(b/x)=7];   %manually typed !

Now used algsubs to replace (a/x) by new variable z1, and replace (b/x) by new variable z2, then solve for z1,z2 (btw, I had to do algsubs one at a time. (need to look at this later, but not impotant)

algsubs(a/x=z1,eqs2);
algsubs(b/x=z2,%);
solve(%,{z1,z2});

       {z1=-7,z2=6}

Is there a way or function(s) to automate this. The hard part is telling Maple to use the ratio as new variable starting from set of equations.

First 158 159 160 161 162 163 164 Page 160 of 167