小企业如何建网站,怎么自己制作app,深圳罗湖建网站,软件开发技术方案模板在上一篇的学习中#xff0c;我知道了符号变量的声明#x1f447; Matlab学习02-matlab中的数据显示格式及符号变量-CSDN博客
接下来开始学习符号运算相关的内容#xff0c;并学习最为核心的matlab程序设计。之前的学习都是为了程 序设计做铺垫#xff0c;程序设计又是为了…在上一篇的学习中我知道了符号变量的声明 Matlab学习02-matlab中的数据显示格式及符号变量-CSDN博客
接下来开始学习符号运算相关的内容并学习最为核心的matlab程序设计。之前的学习都是为了程 序设计做铺垫程序设计又是为了其它的项目需求做铺垫例如数字信号处理数字图像处理都要 用到matlab的程序设计也可以用其它编程语言对数字图像进行处理后期会去学习使用Java语言 来编写代码并对数字图像进行处理当前的学习都以matlab为主。
目录
一符号替换
二常用的符号运算
1diff函数 2int函数
3simplify
4solve函数
1求解单个方程
2求解方程组 一符号替换 在matlab中subs函数substitute 替代品可以用于符号变量的替换该命令适用单个符号矩 阵符号表达式符号代数方程和微分方程中的变量替换该函数的调用方法如下
其中 1f表示需要被替换的符号表达式或者是符号方程式。 2新的符号变量 用来替代符号表达式或符号方程中旧的符号变量 。 如果用具体的数值型符号变量来替代符号变量 就会和符号变量 的系数进行运算。 例如我有一个符号方程式fsin(x)5*x0 % 自变量 x需要提前声明为符号变量即syms x 接着我传入两个参数到sub符号替换函数中 subs(f,6) f 表示符号方程式fsin(x)5*x0 6 表示一个数值型的符号变量 对应的效果如下 ↓ 可以看到数值型的符号变量 可以与旧的符号变量 前的系数 系数也是数值型符号变 量进行算数运算 其中 表示被替换的符号变量 表示指定的新符号变量。 相较于只能传入两个参数并且只能替换掉自变量 的上一个subs函数而言这个函数可以指 定要替换的符号变量而不仅仅局限于自变量 。 依旧是 fsin(x)5*x0 这个符号方程式现在我不想替换自变量 只想替换自变量 前的 系数 此时我需要先传入符号方程式 f接着传入被替换的符号变量 5最后传入指定的 新符号变量 6。如下↓
二常用的符号运算
可以用数字代替符号得到数值符号运算的种类很多在这里我先学习常用的符号运算其它的使 用方法都大同小异如果再遇到有意思的符号运算我再补充到文章里面。
1diff函数 diff 全写为differential微分的差别的。顾名思义就是求微分或差分的符号函数。该函数所需传入的参数如下 根据matlab给出的函数解释可以知道diff函数有三种用法由于一般都习惯于将函数用字母 表示因此我在这里用函数 表示函数 。其中
对符号函数 进行微分运算。一般默认是对自变量 进行求导。 现在我有一个符号表达式如下 现在我使用 函数对符号表达式进行求导操作结果如下 % 口诀幂函数求导摘帽减一。 符号函数 对指定变量 进行微分运算。 在上一个函数中只能对自变量 进行求导但如果我想对变量 进行求导就需要使用可以 传入两个参数的 函数其中的变量可以是符号表达式fx^n幂函数中的自变 量x底数也可以是变量 n幂。如果我想对自变量x求导可以写成diff(f,x)如下 显而易见效果和diff(f)一样。 如果我想对自变量n幂求导可以写成diff(f,n)如下 % 此时幂函数变成指数函数底数x为常量指数n为自变量。 % 由指数求导可得符号表达式f的求导 计算符号函 对自变量或指定变量 的 阶导数 是正整数。 不管是传入一个参数的diff函数还是传入两个参数的diff函数都只能进行一阶求导运算如 果想要求二阶及以上的导就需要使用可以传入三个参数的diff函数。最后一个参数dim为求 导的次数。例如符号表达式 fx^n 对自变量 x 求 二阶导 % 因为在求导过程中是对自变量x求导因此变量n作为系数可以看成是常数直接提出去 % 只对求导由幂函数求导可得最后再乘上系数n % 二阶导的结果就是 2int函数
在matlab中int函数全写为integral 积分的可见该函数是用于求积分的符号函数。 需要注意的是求积分有两种不定积分和定积分。定积分相较于不定积分就是多了上下限并能够 求出具体的积分结果。
和求导数的diff函数类似求积分的int函数也有三种
求符号表达式f关于自变量的不定积分。 有一个符号表达式 fx^2现在使用int函数对其求不定积分 求不定积分在高数中有具体的讲解。并且可知积分和求导是相反的操作例如 求导的结果是即 因此 的不定积分为 之所以要在求出来的不定积分后面加上常数C是因为不定积分的“不定”二字已经告诉了我 们算出来的结果没有固定的值。由于常数C在求导时会变成0 ... 的导数都是 对 求不定积分不能确定具体是哪一个表达式因此需要加上常数C(C0,1,2,3,4....)。 又例如对符号表达式 fx^n 求不定积分也是一样的求解 可以看到的不定积分结果有两种可能 1 当幂 n-1时f1/x根据过的常用求导等式可知 2) 当幂 n 不等于-1时f就是幂函数因为求导是摘帽子所以求积分就是戴帽子并且前面 乘带的帽子就行。【在数学运算上一定要加上常数C不加就是错误答案没分。】 计算符号表达式 关于变量 的不定积分。 这个函数可以计算符号表达式 关于指定变量 的不定积分而不是默认的自变量例 如我不想让符号表达式 fx^n 对自变量x求不定积分而是对变量n求不定积分如下 此时幂函数为指数函数根据指数函数的求导公式可得 因此替换成上式中的变量即 或计算符号表达式f关于默认变量或指定变量n从a到b的定积 分。在求定积分时结合不定积分的结果再借助牛顿莱布尼兹公式就可以求出常数C。 其中 1a表示积分的下限类似于区间的起始位置ab。 2b表示积分的上限类似于区间的结束位置ba。 3n表示符号表达式f对指定的变量n就行求定积分。 例如现在我让符号表达式 fx^n 对 变量 n求定积分
3simplify
在matlab中simplify函数用于包含和式根式分数乘方指数对数三角函数等的表达 式的化简。可以将复杂的符号表达式转换为更简单或更易于理解的形式。 例如符号表达式 fx^2 2*x 1 可以利用完全平方和公式化简成 f(x 1)^2如下 simplify函数也可以将分式 f (x^2 - 1) / (x - 1) 上下约分化简 %
也可以根据已知的勾股定理a²b²c² 可以直接算出sin(x)^2 cos(x)^2 的结果如下
需要注意的是simplify函数虽然并不总是能找到最简单的形式结果可能依赖于表达式的复杂 性。对于某些复杂的表达式简化可能需要较长的计算时间。但整体上还是很有用的。
4solve函数
在matlab中ssolve 函数用于求解方程或方程组的解。它可以处理符号方程使用符号变量和数 值方程使用数值变量。solve 函数的主要作用是找到能使给定方程成立的变量值。
该函数调用方法如下
可以看到有关solve函数的使用有很多种这里就拿其中几个来做例子剩下的如果感兴趣的话可以自己去探索。 1求解单个方程 当求解一个符号方程式或者是数值方程式的自变量x的值时只需要使用solve(f,x)这个函数即可其中
f要求解的符号方程式或者是数值方程x需要返回的指定变量x取值结果 解方程很简单这里不赘述。 2求解方程组
当一个问题使用一个方程式无法解决问题而需要列出两个及以上的方程式时这些方程式就组成了方程组。需要求几个变量就得列 几个方程。例如有两个变量x,y未知这个时候就需要列出两个同时包含这两个变量的方程如下由方程f1和方程f2求解出x和y的取值结果 可以看到得到的解在结构体中如果想要知道求解的x和y结果是多少就需要将结果赋值给一个 变量之后通过变量来获取结构体内的x和y的值需要注意 使用solve函数得到的解是以符号变量的形式表示的而不是具体的数值。这种符号解可以在后续 的计算中继续使用具有更高的灵活性。
【个人ps因为是求解符号表达式的解得到的变量自然也就是符号变量】 如果需要数值解可以使用 double 函数将符号解转换为数值形式。 至此符号变量的使用符号的替换及符号的运算等相关的内容学习完。
有问题请在评论区留言或者是私信我回复时间不超过一天。
接下来就要开始学习matlab相关的程序设计基础语句。