Scot Gould

Scot Gould

1009 Reputation

15 Badges

11 years, 363 days
Claremont McKenna, Pitzer, Scripps College
Professor of Physics
Upland, California, United States
Dr. Scot Gould is a professor of physics at 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 answers submitted by Scot Gould

You cannot because this is a 3rd-order differential equation, and you are provided with only two equations of
conditions. You require another for a single equation and not a family of equations.  
However, you can explore potential curves.

restart; sols := dsolve({diff(u(x), x, x, x)-u(x) = x+2, (D(u))(0) = 2, ((D@@2)(u))(0) = 2})

u(x) = -2-x+(1/2)*(5+c__2)*exp(x)+c__2*exp(-(1/2)*x)*cos((1/2)*3^(1/2)*x)+(1/3)*3^(1/2)*exp(-(1/2)*x)*sin((1/2)*3^(1/2)*x)

(1)

u := MakeFunction(rhs(sols), x, c__2)

proc (x, _C2) options operator, arrow; -2-x+(1/2)*(5+_C2)*exp(x)+_C2*exp(-(1/2)*x)*cos((1/2)*3^(1/2)*x)+(1/3)*3^(1/2)*exp(-(1/2)*x)*sin((1/2)*3^(1/2)*x) end proc

(2)

Explore(plot(u(x, C), x = 0 .. 10), parameters = [C = -5.0 .. 5.0], adaptview = false)

 

``

Download 3rd_order_ode.mw

Go to https://www.gould.prof/learning-maple, and at the bottom of the webpage are a video and PDF examples of generating Mandelbrot sets.

I would use a combination of @dharr 's solution and your presentation. dharr's shows the value of Maple, and yours shows how one can think about the solutions that Maple returns. 

restart; interface(imaginaryunit = I); with(plots)

Start with how the equation is formulated

eqn := x^N = R

 

where

N := 8; R := 64


Solve:

sols := simplify([solve(eqn)])

[2^(3/4), -2^(3/4), I*2^(3/4), -I*2^(3/4), (1+I)*2^(1/4), (-1-I)*2^(1/4), (1-I)*2^(1/4), (-1+I)*2^(1/4)]

(1)

 

Now show that it is equivalent to solving this problem the way you approached it.

radSols := simplify([seq(R^(1/N)*exp((I*(2*Pi/N))*n), n = 0 .. N-1)])

[2^(3/4), (1+I)*2^(1/4), I*2^(3/4), (-1+I)*2^(1/4), -2^(3/4), (-1-I)*2^(1/4), -I*2^(3/4), (1-I)*2^(1/4)]

(2)


Finally, plot on the complex plane both solutions

solve_plot := complexplot(sols, style = point, legend = "Maple solution", symbol = solidcircle, symbolsize = 40, color = "xkcd:Red"); vector_plots := `~`[arrow]([seq(`<,>`(Re(radSols[n]), Im(radSols[n])), n = 1 .. N)], width = 0.4e-1, legend = "vector solution"); L := ceil(R^(1/N)); display(solve_plot, vector_plots, view = [-L .. L, -L .. L], scaling = constrained, size = [500, 500])

 

NULL


 

Download Complex_Plane_Solutions.mw

Simple solution: double-click on the title bar, and the app fills the screen, causing the missing buttons to appear. 

LOL! This problem appeared today in my class after I changed the display size.

Double-click on the tabs to change the state of the ribbon. 

@nm

1) Hit the Alt button
2) hit the I button (for insert)
3) hit the S button (for section)
4) hit <enter>

To answer your question on how to insert a constraint, I recommend inserting a piecewise operation into the inner summation. 

constraint_piecewise.mw

ic2 says to take the derivative of u(x, 0) with respect to t, not take the derivative of the function and evaluate at t =0.

For ic3,

u__t is a name and is not u.

Webinar = web-based seminar.

A seminar is an event where speakers present content. 

You will receive a link to show up on your favorite device for viewing video at the time of the webinar. Click on it just before the event starts. 

The event will likely be recorded and uploaded to the Maplesoft YouTube account, but not until later. You are one of the lucky few who have been invited to see the new Maple features just before Maple 2025 is released.  

Try it! Have fun!

If you want to "Explore" the plot, try this. Change the ranges of the parameters as desired. 

control-trajectory.mw

RandomVector in the LinearAlgebra package is the fastest way to generate a large number of value. Here I set the data to be of type float so that it is hardware float. (acer can correct me if this is wrong). The use of the "elementwise" operator ~ allows one to operate on each element in a vector just like you are used to in MATLAB. 

restart;
randomize():  # to set the seed to a random value
N := 1000:
v := LinearAlgebra:-RandomVector(N, generator = 0 .. 6.00000, datatype = float):
y := Statistics:-CumulativeSum(  2 * (v  <=~  3)  -~ 1 ) :
plots:-listplot(y);

 

@Andiguys I did not go over your problem. Instead, here is an example of how to make a plot similar to the plot you showed. multi-data_plot.mw

restart

 

with(Student:-VectorCalculus)

 

One does not need the vector sign. However, I have found for pedagogical reasons, and the desires of the students, I use it.

 

`#mover(mi("a"),mo("&rarr;"))` := `<,>`(-3, 1); `#mover(mi("b"),mo("&rarr;"))` := `<,>`(4, 2)

 

Asking for the length of each vector is now easy and readable.

a := LinearAlgebra[Norm](`#mover(mi("a"),mo("&rarr;"))`); b := LinearAlgebra[Norm](`#mover(mi("b"),mo("&rarr;"))`)

10^(1/2)

 

2*5^(1/2)

(1)

And the midpoint function also easy to read.

"Midpoint(x, y) := 1/(2)*(x+y):"

`#mover(mi("c"),mo("&rarr;"))` := Midpoint(`#mover(mi("a"),mo("&rarr;"))`, `#mover(mi("b"),mo("&rarr;"))`)

Vector(2, {(1) = 1/2, (2) = 3/2})

(2)

For fun, draw the line between the two vectors

 

"y(x) := ((b-a)[2])/((b-a)[1])*x + ((a[2]*b[1]-a[1]*b[2])/(b[1]-a[1])):"

 

While one could use PlotVector, personally, I prefer to stick with arrow.

tset := Typesetting:-Typeset; plots:-display(plot(y(x), x = `#mover(mi("a"),mo("&rarr;"))`[1] .. `#mover(mi("b"),mo("&rarr;"))`[1], color = "DarkBlue"), plots:-arrow(`#mover(mi("a"),mo("&rarr;"))`, legend = tset(`#mover(mi("a"),mo("&rarr;"))`), color = blue, width = .1), plots:-arrow(`#mover(mi("b"),mo("&rarr;"))`, legend = tset(`#mover(mi("b"),mo("&rarr;"))`), color = "Magenta", width = .1), plots:-arrow(`#mover(mi("c"),mo("&rarr;"))`, legend = tset(`#mover(mi("c"),mo("&rarr;"))`), color = "xkcd:green", width = .1))

 
 

NULL

Download VectorCalculus_Distance_and_Midpoint.mw

You might want to play with

interface(rtablesize = [n_rows, n_cols])

However, if you have a vector with 1 row, it appears that the number of entries shown is n_rows*n_cols. 

One can add a modification to the maple.ini file. 

1 2 3 4 5 6 7 Last Page 1 of 9