Carl Love

Carl Love

28025 Reputation

25 Badges

12 years, 313 days
Himself
Wayland, Massachusetts, United States
My name was formerly Carl Devore.

MaplePrimes Activity


These are replies submitted by Carl Love

@Jimmy It's easy. Just say

d:= 0.28

before calling NonlinearFit. If you have specified d in the parameterranges, then you'll need to remove that also.

@Jimmy It's easy. Just say

d:= 0.28

before calling NonlinearFit. If you have specified d in the parameterranges, then you'll need to remove that also.

It is easy to solve for arbitrary q(t), but not possible to plot when q(t) is arbitrary. So, do you have more information about q(t)? We also need an initial condition for a plot, something like i(0) = ???.

The above solution is missing some roots. Another sublety of NextZero is that it helps to have a continuous function. The function in this case can easily be made continuous: The roots of tan(sqrt(z)) - sqrt(z) are equivalent to the roots of sin(sqrt(z)) - cos(sqrt(z))*sqrt(z).

Root:= table():  Root[0]:= 0:
for k to 20 do
     Root[k]:= RootFinding:-NextZero(
          z-> sin(sqrt(z))-cos(sqrt(z))*sqrt(z),
          Root[k-1],
          maxdistance= evalf(((k+1)*Pi)^2)
     )
od:
Root:= convert(Root, list);

The above solution is missing some roots. Another sublety of NextZero is that it helps to have a continuous function. The function in this case can easily be made continuous: The roots of tan(sqrt(z)) - sqrt(z) are equivalent to the roots of sin(sqrt(z)) - cos(sqrt(z))*sqrt(z).

Root:= table():  Root[0]:= 0:
for k to 20 do
     Root[k]:= RootFinding:-NextZero(
          z-> sin(sqrt(z))-cos(sqrt(z))*sqrt(z),
          Root[k-1],
          maxdistance= evalf(((k+1)*Pi)^2)
     )
od:
Root:= convert(Root, list);

Unfortunately NextZero does not seem very reliable. In this case, it seems to not always find what is truly the next zero. I will try again by converting this to a continuous problem---trivial to do in this case.

Unfortunately NextZero does not seem very reliable. In this case, it seems to not always find what is truly the next zero. I will try again by converting this to a continuous problem---trivial to do in this case.

@abbeykabir Please start a new Question thread with this question. Also, please try to put some details of the question into the text itself, rather than leaving it all in the worksheet. I will look at your worksheet in the meantime.

Update: I took a look at it. It is a very interesting question. Please post it as a separate thread. Also, please attach a worksheet that I can execute. The current one does not give me access to the b; it merely displays its value.

@abbeykabir Please start a new Question thread with this question. Also, please try to put some details of the question into the text itself, rather than leaving it all in the worksheet. I will look at your worksheet in the meantime.

Update: I took a look at it. It is a very interesting question. Please post it as a separate thread. Also, please attach a worksheet that I can execute. The current one does not give me access to the b; it merely displays its value.

You had to have a formula to draw the graph, right? It would be easier to answer your questions using that formula than getting it directly from the graph.

Yes, you can just remove it. Then you'll just be left with the radial lines.

The command quo(a,b,x,'r') divides polynomial by polynomial b with respect to variable x. It returns the quotient and stores the remainder in r. Each row of the matrix corresponds to one of our polynomials (that's the outer seq). To get the entry in the leftmost column, we divide by a[1]. To get the entry in the next column, we take the remainder of the division and divide it by a[2]. We proceed in this manner until we have divided by every variable.

The command quo(a,b,x,'r') divides polynomial by polynomial b with respect to variable x. It returns the quotient and stores the remainder in r. Each row of the matrix corresponds to one of our polynomials (that's the outer seq). To get the entry in the leftmost column, we divide by a[1]. To get the entry in the next column, we take the remainder of the division and divide it by a[2]. We proceed in this manner until we have divided by every variable.

@Andriy 

I have decided that it is a typo as I can't understand this construction:

N:= (i,j,sigma,f)-> sum(sum(sum(nn(i,j,sigma), sigma= 1..2), j= 1..3), i= 1..f):

You're right: It should be N:= f-> .... What I wrote is nonsense! Sorry about that. Try this:

nn:= ()-> `if`([args]::list(integer), ap.am(args), 'procname'(args)):

N:= proc(f)
local i,j,sigma;
     Sum(Sum(Sum(nn(i,j,sigma), sigma= 1..2), j= 1..3), i= 1..f)
end proc:

I can't help with the simplification of the nn operators.

@Andriy 

I have decided that it is a typo as I can't understand this construction:

N:= (i,j,sigma,f)-> sum(sum(sum(nn(i,j,sigma), sigma= 1..2), j= 1..3), i= 1..f):

You're right: It should be N:= f-> .... What I wrote is nonsense! Sorry about that. Try this:

nn:= ()-> `if`([args]::list(integer), ap.am(args), 'procname'(args)):

N:= proc(f)
local i,j,sigma;
     Sum(Sum(Sum(nn(i,j,sigma), sigma= 1..2), j= 1..3), i= 1..f)
end proc:

I can't help with the simplification of the nn operators.

First 619 620 621 622 623 624 625 Last Page 621 of 708