# [WSG21] Daily Study Group: Differential Equations (begins November 29)

Posted 12 days ago
884 Views
|
30 Replies
|
20 Total Likes
|
 A new study group devoted to Differential Equations begins next Monday! A list of daily topics can be found on our Daily Study Groups page. This group will be led by one of our outstanding Wolfram certified instructors, Luke Titus, and will meet daily, Monday to Friday, over the next three weeks. Luke will share the excellent lesson videos created by him for the upcoming Wolfram U course "Introduction to Differential Equations". Study group sessions include time for exercises, discussion and Q&A. This study group will help you achieve the "Course Completion" certificate for the "Introduction to Differential Equations" course after you complete the course quizzes.Sign up: Study group registration page
30 Replies
Sort By:
Posted 5 days ago
 In the email giving a link to the first recording. a link to the Series Landing Page is given as Link to the Series Landing Pagehttps://wolfr.am/YxPcS9oQThis is the landing page for the previous session ("Introduction to Notebooks")What is the correct landing page ?
Posted 5 days ago
 Here is the link to the Differential Equations series: https://www.bigmarker.com/series/daily-study-group-intro-to-differential-equations/series_details
Posted 3 days ago
 Where are the mathematica notebooks for the sessions stored?
Posted 3 days ago
 A link to the download folder containing all the lecture notebooks (as well as any additional materials used during the sessions) is included in the reminder email you receive from BigMarker. It will also be shared in the live session everyday of the study group series.
Posted 3 days ago
 Thank you very much!
Posted 1 day ago
 When does today's session start? Thanks.
Posted 1 day ago
 Friday sessions for this series will start at 10:30 AM CT with the review session for the week running from 10:30-11:00 and the day's lesson beginning at 11:00 AM CT.
Posted 5 days ago
 I notice for the form y'(x)=f(x,y(x))we can use VectorPlot[{1,rhs}...] as direction field, how to derive this? thanks,
Posted 5 days ago
 ok, the first list is slope, got it,
Posted 2 days ago
 Thanks, Vincent. Could you please explain what's the meaning of "1" in the list. Is it the module (length) of the vector which is, in fact, variable (but this is apparently handled by color coding) or something else? The lecture said that the "1" is D[x,x] , but why are we taking this derivative? Thank you.
Posted 3 days ago
 Hi I am trying to resolve this trivial problem trying to verify a solution . In the first run I get the incorrect answer but in the second run if I substitute the solution directly into the 4th line I get the correct answer . Any suggestions ?
