acer

32343 Reputation

29 Badges

19 years, 327 days
Ontario, Canada

Social Networks and Content at Maplesoft.com

MaplePrimes Activity


These are answers submitted by acer

In the very first nested double loop of the worksheet (over i and j), there are assignments to PDE[5][i, j] and other PDE[..] entries.

In the assignment to PDE[5][i, j] there is an instance of chi without indices, in a subexpression like,

    ( chi+(sum(C[1][j, k]*W[i, k], k = 1 .. M))/lambda2 )

This seems like a mistake.

Later on, chi is replaced with a Matrix, so that subexpression seems to not make sense.

If I (guess and) change that to chi[i,j] then a valid system of equations gets passed to fsolve, and a numeric root is found for that system.

test_fsolve_ac.mw

 

One approach is to construct a Worksheet/Document that looks how you want it (pair of empty input lines, say), save it somewhere, and then make that your custom "start page".

Eg,  From the main menubar, Tools -> Options -> Interface and change the drop-menu item Open worksheet at startup to  Specified worksheet . Make that point at your saved file. Optionally, set that file as read-only in your Operating System, outside of Maple, so that you don't accidentally overwrite it once you start work. That is, always do Edit -> Save As before any Edit -> Save, to save new work to a new file.

You should then always be able to get to this template using the "start page" icon from the menubar, which looks like a house.

 

Thomas's answer is good and useful.

But, since you asked about sum, it could be noticed that there is a difference in behavior for eval versus limit of the reciprocal of that factorial call. And sum can try to use both.

restart;

eval(1/(n-1)!, n=0);
Error, numeric exception: division by zero

eval(1/GAMMA(n), n=0);
Error, (in GAMMA) numeric exception: division by zero

limit(1/GAMMA(n), n=0);
                               0

limit(1/(n-1)!, n=0);
                               0

So, when n is considered real (as under your sum examples), the limit of the reciprocal comes out as zero (even though the limit from left and right of the factorial call are infinity with opposite signs).

In the following attachment, sum does try to evaluate factorial with argument -1, early on. When that fails it can try limit instead (on the reciprocal expression) and get the 0 result.

factorial_sum_numericvent.mw

Use the stopat and unstopat commands to insert and remove DEBUG() calls within the procedure body.

You can supply an extra argument to the stopat command, to specifiy a line number.

You can see the line numbers by issuing the showstat command, eg. showstat(genpellsolve) .

It's hardly suprising that the debugger isn't being effective in your example, given that the DEBUG() is after all the computations in the genpellsolve procedure except for the return. So the debugger won't intervene until the return line, with the way you've written it.

debugger_basics.mw

Do you mean this?

restart;

expr := sqrt(1+diff(y(x),x)^2);

(1+(diff(y(x), x))^2)^(1/2)

Physics:-diff( expr, diff(y(x),x) );

(diff(y(x), x))/(1+(diff(y(x), x))^2)^(1/2)

subs( Y = diff(y(x), x),
      diff( subs( diff(y(x), x) = Y, expr ), Y ) );

(diff(y(x), x))/(1+(diff(y(x), x))^2)^(1/2)

 

Download physicsdiff.mw

There are lots of slight variations that can produce this. Here is another below, which happens to not require using op to yank out the first frame of the spacecurve animation.

You could also generate a 3D line-segment using just two end-points, rather than a spacecurve with its default number of data points.

You might be interested to know that the thickness=2 option you had in your second call to animate is eventually affecting most of the structures. It clobbers the thickness=3 you had on the spacecurve, and even affects the plane. This is because you have it as an option to the animate command itself, rather than as one of the arguments to the plotting command (which appear inside the brackets, the second argument passed to animate).

You could also use spacecurve instead of plot3d for the helix, and then pick up the color=red option which you seemed to be wanting(?) there. This also makes a smaller memory footprint. The "size" of animation structures in Maple can often affect GUI, or export, time performance, so I thought you might like to know.

restart;
with(VectorCalculus): with(Student[LinearAlgebra]): with(plots):

v[i] := 145000: thetabn := (1/8)*Pi: thetavn := (1/6)*Pi: k := 10: omegac := .5:
lrange := 6*Pi: v[b] := cos(2*thetabn)/cos(thetabn):
v[g] := sin(2*thetabn)/cos(thetabn): n := `<,>`(k*cos(thetabn), k*sin(thetabn), 0):
vr := [v[b]*t, v[g]*sin(omegac*t)/omegac, v[g]*cos(omegac*t)/omegac]:
lambda := v[i]*cos(thetavn)/cos(thetabn):

