acer

32373 Reputation

29 Badges

19 years, 333 days
Ontario, Canada

Social Networks and Content at Maplesoft.com

MaplePrimes Activity


These are answers submitted by acer

Why not solve for t, symbolically, up front? You can utilize that formula directly within the plot command. (There's no need to produce discrete data, although you can if you want.)

restart;

thetavn := (1/6)*Pi:

omegac := 0.1:

s := v*cos(thetavn)*(cos(2*thetabn)*tan(thetabn)+sin(2*thetabn)*sin(omegac*t)/omegac):

form := solve(s = 0, t);

-10.*arcsin(.1000000000*cos(2.*thetabn)*tan(thetabn)/sin(2.*thetabn))

# non-parametric plotting
plot(form, thetabn=Pi/100 .. Pi);

# parametric plotting
# You don't need to call `solve` for each thetabn value.
plot([eval([thetabn, form],thetabn=Pi*k/100)[], k=1..100]);

# non-parametric form, first portion
plot(form, thetabn=Pi/100 .. Pi*43/100, tickmarks=[decimalticks, default]);

Data1:=[seq([thetabn, form], thetabn=[seq(Pi*k/100, k=1..43)])]:
Data2:=[seq([thetabn, form], thetabn=[seq(Pi*k/100, k=57..99)])]:
plots:-display(plot(Data1), plot(Data2));

 

 

Download form_plotting.mw

You can automate parallel (concurrent) computations by using either the Grid or Threads packages. That would be considerably superior to using separate worksheets to cobble together your own parallel computation environment.

As a very rough but general rule: if you can parallelize the job at a fine level (usually for something which is purely numeric and thus more readily made thread-safe) then the Threads package is more suitable, while if your overall goal is more easily parallelized into larger and more computationally expensive (usually fewer, higher level) jobs then the Grid package is more suitable.

With the Threads package the concurrent computations take place under the same kernel session, hence the need for them to not interact with each other (an aspect of the needed thread-safety). Most of the Maple Library's commands are not thread-safe, hence the common occurrence that thread-safe code is mostly numeric or mostly uses kernel builins.

With the Grid package there is greater overhead for launching the concurrent sub-computations, but that is relatively negligible if the sub-computations are more expensive and there are less of them. With this package the sub-computations run in separate kernels, and so are protected from interfering with each other, and the issue of thread-safety is mitigated.

See the Help, or search this site, for examples.

It sounds to me as if the Grid package might be more suitable for your job.

restart;

t:=0:

for i from 1 to 11 do
  j:=i+i^2;
  k:=j+t;
  t:=j/k; print('t'=t);
end do:

t = 1

t = 6/7

t = 14/15

t = 150/157

t = 157/162

t = 6804/6961

t = 13922/14165

t = 509940/516901

t = 516901/522567

t = 5225670/5272661

t = 115998542/116869487

 

Download loop_print.mw

Here it is with everything but the last plot's output:

triangle_analysis_ac1.mw

Another thing that worked for me was to File->Open the original, and then (even though it appears to have not loaded and sheet appears blank!) use the menubar's Edit->Remove Output->From Worksheet , and then save it to another filename. That produces a version with all output removed.  triangle_analysis_gone.mw

The term G*M/R^2 does not appear alone in your second expression. Before your second attempt, the value of work is actually G*M*m*h/R^2 . Mathematically G*M/R^2 divides that expression, but subs is a syntactic replacement mechanism. This is one of the reasons why the algsubs command exists.

Is this what you wanted to accomplish?

NULL

Justification for using mg as the force exerted by mass m in gravity field g

Using Newton's Law of Gravity, find NULL

work := `assuming`([int(G*M*m/r^2, r = R .. R+h)], [0 < R, 0 < h])

G*M*m*h/(R*(R+h))

NULL

R is >> h, so let R + h = R

work := subs(R+h = R, work)

G*M*m*h/R^2

NULL

G, M and R are all constants, so let GM/R² = g

work := algsubs(G*M/R^2 = g, work)

m*h*g

NULL

NULL

Download Gravity_ac.mw

The following all works ok for me using either Maple 2017.3, or Maple 2017.2, or Maple 2017.0 on 64bit Linux.

It also includes an example in which the color shading goes from green through purple to blue (by surface height), without using the colorscheme option at all.

All the examples which do not use the colorscheme option will work in Maple 17.02 (released 2013), including the one in which the color shading goes from green through purple to blue (by surface height).

Perhaps you could upload a .mw worksheet in which it does not work, so that we could try and diagnose the issue.

restart;

kernelopts(version);

`Maple 2017.2, X86 64 LINUX, Jul 19 2017, Build ID 1247392`

plots:-setoptions3d(lightmodel=none, orientation=[50,70,0]):

plot3d(sin(x)*cos(y), x = 0 .. 4*Pi, y = 0 .. 4*Pi,
       view = [default, default, -3 .. 3],
       colorscheme = ["xgradient", ["Green", "Purple", "Blue"]]);

plot3d(sin(x)*cos(y), x = 0 .. 4*Pi, y = 0 .. 4*Pi,
       view = [default, default, -3 .. 3],
       colorscheme = ["zgradient", ["Green", "Purple", "Blue"]]);

 

The next example is shaded from green through purple to blue, z-wise,
but doesn't require the colorscheme option.

 

f := proc(x,y) option remember, system;
       sin(x)*cos(y);
     end proc:

F := proc(x,y)
       if not (x::numeric and y::numeric) then
         return 'procname'(args);
       end if;
       (1+f(x,y))/2;
     end proc: # normalize
v := F(x,y):

redpw := piecewise(v<1/2, v, 1-v):
greenpw := piecewise(v<1/2, 1-2*v, 0):
bluepw := v:

plot3d(f(x,y), x = 0 .. 4*Pi, y = 0 .. 4*Pi,
       view = [default, default, -3 .. 3],
       color=[redpw,greenpw,bluepw,colortype=RGB]);

 

The rest are just for fun.

 

f := (x,y)->sin(x)*cos(y):
F := (x,y)->0.3+0.4*(1+f(x,y))/2:

plot3d(f(x,y), x = 0 .. 4*Pi, y = 0 .. 4*Pi,
       view = [default, default, -3 .. 3],
       color=[F(x,y),1,1,colortype=HSV]);

f := (x,y)->sin(x)*cos(y):
F := (x,y)->(1+f(x,y))/2:

plot3d(f(x,y), x = 0 .. 4*Pi, y = 0 .. 4*Pi,
       view = [default, default, -3 .. 3],
       color=[1-(abs(F(x,y)-1/2))^(1/2),
              1-(abs(F(x,y)))^(1/2),
              1-(abs(F(x,y)-3/4))^(1/4),
              colortype=RGB]);

 

Download plot3d_color_20172.mw

 

You need to use := instead of just = when making an assignment.

The concatenation operator (with evaluation of the suffix) in modern Maple is done using the cat command. (It was dot in the very distant past, but not now. In modern Maple the dot is used for multiplication.)

The name index is protected. Use another name.

Is this what you were trying to do?

restart;

G := unapply((x-y+1)*X/binomial(x, y)+1-(x-y+1)/binomial(x, y), x, y):

PSI := G(3, 2)^10*G(4, 2)^4*G(4, 3)^2*G(5, 2)^2*G(5, 4)
       *G(5, 3)*G(6, 2)^4*G(7, 3)*G(8, 2)*G(9, 2)*G(9, 3)
       *G(9, 4)*G(10, 2)^2*G(11, 2)*G(11, 3)*G(12, 3)*G(13, 3)*G(15, 2)^2:

for i from 0 to degree(PSI,X) do
  cat(D,i) := evalf(coeff(PSI, X, i));
end do:

Dmax := 0:

for i from 0 to degree(PSI,X) do
  if eval(cat(D,i)) > Dmax then
    Index := i;
    Dmax := cat(D,i);
  end if;
end do;

Index, Dmax, evalf(coeff(PSI,X,Index));

14, .1499364076, .1499364076

 

Download coeff_max1.mw

It's more effiecient to use an indexed name rather than a concatenated name, but in that case use another name since D is protected and has a particular meaning.

restart;

G := unapply((x-y+1)*X/binomial(x, y)+1-(x-y+1)/binomial(x, y), x, y):

PSI := G(3, 2)^10*G(4, 2)^4*G(4, 3)^2*G(5, 2)^2*G(5, 4)
       *G(5, 3)*G(6, 2)^4*G(7, 3)*G(8, 2)*G(9, 2)*G(9, 3)
       *G(9, 4)*G(10, 2)^2*G(11, 2)*G(11, 3)*G(12, 3)*G(13, 3)*G(15, 2)^2:

for i from 0 to degree(PSI,X) do
  DD[i] := evalf(coeff(PSI, X, i));
end do:

Dmax := 0:

for i from 0 to degree(PSI,X) do
  if DD[i] > Dmax then
    Index := i;
    Dmax := DD[i];
  end if;
end do;

Index, Dmax, evalf(coeff(PSI,X,Index));

14, .1499364076, .1499364076

 

Download coeff_max2.mw

If you have no other reason to retain the coefficients then there's no need to assign them separately to any new names.

restart;

G := unapply((x-y+1)*X/binomial(x, y)+1-(x-y+1)/binomial(x, y), x, y):

PSI := G(3, 2)^10*G(4, 2)^4*G(4, 3)^2*G(5, 2)^2*G(5, 4)
       *G(5, 3)*G(6, 2)^4*G(7, 3)*G(8, 2)*G(9, 2)*G(9, 3)
       *G(9, 4)*G(10, 2)^2*G(11, 2)*G(11, 3)*G(12, 3)*G(13, 3)*G(15, 2)^2:

Dmax := 0:

for i from 0 to degree(PSI,X) do
  temp := coeff(PSI, X, i);
  if temp > Dmax then
    Index := i;
    Dmax := temp;
  end if;
end do:

Index, evalf(Dmax), evalf(coeff(PSI,X,Index));

14, .1499364076, .1499364076

 

Download coeff_max3.mw

I find that manual rotation (or even selection) of an implicitplot3d t makes my Linux machine bog down, especially when the grid or numpoints setting is high.

But, here, the jaggedness of the boundary can be reduced quite a bit with a higher grid setting of an explicit plot3d or contourplot3d result. And manual rotation, etc, seems to behave better.

I include a few small contour values, to illustrate the restricted domain better.

I zip the worksheet because the saved file is large, due to large plot structure which present a problem for inlining here.

3d_cont.zip

restart:
with(plots):
Omega:=5*Pi:
gamma1:=8*Pi:
gamma2:=0.002*Pi:
x1:=100*Pi:
omega2:=200*Pi:
gamma0:=0.2*Pi:
G:=20*Pi:

lambda1:=(1/(2*Pi))^2*(G*Omega*gamma0/(2*(0.25*gamma0^2+Delta^2))):
lambda2:=(1/(2*Pi))^2*(-G*Omega*Delta/((0.25*gamma0^2+Delta^2))):
lambda3:=(1/(2*Pi))^2*gamma1+lambda1:
lambda4:=(1/(2*Pi))^2*(0.2*omega2-G^2*Delta/(0.25*gamma0^2+Delta^2)):
lambda5:=(1/(2*Pi))^2*(2*x1^2*omega2/((omega2^2+gamma2^2))):
f:=epsilon-(lambda1+sqrt(-lambda2^2+Y*(lambda3^2+(lambda4-lambda5*Y)^2)))^2:
contourplot(solve(f,epsilon), Delta =-25*Pi .. 25*Pi, Y=0..1,
            contours=[0.01,0.1,0.5,1,4,8,12,16,20], axes=boxed, color=black,
            tickmarks=[3, 3], linestyle=1, grid=[501,501],
            gridlines=false, view=[-25*Pi .. 25*Pi,0..1]);

plot3d(solve(f,epsilon), Y = 0 .. 1.0, Delta=-25*Pi..25*Pi,
       style=surfacecontour, color=khaki, labels=[Y,Delta,E1],
       tickmarks=[3,3,3], grid=[351,351], view=0..20,
       orientation=[180,0,-180], lightmodel=none);

plots:-contourplot3d(solve(f,epsilon), Y = 0 .. 1.0, Delta=-25*Pi..25*Pi,
                     contours=[0.01,0.1,0.5,1,4,8,12,16,20], color=khaki,
                     labels=[Y,Delta,E1],
                     tickmarks=[3,3,3], grid=[551,551], view=0..20,
                     color=black, thickness=2, orientation=[180,0,-180]);

If you are still using Maple 13 (released in the year 2009) then remove the option size=[...] which I added only to try and make the offset a little better. I figured that you didn't want the text to cross the y-axis.

restart:

with(plots):

p1:=plot(sin(2*x), x = -Pi .. Pi):
p2:= textplot([0,1.2,typeset("effect of ",alpha=3,",",gamma=5," in the flow")]):
display(p1,p2,
        plot(0, x = -Pi .. Pi, color=black),
        axes=box, view=[default,-1..1.5]);

p1:=plot(sin(2*x), x = -Pi .. Pi):
p2:= textplot([2.2,1.2,typeset("effect of ",alpha=3,",",gamma=5," in the flow")]):
display(p1,p2, size=[450,400]);

 

Download gk_text.mw

If I'm not mistaken then (to use your terminology) below I create functions Y(H,S,C) as opposed to Y(C,S,H).

First I use the fact that the data is regularly spaced (even if not evenly spaced) and call the Interpolation:-SplineInterpolation command added in Maple 2018. This produces a value of 0.897 for H=4, S=5, C=4.5 I think. And an animation of an interpolated surface seems to go from CPC level to level reasonably nicely.

Then I treat the data as if it were irregularly spaced, and call the Interpolation:-RadialBasisFunctionInterpolation and Interpolation:-Kriging commands, also added in Maple 2018. Results for H=4, S=5, C=4.5 are close to 0.89  and 0.9 respectively. But the animated interpolations (animated over CPC values) get a little goofy. I suspect that the dearth of data points might do them in.

Let me know if I've made a mistake.

restart;

kernelopts(version);

`Maple 2018.0, X86 64 LINUX, Mar 9 2018, Build ID 1298750`

Y := Vector([.83, .53, .11, .93, .78, .46, .97, .89, .69,
             .86, .58, 0.9e-1, .94, .82, .5, .97, .91, .73,
             .87, .61, 0.8e-1, .95, .83, .52, .97, .91, .75]):

CPC := Vector([3, 10, 30, 3, 10, 30, 3, 10, 30, 3, 10, 30, 3, 10,
               30, 3, 10, 30, 3, 10, 30, 3, 10, 30, 3, 10, 30]):

SIZE := Vector([2, 2, 2, 5, 5, 5, 10, 10, 10, 2, 2, 2, 5,
                5, 5, 10, 10, 10, 2, 2, 2, 5, 5, 5, 10, 10, 10]):

SH := Vector([4, 4, 4, 4, 4, 4, 4, 4, 4, 4.61, 4.61, 4.61, 4.61, 4.61,
              4.61, 4.61, 4.61, 4.61, 5.04, 5.04, 5.04, 5.04, 5.04, 5.04, 5.04, 5.04, 5.04]):

with(Interpolation):
with(plots):

YY := copy(Y):
ArrayTools :- DataTranspose(YY,9,3):
YY := ArrayTools:-Reshape(YY,[3,3,3]):
YY[..,..,1]:=YY[..,..,1]^%T:
YY[..,..,2]:=YY[..,..,2]^%T:
YY[..,..,3]:=YY[..,..,3]^%T:
Cfun := Interpolation:-CubicInterpolation([<4,4.61,5.04>,<2,5,10>,<3,10,30>],YY);

Interpolation:-CubicInterpolation([Vector(3, {(1) = 4.0, (2) = 4.61, (3) = 5.04}), Vector(3, {(1) = 2.0, (2) = 5.0, (3) = 10.0}), Vector(3, {(1) = 3.0, (2) = 10.0, (3) = 30.0})], `Array(1..3, 1..3, 1..3, {(1, 1, 1) = HFloat(0.83), (1, 1, 2) = HFloat(0.83), (1, 1, 3) = HFloat(0.83), (1, 2, 1) = HFloat(0.93), (1, 2, 2) = HFloat(0.93), (1, 2, 3) = HFloat(0.93), (1, 3, 1) = HFloat(0.97), (1, 3, 2) = HFloat(0.97), (1, 3, 3) = HFloat(0.97), (2, 1, 1) = HFloat(0.86), (2, 1, 2) = HFloat(0.86), (2, 1, 3) = HFloat(0.86), (2, 2, 1) = HFloat(0.94), (2, 2, 2) = HFloat(0.94), (2, 2, 3) = HFloat(0.94), (2, 3, 1) = HFloat(0.97), (2, 3, 2) = HFloat(0.97), (2, 3, 3) = HFloat(0.97), (3, 1, 1) = HFloat(0.87), (3, 1, 2) = HFloat(0.87), (3, 1, 3) = HFloat(0.87), (3, 2, 1) = HFloat(0.95), (3, 2, 2) = HFloat(0.95), (3, 2, 3) = HFloat(0.95), (3, 3, 1) = HFloat(0.97), (3, 3, 2) = HFloat(0.97), (3, 3, 3) = HFloat(0.97)})`, verify = false)

Cfun(4, 5, 4.5);

HFloat(0.8968415937803764)

#
# The above value seems to agree with the OP's expectation (90%).
#
# Let's have more fun.
#

data := <SH|SIZE|CPC|Y>:

# fixing CPC to value of 3
#
fixedCPC[1] := data[[seq(1+3*(i-1),i=1..9)],..]:
Pfix[1] := display(
  plot3d((x,y)->Cfun(x,y,3), 4..5.04, 2..10, color=blue),
  pointplot3d(fixedCPC[1][..,[1,2,4]], symbolsize=25, color=red),
  view=0.0 .. 1.0,
  labels=["SH", "SIZE", "Y"]
):
#Pfix[1];

# fixing CPC to value of 10
#
fixedCPC[2] := data[[seq(2+3*(i-1),i=1..9)],..]:
Pfix[2] := display(
  plot3d((x,y)->Cfun(x,y,10), 4..5.04, 2..10, color=blue),
  pointplot3d(fixedCPC[2][..,[1,2,4]], symbolsize=25, color=red),
  view=0.0 .. 1.0,
  labels=["SH", "SIZE", "Y"]
):
#Pfix[2];

# fixing CPC to value of 30
#
fixedCPC[3] := data[[seq(3+3*(i-1),i=1..9)],..]:
Pfix[3] := display(
  plot3d((x,y)->Cfun(x,y,30), 4..5.04, 2..10, color=blue),
  pointplot3d(fixedCPC[3][..,[1,2,4]], symbolsize=25, color=red),
  view=0.0 .. 1.0,
  labels=["SH", "SIZE", "Y"]
):
#Pfix[3];

bg := display(seq(Pfix[i],i=1..3),transparency=0.9):

animate(plot3d,
        ['Cfun'(x,y,CPC_param), x=4..5.04, y=2..10, color=blue, grid=[15,15]],
        CPC_param=3..30, frames=28,
        background=bg,
        labels=["SH", "SIZE", "Y"]
       );

Rfun := RadialBasisFunctionInterpolation(Matrix(<SH|SIZE|CPC>,datatype=float[8]), Y, multiquadric, 0.999);

"Rfun:=([[Radial Basis Function interpolation object with 27 sample points],[Radial Basis Function: multiquadric]])"

Rfun(4, 5, 4.5);

.884809770358211178

# This gets a little goofy, midway. Too few CPC data points, I suspect.
#animate(plot3d,
#        ['Rfun'(x,y,CPC_param), x=4..5.04, y=2..10, color=blue, grid=[15,15]],
#        CPC_param=3..30, frames=28,
#        background=bg,
#        labels=["SH", "SIZE", "Y"]
#       );

Kfun := Kriging(Matrix(<SH|SIZE|CPC>,datatype=float[8]), Y);

"Kfun:=([[Kriging interpolation object with 27 sample points],[Variogram: Spherical(.0064,.1764,10.63014581)]])"

Kfun(4, 5, 4.5);

.899318323205218428

 

Download law_ac.mw

It means e[1..-1, 2] which means all the rows (entries from row position -1 to 1) and column 2. 

The "-1" means the last entry, and is a handy way to program since you don't have to remember/use the total number of rows.

In 2D Input mode that indexed reference is typeset as subscripted.

Inside the Maple Help window there is an icon at the top of the displayed help-page, which allows you to toggle between 2D Input mode and 1D Maple Notation (plaintext, red code) for the input of the Examples. If you hover over the top icons you can tell which does which.

When toggled to 1D Maple Notation that subscripted reference in the input should appear as the plaintext red code containing e[1..-1, 2] .

If you have a 3x3 Matrix assigned to the name e, then e[1..3, 2] denotes the whole of the second column, and is equivalent to e[1..-1, 2] as well as e[.., 2] .

You can type it in as e[1..-1, 2] whether in 2D or 1D input mode.

If you would like to have the typeset 2D Input display in the subscripted forn then use the key-strokes   e Ctrl-Shift-underscore -1 . . 1 , 2 .  You can read more on the Help page for topic worksheet,documenting,2DMathShortcutKeys .

For the given example, since e has been assigned the Matrix of eigenvectors, then the second column is an eigenvector associated with the second eigenvalue v[2] (the second entry of the Vector v of eigenvalues).

I suspect that it is recognizing that point-release Maple 2018.2 is available, but the label in the popup is outdated.

 

Here's a 3D point-plot with the A[i] values used to determine a hue.

I rescaled so that the smallest A[i] gets red (hue value = 0.0), and the largest gets (roughly) magenta (hue value = 0.85).

But of course you can make any rescaling you want from the A[i] values into the 0.0 .. 1.0 range.

NULL

NULL

restart; st := time(); with(geometry); with(plots); with(LinearAlgebra); with(plottools)

ms := 4; ns := 8; ks := 5

 

 

 

wrs := (1/1000)*`<,>`(30, 60, 90, 120, 150)

 

 

 

wt := (1/180)*Pi*`<,>`(seq(0 .. 360, 45))

 

``

wz := (1/1000)*`<,>`(0, 10, 20, 30, 40, 50)

``

``

``NULL

``

 

ii := 0

NULL

for k to ks do for i to ms do for j to ns do ii := ii+1; nods[i, j, k] := j+(i-1)*ns+(k-1)*ms*ns; l := nods[i, j, k]; xss[l] := evalf(((wrs[i+1]+wrs[i])*(1/2))*cos((wt[j+1]+wt[j])*(1/2))); yss[l] := evalf(((wrs[i+1]+wrs[i])*(1/2))*sin((wt[j+1]+wt[j])*(1/2))); zss[l] := evalf((wz[k+1]+wz[k])*(1/2)); A[l] := (300*cos(.5*xss[l])+270*sin(2*yss[l]))*exp(-zss[l]) end do end do end do

NULL

NULL

NULL

NULL

points := [seq(seq(seq([xss[nods[i, j, k]], yss[nods[i, j, k]], zss[nods[i, j, k]]], j = 1 .. ns), i = 1 .. ms), k = 1 .. ks)]

``

``

AAA := Array(1 .. ns*ms*ks, proc (i) options operator, arrow; A[i] end proc, datatype = float[8]); minAAA, maxAAA := min(AAA), max(AAA); AAA := map[evalhf](proc (u) options operator, arrow; .85*(u-minAAA)/(maxAAA-minAAA) end proc, AAA)

Array(%id = 18446884565150188718)

pointplot3d(points, symbolsize = 20, labels = ["x", "y", "z"], color = COLOR(HUE, AAA))

pointplot3d([seq([xss[i], yss[i], zss[i]], i = 1 .. ns*ms*ks)], symbolsize = 20, labels = ["x", "y", "z"], color = COLOR(HUE, AAA))

``

Download essai_ac.mw

The way in which the result is formatted for pretty-printed display as 2D Math output should be not be a primary concern for how the output expression will be handled in further computation.

For further computation, it is the structure that matters. The lprint command can provide a more accurate representation of the actual structure than does 2D typesetting/pretty-printing.

If both examples make sense in context, then as long as they are handled OK then why worry?

If you really prefer a form where both are displayed in the same manner then how about using D (either when inputting, or by using convert on the diff form)?

  D[1](u)(0,t) = A(t);

  D[1](u)(L,t) = A(t);

 

There were syntax mistakes in your piecewise construction.

NULL

``

 

 

restart:

with(plots):

with(IntegrationTools):

Phi(t):=1+e*cos(t);

1+e*cos(t)

(1)

e:=0.1: alpha:=0.1: r:=0.1:Vs:=0.05:

 

 

R:=z->piecewise( z<=1,    1-H*cos(Pi*z)^2,  1):

 

a1:=(1/2)*Phi(t)*(R(z)^2-r^2);

a1 := (1/2*(1+e*cos(t)))*(piecewise(z <= 1, 1-H*cos(Pi*z)^2, 1)^2-0.1e-1)

(2)

a2:=(-4/3)*tauy^(1/2)*Phi(t)^(1/2)*(R(z)^(3/2)-r^(3/2))+tauy*(R(z)-r):

a3:=((1/2)*diff(Phi(t),t)*((3*R(z)^4/16)-(1*R(z)^2*r^2/4)+(r^4/16))):

a41:=((2*tauy^(1/2)*diff(Phi(t),t)*Phi(t)^(-1/2))/3):

a42:=((33*R(z)^(7/2)/196)-(1*R(z)^(3/2)*r^2/4)+(4*r^(7/2)/49)):

a4:=a41*a42:

a51:=((tauy^(1/2)*diff(Phi(t),t)*Phi(t)^(-1/2))/2):

a52:=((11*R(z)^(7/2)/42)-(1*r^(3/2)*R(z)^2/3)+(r^(7/2)/14)):

a5:=a51*a52:

a61:=((2*tauy*diff(Phi(t),t)*Phi(t)^(-1))/3):

a62:=((5*R(z)^(3)/21)-(1*r^(3/2)*R(z)^(3/2)/3)+2*(r^(3)/21)):

a6:=a61*a62:

b1:=a1+a2+Vs+alpha^2*(a3-a4-a5+a6):

t:=Pi/3;

(1/3)*Pi

(3)

 

plot( [seq(seq(eval(b1, tauy=j), j in [0.01,0.02,0.03]), H in [0.10,0.15,0.20])], z=0..1,legend = ["tauy=0.01","tauy=0.02","tauy=0.03",""$6],title = "Variation of axial velocity ", titlefont = ["ROMAN", 15], labels = ["z ", "Vc"], labeldirections = ["horizontal", "vertical"], labelfont = ["ROMAN", 11], linestyle = [solid,longdash,dashdot],thickness = 2,symbol = [BOX,CROSS,CIRCLE],color=[black$3,red$3,blue$3], axNULLesfont = ["HELVETICA", "ROMAN", 10], axes=boxed, gridlines=false);

 

``

 

NULL

Download waseem_test_ac.mw

First 166 167 168 169 170 171 172 Last Page 168 of 336