Scot Gould

Scot Gould

707 Reputation

14 Badges

11 years, 91 days
Claremont McKenna, Pitzer, Scripps College
Professor of Physics
Upland, California, United States
Dr. Scot Gould is a professor of physics in the W.M. Keck Science Department of Claremont McKenna, Pitzer, and Scripps Colleges - members of The Claremont Colleges in California. He was involved in the early development of the atomic force microscope. His research has included numerous studies and experiments using scanning probe microscopes, particularly those involving natural fibers such as spider silk. More recently, he was involved in developing and sustaining AISS. This full-year multi-unit, non-traditional, interdisciplinary undergraduate science education course integrated topics from biology, chemistry, physics, mathematics, and computer science. His current interest is integrating computational topics into the physics curriculum. He teaches the use of Maple's computer algebraic and numerical systems to assist students in modeling and visualizing physical and biological systems. His Dirac-notation-based quantum mechanics course is taught solely through Maple.

MaplePrimes Activity


These are questions asked by Scot Gould

Even though I was using the thoughtful answer provided by a poster in a previous MaplePrimes question, I was unable to successfully place labels on a column graph.  I have reduced the problem to adding a plots:-setoptions call, of any type, before calling ColumnGraph:
 

restart

with(Statistics)

T := [StringTools[CharacterFrequencies]("antidisestablishmentarianism")]

["a" = 4, "b" = 1, "d" = 1, "e" = 2, "h" = 1, "i" = 5, "l" = 1, "m" = 2, "n" = 3, "r" = 1, "s" = 4, "t" = 3]

(1)

ColumnGraph(T)

 

plots:-setoptions(size = [300, 250])

ColumnGraph(T)

Error, (in Statistics:-ColumnGraph) expecting plot structure but received: ROOT(BOUNDS_X(0), BOUNDS_Y(0), BOUNDS_WIDTH(300), BOUNDS_HEIGHT(250))

 

 


 

Download ColumnGraph_Problem.mw

 

The challenge for me is that for my work, several default plot parameters require changing including the default plot size which is too large. Hence my Maple initialization file includes calls to plots:-setoptions. Is this a bug in the ColumnGraph command and is there a work around that does not include removing the plots:-setoptions from my initialization file? Note: this problem occurs both in Maple 2019 and 2020. 

I have a string which includes characters from the extended ASCII character set. I simply want to print the string. Nothing fancy. Hence my question is: how does one print characters from the extended ASCII character set so that they show up as the characters and not a bunch of empty boxes?  (A technique for UTF-8  character printing would be a bonus.)   

<Edit> For example, in integers, my string could be:

s := [56, 72, 157, 38];

Hence there printing of s as a string should be a 4 character / bytes entity: 

printf("%s", convert(s, bytes));

In preparing to sample problems, I came across this difference in an output depending upon the input type: 2d Input vs. Maple Input. Is there a typo on my part?


 

restart; kernelopts(version); Digits

`Maple 2020.1, X86 64 WINDOWS, Jun 10 2020, Build ID 1474787`

 

10

(1)

Very happy with the output of the following line:

x := evalf[30](3.0^1.2)

3.73719281884655197790004100992

(2)

 

But I'm confused about the output of the next line. Is it a limit to the calculation or a display problem?

a := evalf[30](3.0^(1.2))

3.737192819

(3)

 

and yet this next output looks fine:

b := evalf[30]( exp( 1.2 * ln(3)))

3.73719281884655197790004100989

(4)

 

Fortunately, there appears to be no difference between x and b:

evalf[30](x-b)

0.3e-28

(5)

 

But these next  lines suggest there is an actual limit in the calculation of a.

evalf[30](a-b)

0.15344802209995899011e-9

(6)

evalf[30](a - b);

0.15344802209995899011e-9

(7)

Note - when Digits is set to 30, the calculation difference between x and a disappears.

``


 

Download 2020_evalf_digits.mw

With Maple 2020, I have been experiencing some odd behavior of simple 2D plots. For example, I plotted two functions on the same graph, and the default view did not contain the full upper or lower limits of both functions. (Sorry, I chose to move on and so I am unable to reproduce this outcome – but it has happened more than once.)  

Now I am experiencing another limited view of a plot, this time a single function. In creating a simple example of the SIR model, I have dsolve output a list of procedures so that I can plot them as functions. But when I plot one of the functions, it does not plot the entire function from the lower to the upper limit. Am I alone in experiencing this outcome? Is there something I am doing wrong that is causing this behavior?

 

restart; plots:-setoptions(size = [300, 300])

s_eq := diff(s(t), t) = -ir*i(t)*s(t); i_eq := diff(i(t), t) = ir*i(t)*s(t)-rr*i(t); d_eq := diff(d(t), t) = dr*i(t); ics := s(0) = s0, i(0) = i0, d(0) = 0

"i0:=1.E3:    P0:=3.E8:    drate:=0.02:     s0:=0.6*P0:    ir:=(0.1)/(s0):   rr:=1/(30.):  dr:=rr*drate:   "

sol := dsolve({d_eq, i_eq, ics, s_eq}, numeric); tf := 120; plots:-odeplot(sol, [t, d(t)], 0 .. tf)

 

sol := dsolve({d_eq, i_eq, ics, s_eq}, numeric, output = listprocedure); i := eval(i(t), sol); s := eval(s(t), sol); d := eval(d(t), sol)

tf; plot(d(t), t = 0 .. tf)

120

 

 

plot(d(t), t = 0 .. tf, view = [0 .. 150, 0 .. 40000])

 

``


 

Download plot_view_problem.mw

Based on an answer to a question posted on MaplePrimes, which I am I able to locate through the search system, but that I know it is recent, I am trying to calculate the parameters of a function which minimizes the result of a numerical integral. The function, f1(x), is well defined. The function f2(x) has two parameters, K and r. The integral of the square of the difference between the two function cannot be solved symbolically. Hence my plan is to use the Minimization function in Optimization to determine the values of K and r. 

The attached worksheet includes two examples - a practice example for me to become familiar with using Optimization:-Minimization for an integral and the actual problem I am attempting to solve. Note: it was only through MaplePrimes that I learned the function must be defined through a procedure. Here is what I discovered in my experiments:

* the command to perform the numerical integration requires the small "i" verion of int, not Int, i.e evalf( int( function, limits )), not evalf(Int(..)).  This seems to be inconsistent with the documentation. Can someone explain why it is this way?

* The function must be defined locally. If I try to use a globally defined function, non-numeric results are encountered. Is there a way to integrate a global function?

* For the practice problem, it works as long as I abide by the conditions in the previous 2 bullet points.

* When I try to solve the real problem, which appears to be solvable by eyeballing some graphs (included), the kernal is lost.  This is repeatable for me. Do others experience this problem?

Thank you for your attention.

-------------------

Aside: It would be useful if the output of a search in MaplePrimes could be sorted by date.

 MaplePrimes_Minimization.mw

2 3 4 5 6 7 Page 4 of 7