pt := [t, 0, v[g]/omegac]:
pline := A -> display(plottools:-line(eval(pt,t=lrange), eval(pt,t=A),
                      thickness = 3)):

shockplot := PlanePlot(n, caption = "",
                       planeoptions = [colour = blue, transparency = .5],
                       normaloptions = [shape = cylindrical_arrow, colour = red]):
t1 := textplot3d([k*cos(thetabn), k*sin(thetabn), 0, 'n'], align = above):
B := animate(pline, [A], A = lrange .. 0, paraminfo = false,
             background = display(shockplot, t1)):
C := animate(spacecurve, [[v[b]*t, v[g]*sin(omegac*t)/omegac,
                           v[g]*cos(omegac*t)/omegac],
                          t = 0 .. x, colour = red, thickness = 2],
             x = 0 .. lrange, paraminfo = false, labels = [" ", zeta, xi],
             background = display(shockplot, t1, pline(0))):

display([B, C], insequence,
        axes=none, orientation=[-158,-17,0], scaling=constrained);

 

There appear to be infinitely many solutions in the set determined just by {c11=-1. c9,c3=-1.,c5=-1. c7,omega=0} .

So, as long as you make c11, c3, c5, and omega respect that, then you could make the remaining variables take on whatever scalar values you want.

NULL

restart

eq(1) := 1+c(3)+c(5)+c(7)+c(9)+c(11) = 0

eq(2) := 1.0379456*c(2)*(omega^2)^(1/4)+1.0379456*c(4)*(omega^2)^(1/4)+.89185524*c(6)*(omega^2)^(1/4)+.89185524*c(8)*(omega^2)^(1/4)+1.0379456*c(10)*(omega^2)^(1/4)+1.0379456*c(12)*(omega^2)^(1/4) = 0

eq(3) := 1.1182111*(omega^2)^(3/4)*sin(.27713148*(omega^2)^(1/4))-1.1182111*c(2)*(omega^2)^(3/4)*cos(.27713148*(omega^2)^(1/4))+1.1182111*c(3)*(omega^2)^(3/4)*sinh(.27713148*(omega^2)^(1/4))+1.1182111*c(4)*(omega^2)^(3/4)*cosh(.27713148*(omega^2)^(1/4))+.70938680*c(5)*(omega^2)^(3/4)*sin(.23812535*(omega^2)^(1/4))-.70938680*c(6)*(omega^2)^(3/4)*cos(.23812535*(omega^2)^(1/4))+.70938680*c(7)*(omega^2)^(3/4)*sinh(.23812535*(omega^2)^(1/4))+.70938680*c(8)*(omega^2)^(3/4)*cosh(.23812535*(omega^2)^(1/4))+1.1182111*c(9)*(omega^2)^(3/4)*sin(.27713148*(omega^2)^(1/4))-1.1182111*c(10)*(omega^2)^(3/4)*cos(.27713148*(omega^2)^(1/4))+1.1182111*c(11)*(omega^2)^(3/4)*sinh(.27713148*(omega^2)^(1/4))+1.1182111*c(12)*(omega^2)^(3/4)*cosh(.27713148*(omega^2)^(1/4))+.20600541*omega^2*(cos(.27713148*(omega^2)^(1/4))+c(2)*sin(.27713148*(omega^2)^(1/4))+c(3)*cosh(.27713148*(omega^2)^(1/4))+c(4)*sinh(.27713148*(omega^2)^(1/4))+c(5)*cos(.23812535*(omega^2)^(1/4))+c(6)*sin(.23812535*(omega^2)^(1/4))+c(7)*cosh(.23812535*(omega^2)^(1/4))+c(8)*sinh(.23812535*(omega^2)^(1/4))+c(9)*cos(.27713148*(omega^2)^(1/4))+c(10)*sin(.27713148*(omega^2)^(1/4))+c(11)*cosh(.27713148*(omega^2)^(1/4))+c(12)*sinh(.27713148*(omega^2)^(1/4))-0.10275662e-1*(omega^2)^(1/4)*sin(.27713148*(omega^2)^(1/4))+0.10275662e-1*c(2)*(omega^2)^(1/4)*cos(.27713148*(omega^2)^(1/4))+0.10275662e-1*c(3)*(omega^2)^(1/4)*sinh(.27713148*(omega^2)^(1/4))+0.10275662e-1*c(4)*(omega^2)^(1/4)*cosh(.27713148*(omega^2)^(1/4))-0.88293670e-2*c(5)*(omega^2)^(1/4)*sin(.23812535*(omega^2)^(1/4))+0.88293670e-2*c(6)*(omega^2)^(1/4)*cos(.23812535*(omega^2)^(1/4))+0.88293670e-2*c(7)*(omega^2)^(1/4)*sinh(.23812535*(omega^2)^(1/4))+0.88293670e-2*c(8)*(omega^2)^(1/4)*cosh(.23812535*(omega^2)^(1/4))-0.10275662e-1*c(9)*(omega^2)^(1/4)*sin(.27713148*(omega^2)^(1/4))+0.10275662e-1*c(10)*(omega^2)^(1/4)*cos(.27713148*(omega^2)^(1/4))+0.10275662e-1*c(11)*(omega^2)^(1/4)*sinh(.27713148*(omega^2)^(1/4))+0.10275662e-1*c(12)*(omega^2)^(1/4)*cosh(.27713148*(omega^2)^(1/4))) = 0