Posted 3 days ago
 Function does not evaluate its second argument automatically, so you could use Evaluate as shown below to achieve the desired result in the first case: In[1]:= sol = DSolveValue[p''[x] + 2 p'[x] - 3 p[x] == 0, p[x], x] Out[1]= E^(-3 x) C[1] + E^x C[2] In[2]:= solution = sol /. {C[1] -> 1, C[2] -> 0} Out[2]= E^(-3 x) In[3]:= verify = p''[x] + 2 p'[x] - 3 p[x] == 0 /. {p -> Function[{x}, Evaluate[solution]]} Out[3]= True 
Posted 2 days ago
 Thank you. I wonder which is a better way to avoid a naming conflict: localizing p[x] using , say, Module, or by using /. {p -> Function[{x}, Evaluate[solution]]} Could you please provide an alternative example? Thanks. M
Posted 2 days ago
 Thank you, Devendra. When you said "Function does not evaluate its second argument automatically" was it a general statement, or one related to a particular example? What would the "second argument" mean in general? M
Posted 2 days ago
 Yes, I also find it strange that the "Function does not evaluate its second argument automatically". When I first ran into the problem I tried a number of alternatives and the error will occur without using "Function" . I cannot fathom the reason for Wolfram doing this ....
Posted 2 days ago
 Hello Michael,In Function[x, body], the variable 'x' is the first 'argument' and the expression 'body' is the second 'argument'.The variable 'x' is effectively a 'local' (Module) variable inside Function and hence, as shown below, the function evaluation does not depend upon its name. IIn[1]:= f = Function[x, x^2]; In[2]:= g = Function[a, a^2]; In[3]:= f[5] Out[3]= 25 In[4]:= g[5] Out[4]= 25 In[5]:= f[x] Out[5]= x^2 In[6]:= g[x] Out[6]= x^2 Also, technically, Function has the attribute HoldAll: In[7]:= Attributes[Function] Out[7]= {HoldAll, Protected} In practice, this means that the second argument 'body' is not evaluated by Function, so Evaluate is required below (since 'body' is defined outside Function). In[8]:= body = x^2; In[9]:= Function[x, body][5] (*incorrect*) Out[9]= x^2 In[10]:= Function[x, Evaluate[body]][5] (*correct*) Out[10]= 25 Hope this helps.
Posted 2 days ago
 Great! Thank you, Devendra, for opening the hood. Also, I did not realize that "body" is the second argument. Apparently, I had in mind a function of several variables. All the best. M
Posted 2 days ago
 If there is just one argument the { } can be omitted. For multiple arguments f = Function[{x, y}, x*y]; f[3, 4] (* 12 *) 
Posted 2 days ago
 Hello ! For some reason the GeneratedParameters function does not work for me Could you help me ? thank you
Posted 2 days ago
 Is it fair to say that DSolveValue [...] is simply equivalent to DSolve [...] [[1,1,2]]?
Posted 1 day ago
 Hello Michael,Yes, that is correct for single ODEs but for a system you could use [[1,All,2]], as shown below. In[1]:= DSolve[y'[x] == 1, y[x], x][[1, 1, 2]] Out[1]= x + C[1] In[2]:= DSolveValue[y'[x] == 1, y[x], x] Out[2]= x + C[1] In[3]:= DSolve[{y'[x] == 1, z'[x] == 2}, {y[x], z[x]}, x][[1, All, 2]] Out[3]= {x + C[1], 2 x + C[2]} In[4]:= DSolveValue[{y'[x] == 1, z'[x] == 2}, {y[x], z[x]}, x] Out[4]= {x + C[1], 2 x + C[2]} 
Posted 7 hours ago
 Thank you, Devendra. Very nice: With "All", it displays the second element of all the solutions/assignments. MPS It seems to me that in the early versions there was a spot reserved for the arrow "->" , so that {a -> 3.}[[1,2]] would return "->". Am I mistaken?
Posted 2 days ago
 From Lesson # 3, Verify a Solution: Why do we need to use Functon & Evaluate:solution = 90 + C1 Exp[1/3 t];verify = (p'[t] == 1/3*p[t] - 30) /. p -> Function[t, Evaluate[solution]]Why do the following two statements FAIL?1) verify = (p'[t] == 1/3*p[t] - 30) /. p -> Function[t, solution]OR 2) verify = (p'[t] == 1/3*p[t] - 30) /. p -> solutionOK, the first one fails, perhaps, because of the HoldAll attribute for Function. But why does the second one fail when there is no HoldAll attribute there?
Posted 1 day ago
 Hello Zbigniew,The second one fails because Derivative requires a Function input as shown in In[3] below. In[1]:= solution = 90 + C1 Exp[1/3 t]; In[2]:= (p'[t] == 1/3*p[t] - 30) /. p -> solution Out[2]= Derivative[1][(90 + C1 E^(t/3))][t] == -30 + 1/3 (90 + C1 E^(t/3))[t] In[3]:= f'[t] // InputForm Out[3]//InputForm= Derivative[1][f][t] 
Posted 7 hours ago
 Thank you, Devendra, I didn't realize that all the different ways of expressing derivatives in Mathematica are based on the Derivative[n, m, ...][f][x, y, ...] function. All this makes perfect sense now.Best, Zbigniew
Posted 1 day ago
 In the Lesson 7, the first equation 5 e^y(t)+5 t e^y(t) dy/dt =0 is equivalent to dy/dt = - 1/t; which is trivially solved in one line: y(t) = - ln(t) + c What is the purpose of multiplying both sides by "5 e^y(t)" and making the simple solution more complicate? Is it done for purely *didactic * reasons?
Posted 19 hours ago
 I am getting an error message when I active DSolveValue for the verifying the solution in Exercise 4 of the second order ODE Exercise 9 set: "DSolveValue::deqn: Equation or list of equations expected in the first argument." The equation is clearly displayed. My example notebook is attached. Please advise how to fix this. Thanks. Attachments:
Posted 17 hours ago
 The problem is that you have assignments (=) instead of equatity (==) for y[0] and y'[0]. This should work: DSolveValue[{4y''[t] + 6y'[t] + 2*y[t] == 0, y[0] == 5, y'[0] == 1/2}, y[t], t] // Expand Note, however, that after you have evaluated the wrong DSolveValue expression, then Mathematica has saved the two assignments (y[0] = 5 and y'[0] = 1/2) and will interfere when evaluating the corrected expression. One way to fix this is to restart the kernel after fixing the expression (e.g. using the Quit[] command).