Matlab符号方程组化简
发布日期:2021-06-30 12:07:11
浏览次数:4
分类:技术文章
本文共 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 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
做的很好,不错不错
[***.243.131.199]2024年04月25日 08时37分16秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
一个数据项目
2019-04-30
基于JAVA_JSP电子书下载系统
2019-04-30
基于java出租车计价器设计与实现
2019-04-30
基于java的B2C的网上拍卖系统
2019-04-30
十二时辰篇:这该死的 996
2019-04-30
2021最新 上海互联网公司排名
2019-04-30
字节vs快手!取消大小周之战
2019-04-30
送一个闲置显示器!
2019-04-30
Oracle 行转列 pivot函数基本用法
2019-04-30
Oracle字符串分隔符替换(替换奇数个或偶数个)
2019-04-30
Oracle 利用 UTL_SMTP 包发送邮件
2019-04-30
Oracle 自定义函数实现split功能,支持超长字符串和clob类型的分隔
2019-04-30
Oracle 的循环中的异常捕捉和处理
2019-04-30
Oracle通过pivot和unpivot配合实现行列转换
2019-04-30
给Oracle数据库换一个1522端口的监听
2019-04-30
Excel表格数据生成ECharts图表
2019-04-30
阿里云短信服务python版,pyinstaller打包运行时缺少文件
2019-04-30
Oracle的pfile和spfile的一点理解和笔记
2019-04-30
WebService的简单案例记录(Java)
2019-04-30