eq(4) := 1.1182111*(omega^2)^(3/4)*sin(.27713148*(omega^2)^(1/4))-1.1182111*c(2)*(omega^2)^(3/4)*cos(.27713148*(omega^2)^(1/4))+1.1182111*c(3)*(omega^2)^(3/4)*sinh(.27713148*(omega^2)^(1/4))+1.1182111*c(4)*(omega^2)^(3/4)*cosh(.27713148*(omega^2)^(1/4))+.70938680*c(5)*(omega^2)^(3/4)*sin(.23812535*(omega^2)^(1/4))-.70938680*c(6)*(omega^2)^(3/4)*cos(.23812535*(omega^2)^(1/4))+.70938680*c(7)*(omega^2)^(3/4)*sinh(.23812535*(omega^2)^(1/4))+.70938680*c(8)*(omega^2)^(3/4)*cosh(.23812535*(omega^2)^(1/4))+1.1182111*c(9)*(omega^2)^(3/4)*sin(.27713148*(omega^2)^(1/4))-1.1182111*c(10)*(omega^2)^(3/4)*cos(.27713148*(omega^2)^(1/4))+1.1182111*c(11)*(omega^2)^(3/4)*sinh(.27713148*(omega^2)^(1/4))+1.1182111*c(12)*(omega^2)^(3/4)*cosh(.27713148*(omega^2)^(1/4))-.20600541*omega^2*(-0.79735630e-1*(omega^2)^(1/4)*sin(.27713148*(omega^2)^(1/4))+0.79735630e-1*c(2)*(omega^2)^(1/4)*cos(.27713148*(omega^2)^(1/4))+0.79735630e-1*c(3)*(omega^2)^(1/4)*sinh(.27713148*(omega^2)^(1/4))+0.79735630e-1*c(4)*(omega^2)^(1/4)*cosh(.27713148*(omega^2)^(1/4))-0.68512877e-1*c(5)*(omega^2)^(1/4)*sin(.23812535*(omega^2)^(1/4))+0.68512877e-1*c(6)*(omega^2)^(1/4)*cos(.23812535*(omega^2)^(1/4))+0.68512877e-1*c(7)*(omega^2)^(1/4)*sinh(.23812535*(omega^2)^(1/4))+0.68512877e-1*c(8)*(omega^2)^(1/4)*cosh(.23812535*(omega^2)^(1/4))-0.79735630e-1*c(9)*(omega^2)^(1/4)*sin(.27713148*(omega^2)^(1/4))+0.79735630e-1*c(10)*(omega^2)^(1/4)*cos(.27713148*(omega^2)^(1/4))+0.79735630e-1*c(11)*(omega^2)^(1/4)*sinh(.27713148*(omega^2)^(1/4))+0.79735630e-1*c(12)*(omega^2)^(1/4)*cosh(.27713148*(omega^2)^(1/4))+0.99000000e-2*cos(.27713148*(omega^2)^(1/4))+0.99000000e-2*c(2)*sin(.27713148*(omega^2)^(1/4))+0.99000000e-2*c(3)*cosh(.27713148*(omega^2)^(1/4))+0.99000000e-2*c(4)*sinh(.27713148*(omega^2)^(1/4))+0.99000000e-2*c(5)*cos(.23812535*(omega^2)^(1/4))+0.99000000e-2*c(6)*sin(.23812535*(omega^2)^(1/4))+0.99000000e-2*c(7)*cosh(.23812535*(omega^2)^(1/4))+0.99000000e-2*c(8)*sinh(.23812535*(omega^2)^(1/4))+0.99000000e-2*c(9)*cos(.27713148*(omega^2)^(1/4))+0.99000000e-2*c(10)*sin(.27713148*(omega^2)^(1/4))+0.99000000e-2*c(11)*cosh(.27713148*(omega^2)^(1/4))+0.99000000e-2*c(12)*sinh(.27713148*(omega^2)^(1/4))) = 0

