problem with plotting differential equation

15 ビュー (過去 30 日間)
goran
goran 2014 年 1 月 5 日
編集済み: Mischa Kim 2014 年 4 月 9 日
i have differential equation y'+y*cos(t)=sin(t)*cos(t)+4. how i can solve this equation. i used p=dsolve('Dy+y*cos(t)=sin(t)*cos(t)+4','y(0)=0') i receive p =
exp(-sin(t))*int((exp(sin(x))*(sin(2*x) + 8))/2, x == 0..t, IgnoreAnalyticConstraints)
then i used
plot(p) i receive Error using plot Conversion to double from sym is not possible.
when i use ezpolot(p,[-1,1])
i receive Error using ezplot (line 163) exp(-sin(t))*int((exp(sin(x))*(sin(2*x) + 8))/2, x == 0..t, IgnoreAnalyticConstraints) cannot be plotted in the xy-plane.
Error in sym/ezplot (line 76) h = ezplot(fhandle(f),varargin{:});
how i plot graph for differential equation
  1 件のコメント
Alberto
Alberto 2014 年 4 月 9 日
Some integrals can`t be solved but numerically. Try ode45 instead.

サインインしてコメントする。

回答 (1 件)

Mischa Kim
Mischa Kim 2014 年 4 月 9 日
編集済み: Mischa Kim 2014 年 4 月 9 日
Goran, use something like
function myODE()
tspan = 0:0.1:10;
IC = 1;
[t,y] = ode45(@ODEfun,tspan,IC);
plot(t,y,'r')
xlabel('t')
ylabel('y')
grid
end
function dY = ODEfun(t,y)
dY = -y*cos(t) + sin(t)*cos(t) + 4;
end

カテゴリ

Help Center および File ExchangePartial Differential Equation Toolbox についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by