필터 지우기
필터 지우기

i could not fix the error part !

조회 수: 2 (최근 30일)
sevgul demir
sevgul demir 2021년 12월 6일
답변: Star Strider 2021년 12월 6일
% Solution of second-order differential equation
% The function diff2(x,y) is created to evaluate the diff. equation
% the name of the m-file is diff2.m
% the function is defined as:
%
function xdot = diff2(t,x)
is = 2;
c = 50e-6; L = 1/32; r = 10;
k1 = 1/c ; % 1/C
k2 = 1/L ; % 1/L
k3 = 1/(r*c); % 1/RC
xdot(1) = k2*x(2);
xdot(2) = k1*is - k1*x(1) - k3*x(2);
end
% solution of second-order differential equation
% the function diff2(x,y) is created to evaluate
% the differential equation
% the name of m-file is diff2.m
%
% Transient analysis of RLC circuit using ode function
% numerical solution
t0 = 0;
tf = 30e-3;
x0 = [0 20]; % Initial conditions
[t,x] = ode23('diff2',t0,tf,x0);
% Second column of matrix x represent capacitor voltage
subplot(211), plot(t,x(:,2))
xlabel('Time, s'), ylabel('Capacitor voltage, V')
text(0.01, 7, 'State Variable Approach')
% Transient analysis of RLC circuit from Example 5.5
t2 =0:1e-3:30e-3;
vt = -6.667*exp(-1600*t2) + 26.667*exp(-400*t2);
subplot(212), plot(t2,vt)
xlabel('Time, s'), ylabel('Capacitor voltage, V')
text(0.01, 4.5, 'Results from Example 5.5')
this is the codes of my work... i think in the line 26 something going wrong.... could you help me the fix this ?

답변 (1개)

Star Strider
Star Strider 2021년 12월 6일
The problems were that the ode23 call has to be:
[t,x] = ode23(@diff2,[t0,tf],x0);
so it refers to ‘diff2’ correctly as a function handle, and the ‘tspan’ variables are now a (1x2) vector.
and the function must be at the end of the script. The function also has to return a column vector, so I fixed that problem with:
xdot(1,:) = k2*x(2);
xdot(2,:) = k1*is - k1*x(1) - k3*x(2);
It now runs without error.
% solution of second-order differential equation
% the function diff2(x,y) is created to evaluate
% the differential equation
% the name of m-file is diff2.m
%
% Transient analysis of RLC circuit using ode function
% numerical solution
t0 = 0;
tf = 30e-3;
x0 = [0 20]; % Initial conditions
[t,x] = ode23(@diff2,[t0,tf],x0);
% Second column of matrix x represent capacitor voltage
subplot(211), plot(t,x(:,2))
xlabel('Time, s'), ylabel('Capacitor voltage, V')
text(0.01, 7, 'State Variable Approach')
% Transient analysis of RLC circuit from Example 5.5
t2 =0:1e-3:30e-3;
vt = -6.667*exp(-1600*t2) + 26.667*exp(-400*t2);
subplot(212), plot(t2,vt)
xlabel('Time, s'), ylabel('Capacitor voltage, V')
text(0.01, 4.5, 'Results from Example 5.5')
function xdot = diff2(t,x)
is = 2;
c = 50e-6; L = 1/32; r = 10;
k1 = 1/c ; % 1/C
k2 = 1/L ; % 1/L
k3 = 1/(r*c); % 1/RC
xdot(1,:) = k2*x(2);
xdot(2,:) = k1*is - k1*x(1) - k3*x(2);
end
.

카테고리

Help CenterFile Exchange에서 Physics에 대해 자세히 알아보기

제품


릴리스

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by