eq(5) := cos(0.51897280e-3*(omega^2)^(1/4))+c(2)*sin(0.51897280e-3*(omega^2)^(1/4))+c(3)*cosh(0.51897280e-3*(omega^2)^(1/4))+c(4)*sinh(0.51897280e-3*(omega^2)^(1/4)) = c(5)*cos(0.44592762e-3*(omega^2)^(1/4))+c(6)*sin(0.44592762e-3*(omega^2)^(1/4))+c(7)*cosh(0.44592762e-3*(omega^2)^(1/4))+c(8)*sinh(0.44592762e-3*(omega^2)^(1/4))

eq(6) := -1.0379456*(omega^2)^(1/4)*sin(0.51897280e-3*(omega^2)^(1/4))+1.0379456*c(2)*(omega^2)^(1/4)*cos(0.51897280e-3*(omega^2)^(1/4))+1.0379456*c(3)*(omega^2)^(1/4)*sinh(0.51897280e-3*(omega^2)^(1/4))+1.0379456*c(4)*(omega^2)^(1/4)*cosh(0.51897280e-3*(omega^2)^(1/4)) = -.89185524*c(5)*(omega^2)^(1/4)*sin(0.44592762e-3*(omega^2)^(1/4))+.89185524*c(6)*(omega^2)^(1/4)*cos(0.44592762e-3*(omega^2)^(1/4))+.89185524*c(7)*(omega^2)^(1/4)*sinh(0.44592762e-3*(omega^2)^(1/4))+.89185524*c(8)*(omega^2)^(1/4)*cosh(0.44592762e-3*(omega^2)^(1/4))

eq(7) := -1.0773311*sqrt(omega^2)*cos(0.51897280e-3*(omega^2)^(1/4))-1.0773311*c(2)*sqrt(omega^2)*sin(0.51897280e-3*(omega^2)^(1/4))+1.0773311*c(3)*sqrt(omega^2)*cosh(0.51897280e-3*(omega^2)^(1/4))+1.0773311*c(4)*sqrt(omega^2)*sinh(0.51897280e-3*(omega^2)^(1/4)) = -4.4787661*c(5)*sqrt(omega^2)*cos(0.44592762e-3*(omega^2)^(1/4))-4.4787661*c(6)*sqrt(omega^2)*sin(0.44592762e-3*(omega^2)^(1/4))+4.4787661*c(7)*sqrt(omega^2)*cosh(0.44592762e-3*(omega^2)^(1/4))+4.4787661*c(8)*sqrt(omega^2)*sinh(0.44592762e-3*(omega^2)^(1/4))

eq(8) := 1.1182110*(omega^2)^(3/4)*sin(0.51897280e-3*(omega^2)^(1/4))-1.1182110*c(2)*(omega^2)^(3/4)*cos(0.51897280e-3*(omega^2)^(1/4))+1.1182110*c(3)*(omega^2)^(3/4)*sinh(0.51897280e-3*(omega^2)^(1/4))+1.1182110*c(4)*(omega^2)^(3/4)*cosh(0.51897280e-3*(omega^2)^(1/4)) = 3.9944110*c(5)*(omega^2)^(3/4)*sin(0.44592762e-3*(omega^2)^(1/4))-3.9944110*c(6)*(omega^2)^(3/4)*cos(0.44592762e-3*(omega^2)^(1/4))+3.9944110*c(7)*(omega^2)^(3/4)*sinh(0.44592762e-3*(omega^2)^(1/4))+3.9944110*c(8)*(omega^2)^(3/4)*cosh(0.44592762e-3*(omega^2)^(1/4))

