Maple Questions and Posts

These are Posts and Questions associated with the product, Maple

I am a new user of Maple. Could anyone help me to know how to call a Maple function/procedure from a Matlab program with a simple example? And conversely, how to call a Matlab function from Maple.

I have 20 datapoints in two groups. I may name them as f[1],...,f[10];g[1],...,g[10]. f[1]:=[1.2,3.5] etc

I would like to plot these 20 points

(1) in one plot

(2) f[1]~f[10] in one color; g[1]~g[10] in another color.

 

I checked http://www.maplesoft.com/support/help/Maple/view.aspx?path=plots%2fpointplot

and did not get the point :(

 

Do you any suggestion what can I do to realize the aims (1) and (2)?

 

Thank you very much in advance!

Hi, 

 

  I tried to use generated random as following

*** 

for j from 1 to 5 do
    c:=rand(0..1):
    d:=c();
    print(`random number`,c(),d);

    if c()=1 then

       print(`Y`)
    else
     print(`N`);
    end if;
  end do:

***

 

  The output is

 

****

                      random number, 1, 0

                               Y

                      random number, 1, 1

                               Y

                      random number, 1, 1

                               N

                      random number, 1, 1

                               N

                      random number, 0, 0

                               N

****

  Why the output numbers in one line are different? And Using "if" sentence seems do not correspond to the printed "c()" value..

 

Thank you very much in advance!

 

Say we solve numerically and ODE using Maple. Say ode1:= { diff(Q(x),x)= Q(x)/3x , Q(1)=1 }

The solution is a procedure so now suppose we have another ODE where the solution appears.Say  ode2:= { diff(f(x),x)= Q(x)*x , f(1)=4}.

To extract the solution of the first ODE I set sol1:=dsolve(ode1,numeric) and Q:=proc(x) local s: return rhs(sol(x)[2]): end proc:

But now I got an error message when I trying sol2:=dsolve(ode2,numeric).

Is it possible to use a procedure in the definition of the ODE one wants to solve?

 

I have a rational function

R(s)=(s+21.2618806754099918582959684287)*(s+11.5825785765671047665686926962)*(s+2.32652929385663964079968631791)*(s+1.59184930187007023058678840475)*(s+.810126597053864402120805704729)*(s+.767936478999246633196341750975)*(s+.389728032793176474756405528288)*(s+.389709386740696868210134112440)*(s+.384534001672741409749016411776)*(s+.211738661184088496193941380283)*(s+.211735400886327624028116769728)*(s+0.123260440562617421046327062708e-1)*(s+0.749282759458414677904525855939e-2)*(s+0.129947118285955895103018704133e-2)*(s+0.128454333534479589397814117349e-2)*(s+0.342482256507583139104896521750e-3)*(s+0.342471571076865824849860353286e-3)/(s+21.2618806754099918582960530179)*(s+21.1471825573992794470615428324)*(s+2.32652929385663964079964525218)*(s+2.28350165975702233286000082419)*(s+.810126597053864402120855775248)*(s+.804997206582678244211665005890)*(s+.389728032793176474755312749208)*(s+.389718248252695846631246554139)*(s+.384534001672741409750430258543)*(s+.243633167007009257956784127718)*(s+.211735400886327624028133231990)*(s+.211726934369736929202050835884)*(s+0.749282759458414677904914554540e-2)*(s+0.555247691543530827690454070563e-2)*(s+0.128454333534479589395816020810e-2)*(s+0.126961222591792792857168643430e-2)*(s+0.342471571076865824866184397991e-3)*(s+0.342461825593204099734633561207e-3)

I want to cancell the roots which are equal up to 7 digits?

How to write a maple code for this problem?

Hi Mapleprimes community,

 

I am a maple novice and was trying to write a procedure but cannot tell what my syntax error is.  I would greatly appreciate if anyone can point out what I did wrong or any improvement in the code that I can make.  Thanks

SLRrepeatedsample_pr.mw

 

Henry

I am trying to create a procedure that can solve integrals using the Composite Simpson's 3/8 rule. However when I test my procedure against maple's ApproximateInt I am getting the wrong results.

Here is my attempt:

restart;


f:= x -> exp(x)*sin(4*x); # function I am using

simp := proc(a, b, n)
  local h, sum, i, single:
  h := (b-a)/n:
  sum := 0:
  single := (3*h/8) * (f(a) + f(b)): # this is the end points
    for i from a+h by h to b-h do
       sum := sum + (3*h/8) * (3*f(i)):
    end do:
print(evalf(sum + single));
end proc:


simp(0,1,12);
                                                                                0.6224486445
evalf(Student:-Calculus1:-ApproximateInt(f(x), 0..1, method = simpson[3/8], partition=12));

                                                                                0.5323516717

 

As you can see my answer is not very close to the answer given by Maple. I am not sure why my procedure simp is wrong.

If i use expression with function add() it runs normaly, but if I use expression with Threads:-Add (parallel implementation) it causes error "Error, continuation task already created for the current task" or "Kernel connection has been lost"

Expression:

Array(1 .. N,1 .. 1/2*N-NR-1,(i, m) -> evalf(Add(cosArr2[modp(k*i,N)]/kl[k],k = 1 .. NR+m-1)+Add(cosArr2[modp(k*i,N)]*alpha[k],k = NR+m .. 1/2*N)))

 

What am I doing wrong? Can I use two Add in one evalf?

How can I create a new object from a stanrd, defined in a given metric? For example I want to define an object by convolution of two indices of the Christoffel symbols? I cannot even to see components of such object.

Many thans for an explanation

 

Leonid

okay so im quite confused, im trying to write a procedure that prints the orbit of a 2x2 matrix through a given list of points.  our arguments should be a a (2x2) matrix, a list L of points represented by 2 vectors, ie (2x1) matrices and a natural number N. Returnvalue : NULL

a side effect should be to 

A^i.L[j] for i = 0 ... N and j = 1 ... nops(L)

thus, an example, if the proc is called P, then 

P(Matrix([[0,-1],[1,0]]),[Matrix([[1],[1]]),Matrix([[1],[0]])],2) 

should plot the points  

(1,1) ,(-1,1) , (-1,-1)  for the 1st point  and 

(1,0)  ,(0,1) , (-1,0) for the second

thanks for any help in advance

Composite1:=proc(g,f)
Flist := indets(f): Glist := indets(g): gof:=g:
Subslist1 := [seq( Flist[i]=q, i=1.. nops(Flist))]:
return subs(q=f,subs(Subslist1, gof)): # g(f)
end proc:
#F(g o f) = F(g) o F(f) = F o g o f = (F o g) o (F o f)
Functor := (1/2)*(-y*t2-x*t1-y*t3+sqrt(y^2*t2^2+2*y*t2*x*t1+2*y^2*t2*t3+x^2*t1^2+2*x*t1*y*t3+y^2*t3^2-4*x*t4*y*t9-4*x*t4*y*t8-4*x^2*t4*t7-4*y^2*t5*t9-4*y^2*t5*t8-4*y*t5*x*t7-4*y^2*t6*t9-4*y^2*t6*t8-4*y*t6*x*t7))/(x*t4+y*t5+y*t6);
F1:=x+2;
G1:=3*x+5;
gof:=subs(x=F1, G1);
osys := Composite1(gof, Functor) = Composite1(Composite1(G1, Functor),Composite1(F1, Functor));
sys1 := subs(x=3,subs(y=2, osys));sys2 := subs(x=5,subs(y=1, osys));
sys3 := subs(x=1,subs(y=5, osys));sys4 := subs(x=1,subs(y=2, osys));
sys5 := subs(x=2,subs(y=5, osys));sys6 := subs(x=5,subs(y=2, osys));
sys7 := subs(x=2,subs(y=1, osys));sys8 := subs(x=3,subs(y=5, osys));
sys9 := subs(x=5,subs(y=3, osys));
res:=solve([sys1, sys2, sys3, sys4, sys5, sys6, sys7, sys8, sys9], {t1,t2,t3,t4,t5,t6,t7,t8,t9});
simplify(%);
`~`[lhs](select(evalb, res));

alpha:= (1/2)*(-y*t2-x*t1-y*t3+sqrt(y^2*t2^2+2*y*t2*x*t1+2*y^2*t2*t3+x^2*t1^2+2*x*t1*y*t3+y^2*t3^2-4*x*t4*y*t9-4*x*t4*y*t8-4*x^2*t4*t7-4*y^2*t5*t9-4*y^2*t5*t8-4*y*t5*x*t7-4*y^2*t6*t9-4*y^2*t6*t8-4*y*t6*x*t7))/(x*t4+y*t5+y*t6);
g := -y/x;
f := (-x+sqrt(x^2-x*y-2*y^2))/(2*y+x);
subs(p=f,subs(q=f,subs(x=p,subs(y=q,g))));
g := (1/2)*(-x+sqrt(x^2-4*y*x-4*y^2))/(x+y);
f := x*y;
gof := subs(p=f,subs(q=f,subs(x=p,subs(y=q,g))));
lhsgofoalpha := subs(q= alpha,subs(p=alpha, subs(x=p,subs(y=q,gof))));
foalpha := subs(p= alpha,subs(q=alpha,subs(x=p,subs(y=q,f))));
rhsgofoalpha := subs(x= foalpha,subs(y= foalpha, g));
osys := lhsgofoalpha = rhsgofoalpha;
sys1 := subs(x=3,subs(y=2, osys));
sys2 := subs(x=5,subs(y=1, osys));
sys3 := subs(x=1,subs(y=5, osys));
sys4 := subs(x=1,subs(y=2, osys));
sys5 := subs(x=2,subs(y=5, osys));
sys6 := subs(x=5,subs(y=2, osys));
sys7 := subs(x=2,subs(y=1, osys));
sys8 := subs(x=3,subs(y=5, osys));
sys9 := subs(x=5,subs(y=3, osys));
res:=solve([Re(sys1)=0, Re(sys2) =0, Re(sys3) =0, Re(sys4) =0, Re(sys5) =0, Re(sys6) =0, Re(sys7) =0, Re(sys8) =0, Re(sys9) =0], {t1,t2,t3,t4,t5,t6,t7,t8,t9});

 

I want to taylor-expand cos(x) to the powers of two, four, and six, then to make equations which does not contain O(x^2) etc. and to obtain its value at x=0.1.

For that, I wrote as the following.
(1):
a:=seq(taylor(cos(x),x=0,i),i=[2,4,6]);
convert(a),polynom);

(2):
a:=seq(taylor(cos(x),x=0,i),i=[2,4,6]);
seq(convert(op(i,a),polynom),i=[2,4,6]);

(3):
a:=seq(taylor(cos(x),x=0,i),i=[2,4,6]):
convert(a,polynom);

All of the above were not good.

On earth, I couldn't pick up each of the result of
a:=seq(taylor(cos(x),x=0,i),i=[2,4,6])
with op(1,a).

How can I solve this problem?

I wrote the following code inside a code region in order to implement a scalar product for lists:

m:= module() option package; export `*`;
    `*`:= proc( a::list, b::list) option overload;
        return add(i, i  in zip((x, y)-> x*y, a, b));
    end proc;    
end module;
l1:=[1,2,3,4];
l2:=[4,1,0,5];
with(m);
l1*l2;

when i run the code I sometimes get the desired result ->26

but sometimes I get

I don't have any clue, where this weird behaviour comes from.

Any help would be greatly appreciated.

 

First 1408 1409 1410 1411 1412 1413 1414 Last Page 1410 of 2261