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在化简过程中也起着不可忽视的作用。
限于小白的见识,只了解这些符号函数的化简方式,请各位大佬补充,指正。

  • 16
    点赞
  • 90
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
MATLAB中的符号运算是为了得到更高精度的数值解。符号运算可以用于数学、物理学、力学等学科和工程应用中的问题。通过使用符号表达式,可以进行各种符号运算,如代数运算、微积分、方程求解等。符号表达式可以包含各种符号变量和运算符号,可以进行各种运算操作,如加减乘除、幂运算、函数调用等。在特定情况下,可以选择使用符号表达式进行运算,以获得更精确的结果。\[1\] 在MATLAB中,可以使用sym函数创建符号矩阵。通过这种方法,可以创建一个矩阵,其中的元素可以是任何不带等号的符号表达式。矩阵的元素之间可以用逗号或空格分隔,各行之间用分号分隔。创建符号矩阵后,可以对其进行各种运算操作,如矩阵乘法、矩阵加法等。\[2\] 在符号运算中,还可以使用equationsToMatrix函数将一组方程转化为系数矩阵和常数项矩阵。这个函数可以将一组方程和变量作为输入,返回系数矩阵和常数项矩阵。这样可以方便地进行方程求解和线性代数运算。\[3\] 此外,MATLAB还提供了ccode函数,可以将符号表达式转化为C语言代码。这个函数可以返回用于计算符号表达式的C语句段落,方便将符号运算的结果应用于其他编程环境。\[4\] 总之,MATLAB中的符号运算提供了一种处理符号表达式的方法,可以进行各种数学运算和方程求解。通过使用符号运算,可以获得更高精度的数值解,并且可以方便地进行符号表达式的转化和处理。 #### 引用[.reference_title] - *1* *2* [MATLAB符号运算](https://blog.csdn.net/qq_63189739/article/details/124416950)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [MATLAB - 符号运算(持续更新)](https://blog.csdn.net/weixin_43455581/article/details/103572109)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值