eq(9) := c(5)*cos(0.28806924e-1*(omega^2)^(1/4))+c(6)*sin(0.28806924e-1*(omega^2)^(1/4))+c(7)*cosh(0.28806924e-1*(omega^2)^(1/4))+c(8)*sinh(0.28806924e-1*(omega^2)^(1/4)) = c(9)*cos(0.33525643e-1*(omega^2)^(1/4))+c(10)*sin(0.33525643e-1*(omega^2)^(1/4))+c(11)*cosh(0.33525643e-1*(omega^2)^(1/4))+c(12)*sinh(0.33525643e-1*(omega^2)^(1/4))

eq(10) := -.89185524*c(5)*(omega^2)^(1/4)*sin(0.28806924e-1*(omega^2)^(1/4))+.89185524*c(6)*(omega^2)^(1/4)*cos(0.28806924e-1*(omega^2)^(1/4))+.89185524*c(7)*(omega^2)^(1/4)*sinh(0.28806924e-1*(omega^2)^(1/4))+.89185524*c(8)*(omega^2)^(1/4)*cosh(0.28806924e-1*(omega^2)^(1/4)) = -1.0379456*c(9)*(omega^2)^(1/4)*sin(0.33525643e-1*(omega^2)^(1/4))+1.0379456*c(10)*(omega^2)^(1/4)*cos(0.33525643e-1*(omega^2)^(1/4))+1.0379456*c(11)*(omega^2)^(1/4)*sinh(0.33525643e-1*(omega^2)^(1/4))+1.0379456*c(12)*(omega^2)^(1/4)*cosh(0.33525643e-1*(omega^2)^(1/4))

eq(11) := -1.0773311*c(9)*sqrt(omega^2)*cos(0.33525643e-1*(omega^2)^(1/4))-1.0773311*c(10)*sqrt(omega^2)*sin(0.33525643e-1*(omega^2)^(1/4))+1.0773311*c(11)*sqrt(omega^2)*cosh(0.33525643e-1*(omega^2)^(1/4))+1.0773311*c(12)*sqrt(omega^2)*sinh(0.33525643e-1*(omega^2)^(1/4)) = -4.4787661*c(5)*sqrt(omega^2)*cos(0.28806924e-1*(omega^2)^(1/4))-4.4787661*c(6)*sqrt(omega^2)*sin(0.28806924e-1*(omega^2)^(1/4))+4.4787661*c(7)*sqrt(omega^2)*cosh(0.28806924e-1*(omega^2)^(1/4))+4.4787661*c(8)*sqrt(omega^2)*sinh(0.28806924e-1*(omega^2)^(1/4))

eq(12) := 1.1182110*c(9)*(omega^2)^(3/4)*sin(0.33525643e-1*(omega^2)^(1/4))-1.1182110*c(10)*(omega^2)^(3/4)*cos(0.33525643e-1*(omega^2)^(1/4))+1.1182110*c(11)*(omega^2)^(3/4)*sinh(0.33525643e-1*(omega^2)^(1/4))+1.1182110*c(12)*(omega^2)^(3/4)*cosh(0.33525643e-1*(omega^2)^(1/4)) = 3.9944110*c(5)*(omega^2)^(3/4)*sin(0.28806924e-1*(omega^2)^(1/4))-3.9944110*c(6)*(omega^2)^(3/4)*cos(0.28806924e-1*(omega^2)^(1/4))+3.9944110*c(7)*(omega^2)^(3/4)*sinh(0.28806924e-1*(omega^2)^(1/4))+3.9944110*c(8)*(omega^2)^(3/4)*cosh(0.28806924e-1*(omega^2)^(1/4))

sys:=eval({seq(eq(i),i=1..12)},
          map(u->u=cat(op(0,u),op(u)),indets({seq(eq(i),i=1..12)},specfunc(c)))):

cand := solve(eval(sys,omega=0));

{c11 = -1.*c9, c3 = -1., c5 = -1.*c7, c7 = c7, c9 = c9}

part := remove(evalb,{omega=0} union cand);

{c11 = -1.*c9, c3 = -1., c5 = -1.*c7, omega = 0}

eval(sys, part);

{0. = 0, 0. = 0.}

 

NULL

Download solve_ac.mw

 

Using Maple 18 (like you),

restart

lambda1 := 0.733e-1:

expr := (Z^(lambda2/lambda1))^2*ln(Z)^2/((Z-1+alpha)^2*(Z^(lambda2/lambda1)-1+alpha)^3):

evalf(Int(expr, Z = 1 .. infinity, method = _Dexp));

0.1150342055e-6

evalf(Int(1/expand(1/expr), Z = 1 .. infinity));

