MATLAB基础(三)符号运算

article/2025/9/18 22:56:59

                                                                  符号对象的建立

 符号对象的建立:sym syms

sym 函数用来建立单个符号变量,一般调用格式为:符号变量 = sym(A) 参数 A 可以是一个数或数值矩阵,也可以是字符串

例如:a=sym('a')    a 是符号变量

b=sym(1/3)          b 是符号常量

C=sym('[1 ab; c d]')             C 是符号矩阵

syms 命令用来建立多个符号变量,一般调用格式为:

syms 符号变量1 符号变量2 ... 符号变量n

syms a b c;  等价  

>> a=sym('a');

>> b=sym('b');

>> c=sym('c');

建立符号表达式通常有以下2种方法:

(1)sym 函数直接建立符号表达式。
(2) 使用已经定义的符号变量组成符号表达式。

例如:  y=sym('sin(x)+cos(x)')

>> x=sym('x');

>>  y=sin(x)+cos(x)

 

>> syms x;

>>  y=sin(x)+cos(x)

                                                                              符号表达式的替换

 用给定的数据替换符号表达式中的指定的符号变量

 subs(f,x,a)

a 替换字符函数 f  中的字符变量  x
 a 是可以是 /数值变量/表达式字符变量/表达式   

x 是一个由多个字符变量组成的数组或矩阵

a 应该具有与 x 相同的形状的数组或矩阵

>> f=sym('2*u');

>> subs(f,'u',2)

>> f2=subs(f,'u','u+2')

>> a=3;

>> subs(f2,'u',a+2)

>> subs(f2,'u','a+2')

>> syms x y

>> f3=subs(f,'u',x+y)

>> subs(f3,[x,y],[1,2])

                                                                                        符号矩阵

 使用 sym 函数直接生成

>> A=sym('[1+x, sin(x); 5, exp(x)]')

 将数值矩阵转化成符号矩阵

>> B=[2/3, sqrt(2); 5.2, log(3)];

>> C=sym(B)

符号矩阵中元素的引用和修改

>> A=sym('[1+x, sin(x); 5, exp(x)]');

>> A(1,2) % 引用

                                                                                因式分解

factor() 也可用于正整数的分解

>> factor(sym('12345678901234567890'))     l 大整数的分解要转化成符号常量

                                                                               函数展开

expand(f)

l多项式展开

>> syms x; f=(x+1)^6;

>> expand(f)

 三角函数展开

>> syms x y; f=sin(x+y);

>> expand(f)

                                                                                 合并同类项

collect(f,v): 按指定变量 v 进行合并

collect(f): 默认变量进行合并

syms x y;

>> f= x^2*y + y*x - x^2 + 2*x ;

>> collect(f)

>> collect(f,y)

                                                                                 函数简化

y=simple(f):    f  尝试多种不同的算法进行简化,返回其中最简短的形式

[How,y]=simple(f):   y f 的最简短形式,How 中记录的为简化过程中使用的方法。

f

R

HOW

2*cos(x)^2-sin(x)^2

3*cos(x)^2-1

simplify

(x+1)*x*(x-1)

x^3-x

combine(trig)

x^3+3*x^2+3*x+1

(x+1)^3

factor

cos(3*acos(x))

4*x^3-3*x

expand

y=simplify(f):    f  进行简化

>> syms x; f=sin(x)^2 + cos(x)^2 ;

>> simplify(f)

>> syms c alpha beta;

>> f=exp(c*log(sqrt(alpha+beta)));

>> simplify(f)

例:简化 

>> syms x;

>> f=(1/x^3+6/x^2+12/x+8)^(1/3);

>> y1=simplify(f)

g1=simple(f)

>> g2=simple(g1)

l 多次使用 simple 可以达到最简表达。

                                                                             分式通分

[N,D]=numden(f):   

             N 为通分后的分子,D 为通分后的分母

>> syms x y;

>> f=x/y+y/x;

>> [N,D]=numden(f)

>> [n,d]=numden(sym(112/1024))

                                                                               horner 多项式

 horner 多项式:嵌套形式的多项式

列:

>> syms x;

>> f=x^4+2*x^3+4*x^2+x+1;

>> g=horner(f)

                                                                           计算导数

g=diff(f,v)求符号表达式  f 关于 v 的导数

g=diff(f)求符号表达式  f 关于默认变量的导数

g=diff(f,v,n)  f 关于 v n 阶导数

>> syms x;

>> f=sin(x)+3*x^2;

>> g=diff(f,x)

                                                                            计算积分

