我想解决这种形式的等式: x'= -A.x + B. | sin(100 * pi * t)| 我像这样使用ode45:
function find_x
t = 0:0.001:10;
x0 = 0;
R1 = 90000;
R2 = 1000;
C = 0.001;
[t,x]=ode45(@rhs, t , x0);
plot(t,x);
function dxdt = rhs(t,x)
dxdt = -(C/R1 + C/R2)*x + C/R1*abs(sin(100*pi*t)) ;
%It's form is dx/dt = -A.x + B.U(t)
end
end
但我觉得它给了我错误的答案。 实际上,我从一个问题“在二极管桥和电容器之后找到输出电压”得到这个等式,如下所示:
任何人都可以向我建议另一种解决方法吗?感谢。
答案 0 :(得分:3)
不是解决这个问题的地方,这让我回到了我的信号和系统日,但基本上你的方程式应该有C作为分频器......
记住它是
I = C *dV/dt
因此,如果你在RHS上有dV / dt,你应该期望在LHS上看到1 / C:
function khan
t = 0:0.001:10;
x0 = 0;
R1 = 90000;
R2 = 1000;
C = 0.001;
options = odeset('RelTol',1e-6,'AbsTol',1e-8);
[t,x]=ode45(@rhs, t , x0,options);
plot(t,x);
function dxdt = rhs(t,x)
dxdt = -(1/R1 + 1/R2)*x/C + 1/R1*abs(sin(100*pi*t))/C ;
%It's form is dx/dt = -A.x + B.U(t)
end
end