mattfred

0 Reputation

2 Badges

14 years, 228 days

MaplePrimes Activity


These are replies submitted by mattfred

Okay I've got the plots that I want here. 

g :=  (x, a) -> BesselJ(1, 1/1000000000*k(x)*a)

plot(g*(x, 3.5), x = -5 .. 5, y = -1 .. 1)

As I change a, the roots all smoothly and continously shift to lower a (x-axis), but when I try to plot the roots:

h := (a) -> RootOf(g(x, a), x, .5)

plot(h(a), a = 2 .. 4, y = -2 .. 2)

I get this crazy discontinuous thing:

This function should absolutely find a root at 3.5 of approximately 0.4. I see no reason why it should change its root finding method in any way or why it should not produce a continous smooth curve like it does over the region 2..3.25.

@Preben Alsholm Can I install it as a separate package or would I need to upgrade to a later version? I get maple 10 from my University, so I'd have to buy it.

@Preben Alsholm Can I install it as a separate package or would I need to upgrade to a later version? I get maple 10 from my University, so I'd have to buy it.

I've tried using the Bessel Function as:

f := (x) -> BesselJ(2, k(x)*(a*10^-9))

and it gives me a function that looks like a damped sin function. I may be wrong about the shape that I need and this approach may be better (ideally what I wanted to do originally and I think I'm just a little bit more comfortable with Maple now). I'll look into it some. I still have the problem of finding the roots with the same problems as before.

 

I tried RootFinding using the syntax you listed above and got the error that "NextZero is not a command in the RootFinding package" The help page isn't particularly useful, but I'm going to try to see if I can get the correct input from that.

Thanks a lot for the help.

 

I've tried using the Bessel Function as:

f := (x) -> BesselJ(2, k(x)*(a*10^-9))

and it gives me a function that looks like a damped sin function. I may be wrong about the shape that I need and this approach may be better (ideally what I wanted to do originally and I think I'm just a little bit more comfortable with Maple now). I'll look into it some. I still have the problem of finding the roots with the same problems as before.

 

I tried RootFinding using the syntax you listed above and got the error that "NextZero is not a command in the RootFinding package" The help page isn't particularly useful, but I'm going to try to see if I can get the correct input from that.

Thanks a lot for the help.

 

@Preben Alsholm k(x) is quasimomentum based on the band structure of a semiconductor. It's heavily parameterized, but x is the only variable. Everything else is a constant that I've previously defined.

 

k := (x) -> sqrt(2*m0*x*1.602/(10^19*`ℏ`^2*(alpha+1/3*nu^2*(2/(`ϵg`+2*m0*x*1.602/(10^19*`ℏ`^2))+1/(`ϵg`+delta+2*m0*x*1.602/(10^19*`ℏ`^2)))))) end proc

Page 1 of 1