Kitonum

21435 Reputation

26 Badges

17 years, 29 days

MaplePrimes Activity


These are replies submitted by Kitonum

@mskalsi  In procedure coefff  elements of the list  T  should be names. I do not see in your file any differential expressions, only indexed names. Therefore, for expression in your file procedure should work. If you have any differential expressions, you can just replace them with names foe example  u[x,x]  for  diff(u(x,y),x,x)  and so on.

@Preben Alsholm  for clarifying. I thought that SCR is a normal screenshot and did not know about this option in "More"

@Markiyan Hirnyk  Thanks for answers. I just do not understand why SCR is needed.

@Christopher2222  you are right. Probably the algorithm is based on finding the equation of the plane by the first three points and then verify that the fourth point lies in this plane. It is clear that this algorithm fails, if the first three points lie on the same straight line as in my and Hirnyk's examples.

@Markiyan Hirnyk  

1) I did not understand - what your example, in principle, different from mine?

2) I do not know what  SCR  means.

@Carl Love  Should be  omega(m)  instead of  omega(n)

@Marcel123  

1) I do not know the cause of the error in your calculations. I have no errors occurred.

2) In fact, the results are very similar . If you add to the code two options   abserr=10^(-16), relerr=10^(-16) , the results fully coincide.

 

Addition.  I think I understood the reason for the error, which you write. If you resolve your differential equation, you must remove the previous assignment for  x , for example  x:='x' . But I do not understand why you are re-solve the equation. You can reuse already found the solution  sol , to find the values of the function  x  and its derivatives for different values  t  and to plot their graphs, for example:

x(0.5),  x(1),  Dx(1), D2x(1.5) ;

plot([x, Dx, D2x], 0..1.5);
   

 

 

 

@Marcel123  I work in the classic interface  Maple 2015.1, in which no such messages. The problem is that  D - is a protected name. As a workaround use the other names, for example

restart;

sol := dsolve({diff(x(t), t, t)-(diff(x(t), t)) = 1+t^2+x(t)^(3/2), diff(x(t), t, t) = y(t), x(0) = 0, y(0) = 1, (D(x))(0) = 0}, numeric);

sol(0.5);

x := t->rhs(sol(t)[2]):

Dx := t->rhs(sol(t)[3]):

D2x :=t->rhs(sol(t)[4]):

x(0.5),  Dx(0.5),  D2x(0.5);

@Markiyan Hirnyk  As I wrote in my answer, this is very simple, so I did not touch this issue.

@Carl Love  for your diligent and detailed analysis of all over this situation.

@tomleslie  In my Firefox, I was able to read that Carl wrote about:

@Carl Love  for the detailed explanation.

@Carl Love  Vote up.  Two questions:

1) What is the significance  R:= Vector() .  Why can not we just take the indexed variable  R ?

2) What is  _rest ?

 

The next version works  like your one:

SplitScan:= proc(f, L::list)

local R, k:= 0, j, last:= 1;

     for j from 2 to nops(L) do

          if f(L[j-1], L[j]) then

               k:= k+1;

               R(k):= L[last..j-1];

               last:= j

          end if

     end do;

     [seq(R(i), i= 1..k), L[last..]]

end proc:

 

@Markiyan Hirnyk  I know it. This is a feature of the solution.

 

For example (equation for  tan(x) ) we get the same warning:

sol:=dsolve({diff(y(x),x)=1/cos(x)^2, y(0)=0}, numeric);

plots[odeplot](sol, [x, y(x)], x = 0 .. 2, view=[0..2,0..10]);

@Carl Love  convenient for a large number of plots.

plot([seq(`[]`~(x,y||i), i=1..2)]);

First 88 89 90 91 92 93 94 Last Page 90 of 132