Differential equation error.

1 回表示 (過去 30 日間)
Reji G
Reji G 2022 年 10 月 18 日
コメント済み: Walter Roberson 2022 年 10 月 19 日
The following equation need to be implemented and the graph should be obtained like this. I tried all the way, but couldn't.
clc;
close all;
clear all;
t=0:0.001:10;
I = @(t)100*sin(100*pi*t);
r0=0.0002;
Lp=1;
U0=(0.95+(0.005./I(t)));
Ust=(U0+(r0*abs(I(t))))*Lp;
G=(abs(I(t)))./Ust;
g0 = 0.1;
fun = @(t,g) (1/0.00001)*(G-g);
[T,g] = ode45(@(t,g) fun(t,g,I),0.01:0.001:5,g0);
plot(T,g);

回答 (1 件)

Walter Roberson
Walter Roberson 2022 年 10 月 18 日
U0=@(t)(0.95+(0.005./I(t)));
Ust=@(t)(U0(t)+(r0*abs(I(t))))*Lp;
G=@(t)(abs(I(t)))./Ust(t);
g0 = 0.1;
fun = @(t,g) (1/0.00001)*(G(t)-g);
However using abs() violates the restriction that the function you use has continuous second derivatives.
Please see the ballode example.
  3 件のコメント
Reji G
Reji G 2022 年 10 月 19 日
I'm getting 5 errors. I don't know how to rectify it. But I need the graph as plotted above. Please edit the code to run and get the plot.
Walter Roberson
Walter Roberson 2022 年 10 月 19 日
The code needs bigger changes. The function violates the continuity requirements of all ode*() solvers

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

カテゴリ

Help Center および File Exchange2-D and 3-D Plots についてさらに検索

製品


リリース

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by