DSolve问题
mathematica吧
全部回复
仅看楼主
level 3
ClearAll[r, l, c];
vr[t_] := vc[t];
vl[t_] := 24 - vr[t];
ir[t_] := il[t] - ic[t];
sys = {l il'[t] == vl[t], c vc'[t] == ic[t]};
ic = {il[0] == 0, vc[0] == 0};
sol = DSolve[Flatten[{sys, ic}], {il, vc}, t]
上图是官方给的一个RLC例程,下面是我照着例程写的一个BUCK电路的代码,24是我假定给的电源电压,但我运行后的求解结果有K1、K2,并且保留有积分符号,看着不是正常形式的解析解,请问老哥们我是哪块地方写错了,麻烦指导一下,谢谢!
2022年08月09日 03点08分 1
level 9
刚回了趟家康康你的例子。
下面set了ic,和上面ic[t]撞了,估计是大意了,这是主要问题,但不是唯一问题。
以下将作为函数名的ic称为iC。
经过人肉化简,iC和ir在最后的待求解式中只能留一个,但是事实是DSolve如果想求解成所谓好看的样子,Flatten的式子中微分方程最后肯定是可以化简成只含il和vc的形式,这个在咱们平常求微分方程的时候也肯定是这样的,毕竟两个方程两个函数嘛。未定的K【】就是从那没法消去的iC或者ir中出的。
2022年08月09日 06点08分 3
嗯。例子里面完全是可以化简成两个函数两个式子的样子
2022年08月09日 06点08分
首先谢谢您的回答!我尝试程序里只留下求解变量il或者vc,这次报错的问题是“DSolve:提供的方程不是给定函数的微分方程或积分方程”,可以看下您的代码是怎么写的吗?[乖]
2022年08月09日 08点08分
@盖菜是我盖菜 我刚在学校,现在也在,等明天吧[小乖]高中补课了属于是
2022年08月09日 08点08分
@翌日翌日翌 :看看其间有没有大佬先帮您[笑眼]
2022年08月09日 08点08分
level 3
ClearAll[r, l, c];
vc[t_] := r ir[t];
vl[t_] := 24 - vc[t];
ir[t_] := il[t] - ic[t];
sys = {l il'[t] == vl[t], c vr'[t] == ic[t]};
in = {il[0] == 0, vr[0] == 0};
sol = DSolve[Flatten[{sys, in}], {il, vr}, t]
这次我写成了这样“vc[t_] := r ir[t];”相当于vc=vr,然后改为了对il和vr求解,我不知道ir和vc怎么只留一个,因为它们的电流关系应该只有这一个方程[乖],当然结果还留有K【】。然后最后我还是想能够直接求il和vc,实在不知道要怎么写,才能得到
正确的
表达式了[泪]
2022年08月10日 02点08分 4
吧务
level 15
方程肯定列错了,但是你不把电路给出来别人帮不了你。(你要是指望着同时精通电路和Mathematica的人出现那当我没说。)
2022年09月02日 17点09分 5
1