我是靠谱客的博主 丰富画板,最近开发中收集的这篇文章主要介绍MATLAB符号运算之分式化简(基础),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

MATLAB常见的化简函数如下:
pretty(f) 将符号表达式化简成与高等数学课本上显示符号表达式形式类似
collect(f) 合并符号表达式的同类项
horner(f) 将一般的符号表达式转换成嵌套形式的符号表达式
factor(f) 对符号表达式进行因式分解
expand(f) 对符号表达式进行展开
simplify(f) 对符号表达式进行化简,它利用各种类型的代数恒等式,包括求和、
积分、三角函数、指数函数以及 Bessel 函数等来化简符号表达式

下面进行实现,环境为MATLAB2020b 实时编辑器
代码为求取 使用理想PR控制器控制的逆变器的传递函数
实时编辑器不使用分号结尾可以方便的查看运行结果

syms L_k r C_f positive real
syms s
G_L = 1/(s*L_k+r)
syms T_s positive real
G_PWM = 1/(1.5*T_s*s+1)
syms k_p k_r omega_r positive real
G_PR = k_p+2*k_r*s/(s^2+omega_r^2)
G_ref = G_PR*G_PWM*G_C*G_L/(G_PR*G_PWM*G_C*G_L+G_C*G_L+1)
G_dis = G_C/(G_PR*G_PWM*G_C*G_L+G_C*G_L+1)
simplify(G_ref,1000)    %化简为乘积的形式
pretty(G_ref)       %此情况下与 simplify结果相同,但结果不如 simplify 易读
collect(G_ref)      %合并符号表达式的同类项,由于没有指定自变量,猜测取最高阶数的符号为自变量
%horner(G_ref)		%输入应为多项式,此处不适用,注释掉
factor(G_ref)       %对符号表达式进行因式分解,得到的结果适合手动进行拉普拉斯逆变换或傅里叶逆变换。
expand(G_ref)   %对符号表达式进行展开,猜测 展开成分子阶数增大的形式
simplify(G_dis,1000)

仅展示化简部分的结果:
运行结果
除了上述的化简函数,函数subexper在化简过程中也起着不可忽视的作用。
限于小白的见识,只了解这些符号函数的化简方式,请各位大佬补充,指正。

最后

以上就是丰富画板为你收集整理的MATLAB符号运算之分式化简(基础)的全部内容,希望文章能够帮你解决MATLAB符号运算之分式化简(基础)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(59)

评论列表共有 0 条评论

立即
投稿
返回
顶部