MATLAB Matlab Code for solving and plotting function x'(t) = 1 + t*sin(t*x)

AI Thread Summary
The discussion focuses on solving the differential equation x'(t) = 1 + t*sin(t*x) with the initial condition x(0) = 0 using Matlab. Users are seeking help to implement both the exact solution and numerical methods like Euler's and Improved Euler's Method for comparison. Key issues highlighted include the correct syntax for defining symbolic variables and equations in Matlab, specifically using '==' in the dsolve function and ensuring proper variable definitions. There is uncertainty about the existence of an explicit solution for the given ODE, which may lead to warnings in Matlab. The conversation emphasizes the need for accurate coding practices to successfully solve and plot the function.
bdoherty1994
Messages
4
Reaction score
0
Hi everyone,

I am trying to solve and plot the function, x'(t) = 1 + t*sin(t*x) where x(0) = 0 and t_final = 1, in order to compare this exact solution to the approximations of Euler's and Improved Euler's Method. Can anyone help me with the code in order to solve this problem, and then plot it, using Matlab?

Thanks in advance!
 
Physics news on Phys.org
Sure. Just show us the code that you have right now and the problems you are facing and we'll help.
 
syms x y
init = 'y(0)=0'
dsolve('Dy = 1 + t.*sin(t*y)', 'y(0)=0', 't')

I keep coming up with an error.
 
There are a number of things

You define
sym x y

but use x and y in your equation

You should define
sym y(t)

not
sym y t

In your desolve statement you should use '==' not '='

Lastly I don't know if the ode has an explicit solution. If it does not, then MATLAB will still give you an warning.
 

Similar threads

Replies
8
Views
2K
Replies
4
Views
4K
Replies
1
Views
2K
Replies
4
Views
1K
Replies
5
Views
3K
Replies
2
Views
3K
Replies
5
Views
2K
Back
Top