0.1150342058e-6

new := ln(Z)^2/((Z-1+alpha)^2*expand((Z^(lambda2/lambda1)-1+alpha)^3/(Z^(lambda2/lambda1))^2)):

evalf(Int(new, Z = 1 .. infinity));

0.1150342058e-6

 

NULL

Download ask_ac.mw

 

It's possible that `evalf/int/control` is not falling back gracefully, after encountering the overflow.

It might even be fun(?) to use the URL package to look up the current conversion rate and amend the AUD unit's conversion formula.

restart:

Units:-AddUnit(dollar, context=AUD, abbreviations=AUD, conversion=0.75*USD);

Units:-UseUnit(AUD): Units:-UseUnit(1/AUD):

BC:=6000*Unit(AUD); #Battery Cost

6000*Units:-Unit(AUD)

BS:=3*Unit(kWh/d); #Battery Storage

3*Units:-Unit(kWh/d)

EC:=.264*Unit(AUD/kWh); #Electricity Cost

.264*Units:-Unit(AUD/kWh)

BC/EC/(1+.035)^t/BS=t*Unit(yr)

7575.757577*Units:-Unit(AUD)/(Units:-Unit(AUD/kWh)*1.035^t*Units:-Unit(kWh/d)) = t*Units:-Unit(yr)

pt:=fsolve(%,t)

13.18033222

FIT:=0.09*Unit(AUD/kWh); #Feed In Tarrif rate

0.9e-1*Units:-Unit(AUD/kWh)

combine(BS*FIT*pt*Unit(year),units);

1299.783619*Units:-Unit(AUD)

combine(subs(t=pt,convert(EC*BS, units,AUD/yr)*(1+.035)^t*t*Unit(year)),units);

6000.000002*Units:-Unit(AUD)

 

Download CURRENCY_AUD.mw

You can left-align each of a sequence of Typesetting:-mtr rows, and then put them inside a call to Typesetting:-mtable .

(This is similar to how Matrices are typeset, but without the braces.)

