Matlab符号方程组化简
发布日期:2021-06-30 12:07:11 浏览次数:3 分类:技术文章

本文共 1076 字,大约阅读时间需要 3 分钟。

最近在上课的时候,发现一个很难化简的方程,如下:

从左化简到右,虽然能够用手写,但是太麻烦了,能不能用Maltab呢?

当然,根据高斯消元,首先得从方程组中最下面的方程化起,然后再回代到第一个方程,即可写出 dvc 和 diL 的表达式。

首先在matlab中用 syms 定义所有符号变量:

syms C iL rc R vc dvc Vin diL L rL

之后,再定义两个方程组的表达式:

>> f1 = -C*dvc + iL - vc/R -C*rc*dvc/R f1 = iL - C*dvc - vc/R - (C*dvc*rc)/R >> f2 = -L*diL + Vin - rL*iL -vc - rc*C*dvc f2 = Vin - vc - L*diL - iL*rL - C*dvc*rc

之后,为了求解 dvc,咱们可用 solve :

>> ans1 = solve(f1,dvc) ans1 = -(vc - R*iL)/(C*rc + C*R)

之后,将ans1带入 dvc中,从而用 solve 求解 f1。 带入可以用 subs 函数。

>> ans2 = solve(subs(f2,dvc,ans1),diL) ans2 = (Vin - vc - iL*rL + (C*rc*(vc - R*iL))/(C*rc + C*R))/L

之后,再用 pretty 显示:

>> pretty(collect(ans1))   /       1      \         R iL   | - ---------- | vc + ----------   \   C rc + C R /      C rc + C R>> pretty(collect(ans2))      C rc                           C R iL rc   ---------- - 1      iL rL - Vin + ----------   C rc + C R                        C rc + C R   -------------- vc - ------------------------         L                        L

总结

用 syms 、 solve 、 subs 、 collect 和 prettry

syms 定义符号变量

solve 求解

subs 替代

collect 化简

pretty 显示

转载地址:https://jacobzhuo.blog.csdn.net/article/details/105505581 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Fire Tracking Algorithm
下一篇:Opencv 图像操作基础

发表评论

最新留言

感谢大佬
[***.8.128.20]2024年04月18日 06时31分18秒