int(f,v,a,b): 计算定积分 

int(f,a,b): 计算关于默认变量的定积分

int(f,v): 计算不定积分

int(f): 计算关于默认变量的不定积分

例:计算   

>> syms x; f=(x^2+1)/(x^2-2*x+2)^2;

>> I=int(f,x)

>> K=int(exp(-x^2),x,0,inf)

                                                                            符号求和

symsum(f,v,a,b): 求和  

symsum(f,a,b): 关于默认变量求和
例:计算级数 及其前100项的部分和

>> syms n; f=1/n^2;

>> S=symsum(f,n,1,inf)

>> S100=symsum(f,n,1,100)

                                                                           微分方程求解

dsolve

y=dsolve('eq1','eq2', ... ,'cond1','cond2', ... ,'v') 

其中 y 为输出的解, eq1eq2. . . 为微分方程,
cond1cond2...为初值条件, v 为自变量

例 1:求微分方程的通解,并验证。

>>  y=dsolve('Dy+2*x*y=x*exp(-x^2)','x')

>> y= C2*exp(-x^2) + (x^2*exp(-x^2))/2

例2:求微分方程满足初值条件
的特解,并画出解函数的图形

>>  y=dsolve('x*Dy+y-exp(x)=0', ...
            '
y(1)=2*exp(1)', 'x')

>> ezplot(y);

 

 

例3:求微分方程组 在初值条件 

下的特解,并画出解函数的图形。

[x,y]=dsolve('Dx+5*x+y=exp(t)','Dy-x-3*y=0', ...  

             'x(0)=1', 'y(0)=0', 't')

ezplot(x,y,[0,1.3]);


http://chatgpt.dhexx.cn/article/CkZyE1PV.shtml

相关文章

MATLAB符号运算部分知识总结

1. 符号表达式的定义 1.1符号变量的定义 符号变量通过命令syms和sym定义,syms命令一次定义一个或多个符号变量,sym命令一次只能定义一个符号变量。定义好的符号函数可以通过命令symvar检查其自变量。 MATLAB系统有默认的符号自变量,主要为&am…

[MATLAB]符号计算

符号计算 一、数值微积分1.1 数值计算与符号计算的区别1.2 符号对象1.3 符号常量1.4 符号变量1.4.1 符号变量的创建1.4.2 创建符号矩阵1.4.3 自由符号变量 1.5 符号表达式1.6 符号计算的运算符1.7 符号运算中的函数运算1.8 符号计算与数值计算的区别 二、符号数字及表达式2.1 数…

MATLAB符号运算

在数学、物理学及力学等各种学科和工程应用中,经常还会遇到符号运算的问题。在MATLAB中,符号运算是为了得到更高精度的数值解,但数值的运算更容易让读者理解,因此在特定的情况下,分别使用符号或数值表达式进行不同的运…

matlab 运算符

1、字符串 字符串是用单引号来标示的,例如:SI Have a Dream.,赋值号之后在单引号内的字符即是一个字符串,而S是一个字符串变量。 2、运算符 MATLAB 运算符分为算术运算符、关系运算符和逻辑运算符。 1、算术运算符 矩阵算术运算符 运算符…

将stylus 样式 转换成sass,scss

因为有一个项目使用的是 stylus. 后来的项目使用了 scss, 但是很多样式代码都可以共用的, 就是格式不太一样 要是一点一点来转化 就累死了 就想着网上找到一个工具也可以 能实现快速转换 没想到还真有 npm install -g stylus-converter mac sudo npm install -g s…

@import ‘./common/stylus/mixins.styl‘引起的一系列错误

import ./common/stylus/mixins.styl’引起的一系列错误 环境&#xff1a;vue-cli 4 代码&#xff1a; <template><div><h1>App 组件</h1><button class"btn btn1">按钮1</button><button class"btn btn2">按…

stylus的使用

欢迎访问我的博客地址 : 博客地址 stylus的使用 前提条件是已经有了vue项目&#xff0c;如果没有&#xff0c;请先建立&#xff0c;具体方法看这里https://cn.vuejs.org/v2/guide/installation.html 安装stylus 建立好项目后我们来安装stylus npm install -D stylus-loader s…

CSS预处理框架——Stylus

目录 内容介绍一、特征二、选择器&#xff08;Selectors&#xff09;  1、缩排 :book:  2、规则集  3、父级引用  4、消除歧义 三、变量&#xff08;Variables&#xff09;  1、变量 :mag:  2、标识符&#xff08;变量名&#xff0c;函数等&#xff09;  3、属性…

引入tinymce-vue后调试器报错 Refused to apply styl

今天在使用tinymce-vue的时候&#xff0c;遇到这些报错&#xff1a; 其中橙色框部分是因为没有引入对应插件导致的&#xff08;code , lineheight , indent2em&#xff09;;再我们下载的包中其实已经有了这些插件&#xff0c;只是页面没有引入&#xff0c;我们只需要页面引入就…

html list-style的作用,list-style是什么意思?list-style样式属性详解

本篇文章给大家带来的内容是关于list-style是什么意思?list-style样式属性详解&#xff0c;有一定的参考价值&#xff0c;有需要的朋友可以参考一下&#xff0c;希望对你有所帮助。 一、list-style作用与用处 list-style是设置列表li的样式。比如li前面为阿拉伯数字、圆点、实…

.styl格式的CSS样式文件是什么文件

.styl格式的CSS样式文件是什么文件 Stylus 是一个 基于Node.js的CSS的预处理框架 。可以说是一种新型语言&#xff0c;其本质上做的事情与sass/less等类似。Stylus 比less更强大&#xff0c;而且基于nodejs&#xff1b;比sass更符合我们的思路。 最近研究了一下vue.js项目的高…

python中pip模块卸载并重装

** python中pip模块卸载并重装 ** 1、卸载已有的pip python -m pip uninstall pip2、重新安装 将https://bootstrap.pypa.io/get-pip.py中的内容复制下来&#xff0c;保存文件名为get-pip.py&#xff0c;之后cmd进入命令行输入如下命令即可&#xff1a; python get-pip.py

pip的安装和卸载

待安装系统环境 系统&#xff1a;macOS 10.15.5 依赖&#xff1a;Python 2.7.16 查看本机python版本的方法 $ python --versionPython 2.7.16 检测是否安装pip方法 $ pip-bash: pip: command not found command not found的提示说明你还没有安装pip 安装 安装好Python…

python中 pip不慎卸载了,重新安装方法

pip不慎卸载了&#xff0c;重新安装方法 今天不小心把pip给删除了&#xff0c;然后就搜怎么安装。弄了半天才弄好&#xff0c;这边记录一下&#xff1a; 1.下载安装文件 官方网站给出了安装的方法https://packaging.python.org/tutorials/installing-packages/#use-pip-for-…

pip 批量安装和卸载package

文章目录 1、pip批量安装package2、pip批量卸载package3、pip换国内源 1、pip批量安装package 将需要安装的包保存在aa.txt中 cd到aa.txt所在目录&#xff0c;运行&#xff1a; $ pip install -r aa.txt2、pip批量卸载package 将需要卸载的包保存在aa.txt中 cd到aa.txt所在…

两种方法彻底删除pip下载的所有第三方库,第二种最快

快速删除pip所有库 前言第一种第二种方法 前言 昨天有小伙伴在群里问怎么删除所有第三方库&#xff0c;已经太久没人问这种问题了&#xff0c;这让我突然意识到还是有很多小伙伴都是处于初学阶段的&#xff0c;于是今天给大家分享一下两种快速删除第三方库的方法&#xff0c;帮…

python pip 卸载环境内所有的包

那么如何一次性删除所有的包呢&#xff1f;首先需要执行以下代码&#xff1a; pip freeze>modules.txt 这时候就能够把所有的第三方模块的模块名称以及第三方模块的版本号等等信息保存在了这个 modules.txt文件中&#xff0c;之后的操作就是对这个文件进行操作了。 执行如…

pip被卸载了,如何再重新安装

今天不小心把pip给删除了&#xff0c;然后就搜怎么安装。弄了半天才弄好&#xff0c;这边记录一下&#xff1a; 首先这个网站给出了安装的方法https://packaging.python.org/tutorials/installing-packages/#use-pip-for-installing 全英文&#xff0c;看不懂&#xff1f;那就…

Windows下卸载pip的方法

一、卸载命令 在cmd中输入 python -m pip uninstall pip 二、执行命令后&#xff0c;弹出确认提示&#xff0c;输入y&#xff0c;给与确认 三、cmd中输入pip&#xff0c;查看是否安装卸载成功

不小心将 pip 卸载了,重新安装pip

打开 python 安装目录 下的 Scripts 文件夹&#xff0c;在空白处shift鼠标右键&#xff0c;选择在此处打开命令窗口&#xff0c; 在弹出的窗口中执行命令 easy_install.exe pip 即可。 如果 python 安装目录下 的 Scripts 目录中有没有 easy_install.exe 参见 http://blo…