I haven't bothered to remove your Tsprintf procedure, now unused. And I haven't bothered to make the conditional branches more streamlined (it shouldn't be necessary to make it all explicit like that).

You could also have various different procedures that each returned their own Typesetting:-mtr call (eg. for different kinds of question). You wouldn't be able to print them, until you could wrapped all such results in a single Typesetting:-mtable call.

restart

TSprintf := proc () Typesetting:-mrow(seq(`if`(e::string, Typesetting:-mn(e), Typesetting:-Typeset(Typesetting:-EV(e))), e = [args])) end proc

multiple := proc (jjj) local dsdsds, ii, tudo1, num1, num, dsd, dsss1, dsss2, dsss3, r, R; dsdsds := rand(1 .. 4); for r to jjj do ii := dsdsds(); tudo1 := [1, 123456, 12345667890, 123456789012345]; num1 := rand(1 .. nops(tudo1())); dsd := sprintf("%a", tudo1[num1()]); dsss1 := sprintf("%a", tudo1[num1()]); dsss2 := sprintf("%a", tudo1[num1()]); dsss3 := sprintf("%a", tudo1[num1()]); if ii = 1 then R[r] := Typesetting:-mtr(Typesetting:-mtd(Typesetting:-mrow(Typesetting:-mtext("A", mathcolor = `#ff0000`), Typesetting:-mtext(". "), Typesetting:-mtext(dsd))), Typesetting:-mtd(Typesetting:-mrow(Typesetting:-mtext("B"), Typesetting:-mtext(". "), Typesetting:-mtext(dsss1))), Typesetting:-mtd(Typesetting:-mrow(Typesetting:-mtext("C"), Typesetting:-mtext(". "), Typesetting:-mtext(dsss2))), Typesetting:-mtd(Typesetting:-mrow(Typesetting:-mtext("D"), Typesetting:-mtext(". "), Typesetting:-mtext(dsss3))), 'columnalign' = 'left') elif ii = 2 then R[r] := Typesetting:-mtr(Typesetting:-mtd(Typesetting:-mrow(Typesetting:-mtext("A"), Typesetting:-mtext(". "), Typesetting:-mtext(dsss1))), Typesetting:-mtd(Typesetting:-mrow(Typesetting:-mtext("B", mathcolor = `#ff0000`), Typesetting:-mtext(". "), Typesetting:-mtext(dsd))), Typesetting:-mtd(Typesetting:-mrow(Typesetting:-mtext("C"), Typesetting:-mtext(". "), Typesetting:-mtext(dsss2))), Typesetting:-mtd(Typesetting:-mrow(Typesetting:-mtext("D"), Typesetting:-mtext(". "), Typesetting:-mtext(dsss3))), 'columnalign' = 'left') elif ii = 3 then R[r] := Typesetting:-mtr(Typesetting:-mtd(Typesetting:-mrow(Typesetting:-mtext("A"), Typesetting:-mtext(". "), Typesetting:-mtext(dsss1))), Typesetting:-mtd(Typesetting:-mrow(Typesetting:-mtext("B"), Typesetting:-mtext(". "), Typesetting:-mtext(dsss2))), Typesetting:-mtd(Typesetting:-mrow(Typesetting:-mtext("C", mathcolor = `#ff0000`), Typesetting:-mtext(". "), Typesetting:-mtext(dsd))), Typesetting:-mtd(Typesetting:-mrow(Typesetting:-mtext("D"), Typesetting:-mtext(". "), Typesetting:-mtext(dsss3))), 'columnalign' = 'left') else R[r] := Typesetting:-mtr(Typesetting:-mtd(Typesetting:-mrow(Typesetting:-mtext("A"), Typesetting:-mtext(". "), Typesetting:-mtext(dsss1))), Typesetting:-mtd(Typesetting:-mrow(Typesetting:-mtext("B"), Typesetting:-mtext(". "), Typesetting:-mtext(dsss2))), Typesetting:-mtd(Typesetting:-mrow(Typesetting:-mtext("C"), Typesetting:-mtext(". "), Typesetting:-mtext(dsss3))), Typesetting:-mtd(Typesetting:-mrow(Typesetting:-mtext("D", mathcolor = `#ff0000`), Typesetting:-mtext(". "), Typesetting:-mtext(dsd))), 'columnalign' = 'left') end if end do; Typesetting:-mtable(seq(op([R[r], `$`(Typesetting:-mtr(), 2)]), r = 1 .. jjj)) end proc

randomize()

multiple(7)

"[["A"". ""123456","B"". ""12345667890","C"". ""12345667890","D"". ""123456789012345"],[],[],["A"". ""1","B"". ""1","C"". ""1","D"". ""123456"],[],[],["A"". ""12345667890","B"". ""123456","C"". ""123456789012345","D"". ""123456789012345"],[],[],["A"". ""12345667890","B"". ""12345667890","C"". ""1","D"". ""1"],[],[],["A"". ""123456","B"". ""123456789012345","C"". ""123456","D"". ""123456789012345"],[],[],["A"". ""12345667890","B"". ""1","C"". ""12345667890","D"". ""123456789012345"],[],[],["A"". ""12345667890","B"". ""123456789012345","C"". ""123456","D"". ""123456"],[],[]]"

``

Download Goi_mapleprime_ac.mw

You can easily generate a sequence of such things.

So, you could use such a generated sequence in the arguments of the Minimize command.

seq(x[i]=1..2, i=1..5);

    x[1] = 1 .. 2, x[2] = 1 .. 2, x[3] = 1 .. 2, x[4] = 1 .. 2, x[5] = 1 .. 2

op(map(v->v=1..2, [W, a, x, y]));

             W = 1 .. 2, a = 1 .. 2, x = 1 .. 2, y = 1 .. 2

expr := a^2+sin(b*Pi+c):

indets(expr, And(name,Non(constant)));

                          {a, b, c}

op(map(v->v=1..2, indets(expr, And(name,Non(constant)))));

               a = 1 .. 2, b = 1 .. 2, c = 1 .. 2

As far as I know it is only possible to specify one light source.

The wording in the documentation might be improved, but I suppose the idea is that it is providing an alternative to the Light1, Light2, etc, stock lighting model choices.

[edited] Sorry, I was in a rush earlier.

I often find it helpful to remember that the results of plotting commands -- plot structures -- are just unevaluated function calls. One can assemble them manually, as well as pick them apart. The stock plotting commands just happen to provide useful functionally for constructing particular plot structures that the GUI renders with some commonly wanted appearances.

There are a few interesting things that can be constructed manually, yet don't have a path to that construction via the stock commands. I don't believe that's the case here.

There are also a few things one can discover.

The PLOT3D function call (structure) can have a MESH substructure as one representation of a surface. The LIGHT function call (substructure) has no effect if it appears as a local plot option within a MESH substructure.

The LIGHT substructure only has an effect as one of the arguments of the outer PLOT3D structure. Sometimes this is referred to as a global plot option, on account of this. And the Standard GUI seems to only utilize the last LIGHT substructure found in the outer PLOT3D structure. In other words, only one lighting source can be specified per PLOT3D structure.

note. One of the important jobs of plots:-display is to sort out what global plot options are present, when passed multiple plot structures, and merge them when possible.

LIGHT_structure.mw

I'm not sure what you want changed.

For your animations, you don't have to put the common plot (common to all frames) in a display call with the other bits. If you use the plots:-animate command then it can look a little tighter, IMO.

Also, if you use a few procedures then you could probably avoid using do-loops that assigned to k, n, etc. And so you might not need to keep unassigning those.

And some plot options like xtickmarks, labels, etc, only need to be supplied to the final display call (or animate).

with(Statistics): with(plots):
ChisquarePDF := unapply(PDF(RandomVariable(ChiSquare(a)),var), [a,var]):
NormalPDF := unapply(PDF(RandomVariable(Normal(mu,sigma)),var), [mu,sigma,var]):

h := algsubs(x = sqrt(2*n)*w + n,sqrt(2*n)*ChisquarePDF(n, x)):
makeN := k -> display(plot(eval(h,n=20*k), w = -3.52 .. 3.52, color=red, thickness=2),
                      textplot([1.8, 0.3, sprintf("n = %a",round(20*k))],
                               font=[TIMES,BOLD,12], color=blue)):
animate(makeN, [k], k=1..15, frames=15, paraminfo=false,
        background = plot(NormalPDF(0, 1, x), x = -3.52 .. 3.52, color = blue, thickness=2),
        title = `pdf of the Sum of Transformed Chi-square(1)\nRandom Variables and the N(0,1) pdf`,
        titlefont=[TIMES,BOLD,12], labels=[``,``],
        xtickmarks=[-3.5+0.5*k$k=0..14], ytickmarks=[0.05*k$k=1..8]);

It would be much better to upload a worksheet with 2D Input, rather than to try and paste that in as plain text.

If your term typed in as 2 k alpha[1] alpha[2]0 is just a typographical mistake, and you intended 2 k alpha[1] alpha[2] instead, then how do you feel about k=0, w=0 ?

solve_sys.mw

For fun, here are a few additional ways to customize plots for this.

You can uncomment some of the options below, for a few more variations.

restart;

plots:-setoptions(gridlines=false):

A := [3, 4, 10, 14, 15, 16];
B := [10, 20, 30, 40, 50, 60];

[3, 4, 10, 14, 15, 16]

[10, 20, 30, 40, 50, 60]

 

plots:-display(((a,b)->plottools:-line([a,0],[a,b],color=blue))~(A,B)
               #, view=[0..max(A),DEFAULT]
               , thickness=1
               #, xtickmarks=A
               );

plots:-display(((a,b,r)->plottools:-line([a,0],[a,b/r],color=blue))~(A,B,add(B))
               , view=[0..max(A),DEFAULT]
               , thickness=3
               , xtickmarks=A
              );

r := add(B):
plots:-display(seq(plottools:-polygon([ [A[i]-1/2, 0], [A[i]-1/2, B[i]/r],
                                        [A[i]+1/2, B[i]/r], [A[i]+1/2, 0] ],
                                      color=blue),
                   i=1..nops(A))
               #, view=[0..max(A)+1/2,DEFAULT]
               , thickness=0
               #, style=surface
               #, xtickmarks=A
              );

plots:-display(((i,b,r)->plottools:-line([i,0],[i,b/r],color=blue))~([$1..nops(A)],B,add(B))
               , view=[0..nops(A),DEFAULT]
               , thickness=3
               , xtickmarks=[seq(i=A[i],i=1..nops(A))]
              );

r := add(B):
plots:-display(seq(plottools:-polygon([ [i-1/2, 0], [i-1/2, B[i]/r],
                                        [i+1/2, B[i]/r], [i+1/2, 0] ],
                                      color=blue),
                   i=1..nops(A))
               #, view=[0..max(A)+1/2,DEFAULT]
               , thickness=0
               #, style=surface
               , xtickmarks=[seq(i=A[i],i=1..nops(A))]
              );

 

NULL

Download Histogram_varieties.mw

First 160 161 162 163 164 165 166 Last Page 162 of 336