Help with basic matlab

I need to find the error between the exact solution and Euler, Runge Kuta 2 y 4.
I have the next IVP:
y' = sin(3t) - cos(t/10) + 3sen(7t) -ty
y(0)=0
I need to solve in an interval [0 20], t=0:h:20, where h = 5
But h is going to change until: abs [ (y(h)-y(h/2)/y(h) ] / n > 0.05
h = (5,5/2,5/4,...), and n = 5
The problem is not with RK2 and RK4 or how to solve the ivp, it is when I need to find the error and I need to evaluate the ivp in t=0:h:20, but i gives me an error, and it is mostly because of the -t*y part. I have been using the function eval.
Thanks alot for reading my problem

3 个评论

The question is not clear. Please post valid Matlab syntax, such that we can copy&paste it for posting suggestions for improvements. Do not let us guess, what "3sen(7t)" explicitly means.
When you mention an error message, it is required for an answer, that you post a complete copy of it and at least the lione, which causes the error. We do not have crystal balls.
Abel
Abel 2013-5-13
编辑:Abel 2013-5-13
Thanks for reading my question, when I use dsolve i get this ans:
dsolve('Dy = -yt + sin(3t) - cos(t.01) + 3sin(7*t)', 'y(0) = 0')
ans =
exp(-t^2/2)*int(exp(x2/2)(sin(3x) - cos(x/100) + 3sin(7x)), x = 0..t, IgnoreAnalyticConstraints)/exp(t2/2)
I would like to know how can I evaluate it in the interval t=0:h:20, if i just simply eval, matlab shows an error.
Error using sym/eval (line 11)
Error: Unexpected MATLAB expression.
I think it is because eval does't work with integrals.
No, it is because you did not use valid expression syntax in your strings. For example, 3t needs to be 3*t and 3sin(7*t) needs to be 3*sin(7*t)

请先登录,再进行评论。

回答(0 个)

类别

帮助中心File Exchange 中查找有关 Symbolic Math Toolbox 的更多信息

提问:

2013-5-13

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by