Adri van der Meer

Adri vanderMeer

1420 Reputation

19 Badges

21 years, 150 days
University of Twente (retired)
Enschede, Netherlands

MaplePrimes Activity


These are answers submitted by Adri van der Meer

I suppose that (1) and (2) are intended to be labelnumbers of equations. Enter these via Ctrl-L:

 

Download Labels.mw

I understand that you read Dutch. So see https://avanmeer.home.xs4all.nl/maple/2010/ , choose Module 7, for a complete explanation.

I will not do your homework, but here is a hint: f is a polynomial with 5 unknown parameters. So you have to solve 5 equations with 5 unknowns.

If you replace

z:=H/mg*(cosh(mg/H*x+zeta)-cosh(zeta));

  by

z :=  x -> H/mg*(cosh(mg/H*x+zeta)-cosh(zeta));

the shifted plot wil be:

plot(z(x+deltax), x=0..1 );

 

Why should you use a procedure if you don't want to use a parameter sequence? But if so, you can refer to parameters outside the procedure via the -: operator. A simple example:

restart;

p,q := x^2+2*x+1, x^2-3*x+5:

f := proc()
  solve(:-p + :-q = 0,{x})
end proc:

f();

{x = 1/4+((1/4)*I)*47^(1/2)}, {x = 1/4-((1/4)*I)*47^(1/2)}

(1)

 

Download NoArguments.mw

The assignment x := LinearSolve(A, b) makes x a Vector (with parameter _t2), so it cannot be used as a range parameter. Replace it by v := LinearSolve(A, b), and don't forget to restart.

R2 is an 1x1-matrix, as to expect:

lprint(R2);
Matrix(1, 1, {(1, 1) = 44}, datatype = anything, storage = rectangular, order = Fortran_order, shape = [])

 

Make an operator that for multiplies the identity function with the derivative:

restart;

xD := f ->(x->x)*D(f);

proc (f) options operator, arrow; (proc (x) options operator, arrow; x end proc)*D(f) end proc

(1)

(xD@@2)(f)(y);

y*((D(f))(y)+y*((D@@2)(f))(y))

(2)

 

 

Download D_operator.mw

Because x and y are constants, there is no reason to try to calculate the sum symbolically.

add(binomial(y, i)*(1/3)^i*(2/3)^(y-i)*(add(binomial(x, j)*(1/3)^j*(2/3)^(x-j), j = i+1 .. x)), i = 0 .. y);

Make the colorbar as a separate 3D-plot, viewed from above (P2 in the worksheet)

restart; with(plots):
X2 := <seq(i,i=1..25)>:
X3 := <seq(2*i,i=1..25)>:
zz := <seq(-i^2+23*i+53,i=1..25)>:
M,m := max(zz),min(zz):
P1 := pointplot3d(X2, X3, zz, symbol=solidcircle, symbolsize=20, shading=zhue, orientation=[75,60,0]):
P2 := plot3d( y, x=0..20, y=m..M, style=patchnogrid, shading=zhue,orientation=[-90,0,0],tickmarks=[0,default,0], labels=["","zz",""],scaling=constrained ):
display( Array([P1,P2]) );

 








 

If you don't want to plot (a) solution curve(s), use dfieldplot:

dfieldplot(DE3, [y(x), z(x)], x = 0 .. 3, y = 0 .. 2, z = -4 .. 4, arrows = medium, dirgrid=[20,20]);

If you use a loop to place (some) answers in a set, it is more efficient to use a sequence as intermediate:

restart;

S := NULL: #empty sequence

for i to 5 do S := S,i end do:

S1 := {S}; #makes a set from the sequence S

{1, 2, 3, 4, 5}

(1)

 

Download Makeset.mw

To interchange the horizontal and the vertical axis, make F13 a parametrisized plot:

F13 := plot([-0.2e-1*sin(6*Pi*y),y, y = 0.25e-1*L .. .475*L], scaling = constrained):

The x=X substitution is not necessary:

Diameters := unapply(subs(Data, piecewise(x<L/2, d0 ,x<2/3*L, 2*d0 ,x>2/3*L, 1.5*d0)),x);
1 2 3 4 5 6 7 Last Page 1 of 27