欢迎光临散文网 会员登陆 & 注册

何必手算?MATLAB求解微分方程|Matlab符号计算

2023-03-28 22:59 作者:苍纳斯  | 我要投稿


clc

close all


syms Uc(t) R L C Us i(t)

eqn = L*C*diff(Uc, t, 2)+R*C*diff(Uc, t)+Uc == 0;

DUc = diff(Uc, t);

%定义初始条件

cond = [Uc(0)==Us, DUc(0)==0];

uc = dsolve(eqn,cond);

uc = subs(uc, [Us C R L], [10 1e-6 4e3 1]);

vpa(uc, 4)

i = -C*diff(uc, t);

i = subs(i, C, 1e-6);

vpa(i*1000, 3)

ul = L*diff(i, t);

ul = subs(ul, L, 1);

vpa(ul, 4)

fplot(uc, [0 0.01], 'LineWidth', 2);

grid on;

hold on;

fplot(i*1000, [0 0.01], 'LineWidth', 2);

fplot(ul, [0 0.01], 'LineWidth', 2);

legend('uc', 'i', 'ul');

ylim([-1 10]);

何必手算?MATLAB求解微分方程|Matlab符号计算的评论 (共 条)

分享到微博请遵守国家法律