Solve the differential equation by Runge Kutta method?

Posted 8 months ago
1081 Views
|
6 Replies
|
3 Total Likes
|
 I need to solve the equation as follows by numerical methods such as Runge Kutta, Newton Raphson, ... Hope everyone help me. I thank everyone. Attachments:
6 Replies
Sort By:
Posted 8 months ago
 Your biggest problem is you have no precision in your equations. Your equations have terms that are order of 10^0 and terms that have order 10^15. You are using machine precision numbers that only have 16 decimal places. I suggest you re-derive your equations using a higher precision (i.e. 30) and you will probably be able to integrate them more easily.Also, in understanding the physical source of your equations, does the size of your coefficients make sense? It is unusual to have such large numbers in a dynamical equation.Regards,Neil
Posted 8 months ago
 Thank you for your contribution. Hope you look at the origin of the equation Attachments:
Posted 8 months ago
 Welcome to Wolfram Community! Please make sure you know the rules: https://wolfr.am/READ-1STThe rules explain how to format your code properly. If you do not format code, it may become corrupted and useless to other members. Please EDIT your post and make sure code blocks start on a new paragraph and look framed and colored like this. int = Integrate[1/(x^3 - 1), x]; Map[Framed, int, Infinity] 
Posted 8 months ago
 As I stated, you need more precision. Note that I put 30 digits of precision on all machine precision numbers (numbers like 1 or Pi are infinite precision already). Also note that 5*^6 is the correct syntax for 5e6or 5x10^6 in MMA. Also 1.230 is 1.2 with 30 digits of precision. This works fine. m = 1; n = 1; k1 = 2.530*^8; k2 = 5*^5; h = 2*^-3; b = 50*h; a = b; hp = 0; Vo = 220; q = 5000*Sin[1500*t]; px = 0; py = 0; Nxp = 0; NxT = 0; Nyp = 0; NyT = 0; A11 = 450288736; A12 = 3.240230*^6; A22 = 11028750; A66 = 2.873130*^6; B11 = 0; B12 = 0; B22 = 0; B66 = 0; D11 = 150.096230; D12 = 1.080130; D22 = 3.676230; D66 = 0.957730; ro1 = 2.440030; You never defined epsilon so I did epsilon = 1; `Your NDSolve now works fine.Regards,Neil