当前位置: 首页 > news >正文

Matlab学习03-符号的替换及运算(接上一篇)

在上一篇的学习中,我知道了符号变量的声明👇

 Matlab学习02-matlab中的数据显示格式及符号变量-CSDN博客

接下来开始学习符号运算相关的内容,并学习最为核心的matlab程序设计。之前的学习都是为了程

序设计做铺垫,程序设计又是为了其它的项目需求做铺垫,例如数字信号处理,数字图像处理都要

用到matlab的程序设计,也可以用其它编程语言对数字图像进行处理,后期会去学习使用Java语言

来编写代码并对数字图像进行处理,当前的学习都以matlab为主。 

目录

一,符号替换 

二,常用的符号运算

1,diff函数

 2,int函数

3,simplify

4,solve函数 

1)求解单个方程

2)求解方程组:


 

一,符号替换 

 在matlab中,subs函数(substitute :替代品)可以用于符号变量的替换,该命令适用单个符号矩

阵,符号表达式,符号代数方程和微分方程中的变量替换,该函数的调用方法如下:

  1. subs(f,x_{new}),其中:

    1)f:表示需要被替换的符号表达式或者是符号方程式。

    2)新的符号变量 x_{new} :用来替代符号表达式或符号方程中旧的符号变量 x 。

    如果用具体的数值型符号变量来替代符号变量  x ,就会和符号变量  x  的系数进行运算。

    例如,我有一个符号方程式:f=sin(x)+5*x==0   % 自变量 x需要提前声明为符号变量即syms x

    接着我传入两个参数到sub符号替换函数中:

    subs(f,6)

    f 表示符号方程式f=sin(x)+5*x==0 ;

    6 表示一个数值型的符号变量

    对应的效果如下 ↓ 


    可以看到,数值型的符号变量 6 可以与旧的符号变量 x 前的系数 5(系数也是数值型符号变

    量),进行算数运算:5*x=5*6=30
     
  2. subs(f,x_{old},x_{new})

    其中:x_{old} 表示被替换的符号变量,x_{new} 表示指定的新符号变量。

    相较于只能传入两个参数并且只能替换掉自变量 x 的上一个subs函数而言,这个函数可以指

    定要替换的符号变量,而不仅仅局限于自变量 x 。

    依旧是 f=sin(x)+5*x==0 这个符号方程式,现在我不想替换自变量 x,只想替换自变量 x前的

    系数 5 ,此时,我需要先传入符号方程式 f,接着传入被替换的符号变量 5,最后传入指定的

    新符号变量 6。如下↓

二,常用的符号运算

可以用数字代替符号得到数值,符号运算的种类很多,在这里我先学习常用的符号运算,其它的使

用方法都大同小异,如果再遇到有意思的符号运算,我再补充到文章里面。

1,diff函数

 diff 全写为differential:微分的,差别的。顾名思义就是求微分或差分的符号函数。该函数所需传入的参数如下:

根据matlab给出的函数解释,可以知道diff函数有三种用法,由于一般都习惯于将函数用字母 f 表示,因此,我在这里用函数 f 表示函数 x。其中:

  1. diff(f):对符号函数 f 进行微分运算。一般默认是对自变量 x 进行求导。

    现在我有一个符号表达式,如下:

    现在我使用 diff(f) 函数对符号表达式进行求导操作,结果如下:

    % 口诀:幂函数求导,摘帽减一。
     
  2. diff(f,n):符号函数 f 对指定变量 n 进行微分运算。

    在上一个函数中只能对自变量 x 进行求导,但如果我想对变量 n 进行求导,就需要使用可以

    传入两个参数的diff(f,n) 函数,其中的变量n,可以是符号表达式f=x^n幂函数中的自变

    量x(底数),也可以是变量 n(幂)。如果我想对自变量x求导,可以写成diff(f,x),如下:


    显而易见,效果和diff(f)一样。

    如果我想对自变量n(幂)求导,可以写成diff(f,n),如下:

    % 此时,幂函数变成指数函数,底数x为常量,指数n为自变量。

    % 由指数求导a^{x}=a^{x}lna,可得符号表达式f的求导 f'=(x^{n})'=x^{n}lnx
     
  3. diff(f,n,dim):计算符号函 f对自变量或指定变量 ndim 阶导数, dim 是正整数。

    不管是传入一个参数的diff函数还是传入两个参数的diff函数,都只能进行一阶求导运算,如

    果想要求二阶及以上的导,就需要使用可以传入三个参数的diff函数。最后一个参数dim为求

    导的次数。例如,符号表达式 f=x^n 对自变量 x 求 二阶导:

    % 因为在求导过程中是对自变量x求导,因此,变量n作为系数可以看成是常数直接提出去,

    % 只对x^{n-1}求导,由幂函数求导,可得(x^{n-1})'=(n-1)*x^{n-2},最后再乘上系数n,

    % 二阶导的结果就是n*(n-1)*x^{n-2}

 2,int函数

在matlab中,int函数(全写为:integral 积分的)可见该函数是用于求积分的符号函数。

需要注意的是,求积分有两种:不定积分和定积分。定积分相较于不定积分就是多了上下限并能够

求出具体的积分结果。

和求导数的diff函数类似,求积分的int函数也有三种:

  1. int(f):求符号表达式f关于自变量的不定积分。

    有一个符号表达式 f=x^2,现在使用int函数对其求不定积分:

    求不定积分在高数中有具体的讲解。并且可知,积分和求导是相反的操作,例如

     x^{3} 求导的结果是3*x^2,即 \frac{1}{3}*(x^{3})'=x^{2},因此 x^{2} 的不定积分为:\int x^{2}=\frac{1}{3}*x^{3}+C
    之所以要在求出来的不定积分后面加上常数C,是因为不定积分的“不定”二字已经告诉了我

    们,算出来的结果没有固定的值。由于常数C在求导时,会变成0:

    \frac{1}{3}*x^{3} ,  \frac{1}{3}*x^{3}+1 ,\frac{1}{3}*x^{3}+2\frac{1}{3}*x^{3}+3,... 的导数都是  x^2

    对   x^2 求不定积分,不能确定具体是哪一个表达式,因此需要加上常数C(C=0,1,2,3,4....)。

    又例如,对符号表达式 f=x^n 求不定积分,也是一样的求解:

    可以看到,f=x^{n}的不定积分结果有两种可能:

    1) 当幂 n=-1时,f=1/x,根据过的常用求导等式,可知(logx)'=\frac{1}{x}

    2)   当幂 n 不等于-1时,f就是幂函数,因为求导是摘帽子,所以求积分就是戴帽子并且前面

    乘带的帽子就行。【在数学运算上,一定要加上常数C,不加就是错误答案,没分。】
     
  2. int(f,n):计算符号表达式 f 关于变量 n 的不定积分。

    这个函数可以计算符号表达式 f 关于指定变量 n 的不定积分,而不是默认的自变量x,例

    如,我不想让符号表达式 f=x^n 对自变量x求不定积分,而是对变量n求不定积分,如下:

    此时,幂函数为指数函数,根据指数函数的求导公式,(a^{x})'=a^{x}loga,可得\frac{(a^{x})'}{loga}=a^{x}

    因此,\int a^{x}=\frac{a^{x}}{loga}+C,替换成上式中的变量,即\int x^{n}=\frac{x^{n}}{logx}+C
     
  3. int(f,a,b)int(f,n,a,b):计算符号表达式f关于默认变量或指定变量n从a到b的定积

    分。在求定积分时,结合不定积分的结果再借助牛顿莱布尼兹公式就可以求出常数C。
    其中:

    1)a表示积分的下限,类似于区间的起始位置,a<b。
    2)b表示积分的上限,类似于区间的结束位置,b>a。
    3)n表示符号表达式f对指定的变量n就行求定积分。

    例如,现在我让符号表达式 f  f=x^n 对 变量 n求定积分:

3,simplify

在matlab中,simplify函数用于包含和式,根式,分数,乘方,指数,对数,三角函数等的表达

式的化简。可以将复杂的符号表达式转换为更简单或更易于理解的形式。

例如,符号表达式 f=x^2 + 2*x + 1 可以利用完全平方和公式化简成 f=(x + 1)^2,如下👇


 

simplify函数也可以将分式  f= (x^2 - 1) / (x - 1) 上下约分化简:


f=\frac{x^2-1}{x-1}=\frac{(x+1)(x-1)}{x-1}=x+1
 

也可以根据已知的勾股定理a²+b²=c² 可以直接算出sin(x)^2 + cos(x)^2 的结果,如下👇

需要注意的是,simplify函数虽然并不总是能找到最简单的形式,结果可能依赖于表达式的复杂

性。对于某些复杂的表达式,简化可能需要较长的计算时间。但整体上还是很有用的。

4,solve函数 

在matlab中,ssolve 函数用于求解方程或方程组的解。它可以处理符号方程(使用符号变量)和数

值方程(使用数值变量)。solve 函数的主要作用是找到能使给定方程成立的变量值。

该函数调用方法如下:

可以看到,有关solve函数的使用有很多种,这里就拿其中几个来做例子,剩下的如果感兴趣的话,可以自己去探索。

 

1)求解单个方程

 当求解一个符号方程式或者是数值方程式的自变量x的值时,只需要使用solve(f,x)这个函数即可,其中:

  1. f:要求解的符号方程式或者是数值方程
  2. x:需要返回的指定变量x取值结果

解方程很简单,这里不赘述。 


2)求解方程组:

当一个问题使用一个方程式无法解决问题,而需要列出两个及以上的方程式时,这些方程式就组成了方程组。需要求几个变量,就得列 几个方程。例如,有两个变量x,y未知,这个时候,就需要列出两个同时包含这两个变量的方程,如下,由方程f1和方程f2求解出x和y的取值结果:

可以看到,得到的解在结构体中,如果想要知道求解的x和y结果是多少,就需要将结果赋值给一个

变量,之后通过变量来获取结构体内的x和y的值:


需要注意:
使用solve函数得到的解是以符号变量的形式表示的,而不是具体的数值。这种符号解可以在后续

的计算中继续使用,具有更高的灵活性。

【个人ps:因为是求解符号表达式的解,得到的变量自然也就是符号变量】

 如果需要数值解,可以使用 double 函数将符号解转换为数值形式。

至此,符号变量的使用,符号的替换及符号的运算等相关的内容学习完。

有问题请在评论区留言或者是私信我,回复时间不超过一天。 

接下来就要开始学习matlab相关的程序设计基础语句。

相关文章:

Matlab学习03-符号的替换及运算(接上一篇)

在上一篇的学习中&#xff0c;我知道了符号变量的声明&#x1f447; Matlab学习02-matlab中的数据显示格式及符号变量-CSDN博客 接下来开始学习符号运算相关的内容&#xff0c;并学习最为核心的matlab程序设计。之前的学习都是为了程 序设计做铺垫&#xff0c;程序设计又是为了…...

Windows中API-磁盘管理笔记

硬盘是由一组堆积的盘片组成类似于圆柱体组成&#xff0c;每个盘片的数据都以电磁方式存储在同心圆或轨道中&#xff0c;轨道的最小可寻址单元是扇区&#xff1b;基本磁盘&#xff1a;最常用于windows的存储类型&#xff0c;指的是**包含分区的磁盘。**在基本磁盘上只能创建和删…...

010 操作符详解 上

写代码的实质是在写方法体 —— 刘铁猛 操作符概览 操作符本质 操作符的本质是函数的“简记法” 操作符 简写Add函数 34 等同Add(3,4)操作符不能脱离与它关联的数据类型可以说操作符就是与固定数据类型关联的一套算法的简记法 如下图所示算法的简记法 操作符的优先级 可以使…...

【贪心算法】(第十篇)

目录 加油站&#xff08;medium&#xff09; 题目解析 讲解算法原理 编写代码 单调递增的数字&#xff08;medium&#xff09; 题目解析 讲解算法原理 编写代码 加油站&#xff08;medium&#xff09; 题目解析 1.题目链接&#xff1a;. - 力扣&#xff08;LeetCode&a…...

029.爬虫专用浏览器-抓取跨域#document下的内容

一、iframe下的#document是什么 #document 是一个特殊的 HTML 元素&#xff0c;表示 <iframe> 元素内部的文档对象。当你在 HTML 页面中嵌入一个 <iframe> 元素时&#xff0c;浏览器会创建一个新的文档对象来表示 <iframe> 内部的内容。这 个文档对象就是 #…...

SIP 业务举例之 Call Hold(呼叫保持)

目录 1. Call Hold(呼叫保持)简介 2. 信令流程 呼叫保持 呼叫恢复开始 恢复通话完成 3. 本例 Call Hold 建立了几个 Dialog? 博主wx:yuanlai45_csdn 博主qq:2777137742 想要 深入学习 5GC IMS 等通信知识(加入 51学通信),或者想要 cpp 方向修改简历,模拟面试,学习…...

eks节点的网络策略配置机制解析

参考链接 vpc-cni网络策略最佳实践&#xff0c;https://aws.github.io/aws-eks-best-practices/security/docs/network/#additional-resourcesvpc cni网络策略faq&#xff0c;https://github.com/aws/amazon-vpc-cni-k8s/blob/0703d03dec8afb8f83a7ff0c9d5eb5cc3363026e/docs/…...

【C】用c写贪吃蛇

1.输入正确的账号密码及其用户名&#xff0c;登录成功进入贪吃蛇游戏界面&#xff0c; 2.随机生成蛇头★、食物▲的位置(x,y)&#xff0c;并使用□打印地图 3.使用w s a d按键&#xff0c;完成蛇头的上下左右移动 4.蛇头碰撞到食物后&#xff0c;吃下食物变成蛇身的一部分●…...

qt QLineEdit详解

一、概述 QLineEdit 是 Qt 框架中用于创建单行文本输入框的类。它非常适合用于接收用户输入&#xff0c;例如用户名、密码或其他简单的文本信息。它提供了许多有用的编辑功能&#xff0c;支持多种输入模式和文本限制&#xff0c;并支持撤销、重做、剪切、粘贴以及拖放等功能。…...

DevEco Studio的使用 习题答案<HarmonyOS第一课>

一、判断题 1. 如果代码中涉及到一些网络、数据库、传感器等功能的开发,均可使用预览器进行预览。 正确(True)错误(False) 错误(False)回答正确 2. module.json5文件中的deviceTypes字段中,配置了phone,tablet,2in1等多种设备类型,才能进行多设备预览。 正确(True)…...

鸿蒙网络编程系列36-固定包头可变包体解决TCP粘包问题

1. TCP数据传输粘包简介 在本系列的第6篇文章《鸿蒙网络编程系列6-TCP数据粘包表现及原因分析》中&#xff0c;我们演示了TCP数据粘包的表现&#xff0c;如图所示&#xff1a; 随后解释了粘包背后的可能原因&#xff0c;并给出了解决TCP传输粘包问题的两种思路&#xff0c;第一…...

【华为路由】OSPF多区域配置

网络拓扑 设备接口地址 设备 端口 IP地址 RTA Loopback 0 1.1.1.1/32 G0/0/0 10.1.1.1/24 RTB Loopback 0 2.2.2.2/32 G0/0/0 10.1.1.2/24 G0/0/1 10.1.2.1/24 RTC Loopback 0 3.3.3.3/32 G0/0/0 10.1.2.2/24 G0/0/1 10.1.3.1/24 RTD Loopback 0 4.4.4…...

【C++初阶】一文讲通C++内存管理

文章目录 1. C/C内存分布2. C语言中动态内存管理方式3. C内存管理方式3. 1 new/delete操作内置类型3. 2 new和delete操作自定义类型 4. new与delete的原理4. 1 operator new与operator delete函数4. 2 内置类型4. 3 自定义类型 5. 定位new表达式(placement-new)6. malloc/free和…...

Vue学习笔记(九、简易计算器)

在这个案例中&#xff0c;我们使用v-model分别双向绑定了n1、n2操作数&#xff0c;op操作选项和result计算结果&#xff0c;同时用绑定了等号按钮事件。 由于是双向绑定&#xff0c;当input和select通过外部输入内容时&#xff0c;vm内部的数值也会改变&#xff0c;所以calcula…...

Maven 不同环境灵活构建

需求: 使用 Maven根据不同的构建环境&#xff08;如开发、测试、生产&#xff09;来定义不同的配置&#xff0c;实现灵活的构建管理。 需要Demo项目的可以参考&#xff1a;我的demo项目 一、项目分层 一般的初创项目不会有特别多的配置文件&#xff0c;所以使用 spring.profile…...

第三十篇:TCP连接断开过程,从底层说明白,TCP系列五

上一篇《第二十九篇&#xff1a;图解TCP三次握手&#xff0c;看过不会忘&#xff0c;从底层说清楚&#xff0c;TCP系列四》说了TCP的三次握手&#xff0c;接下来我将讲解TCP四次挥手。 既然有连接就有断开&#xff0c;谈到这里&#xff0c;有的同学可能会想&#xff0c;不就是…...

代码随想录算法训练营第七天| 哈希表理论基础 454.四数相加II 383.赎金信 15.三数之和 18.四数之和

454. 四数相加 II 题目 给定四个包含整数的数组 A, B, C, D&#xff0c;计算有多少个元组 (i, j, k, l) 使得 A[i] B[j] C[k] D[l] 0。 解题思路 先计算数组 A 和 B 的所有组合和&#xff0c;并存入哈希表 map 中&#xff0c;键为组合和&#xff0c;值为该和出现的次数…...

搜维尔科技:Manus新品发布Metagloves Pro专业版,专为高精度需求的客户打造,尤其是人形机器人产业与人机工效研究使用

manus新品发布Metagloves Pro专业版&#xff0c;专为高精度需求的客户打造&#xff0c;尤其是人形机器人产业与人机工效研究使用 搜维尔科技&#xff1a;manus新品发布Metagloves Pro专业版&#xff0c;专为高精度需求的客户打造&#xff0c;尤其是人形机器人产业与人机工效研究…...

Spring Boot实现的动态化酒店住宿管理系统

1系统概述 1.1 研究背景 随着计算机技术的发展以及计算机网络的逐渐普及&#xff0c;互联网成为人们查找信息的重要场所&#xff0c;二十一世纪是信息的时代&#xff0c;所以信息的管理显得特别重要。因此&#xff0c;使用计算机来管理酒店客房管理系统的相关信息成为必然。开发…...

数字IC后端实现Innovus |给各种IP子模块添加port buffer和antenna diode万能脚本

我们之前分享过在hierarchical flow后端实现中为了确保顶层flatten时timing signoff和physical signoff看到的情况和模块级看到的情况一致&#xff0c;我们会在模块io port添加io port buffer&#xff08;主要是timing&#xff0c;antenna一致性&#xff09;。实际上在芯片级我…...

反向代理服务器---NGINX

1.NGINX NGINX&#xff08;发音为“engine-x”&#xff09;是一个开源的高性能HTTP服务器和反向代理服务器。它被广泛用于互联网应用程序的加速、负载均衡和高可用性的配置。NGINX具有低内存消耗、高并发能力和卓越的性能&#xff0c;能够处理大量并发连接和高流量的网络流量。…...

unity3d————场景管理类SceneManager

常用API SceneManager.LoadScene(string sceneName) 加载名为 sceneName 的场景。SceneManager.LoadScene(int sceneBuildIndex) 根据场景在Build设置中的索引加载场景。SceneManager.GetActiveScene() 获取当前活动的场景。SceneManager.GetSceneByName(string name) 根据名称…...

鹅厂面试官:Transformer 为何需要位置编码?

最近这一两周看到不少互联网公司都已经开始秋招发放Offer。 不同以往的是&#xff0c;当前职场环境已不再是那个双向奔赴时代了。求职者在变多&#xff0c;HC 在变少&#xff0c;岗位要求还更高了。 最近&#xff0c;我们又陆续整理了很多大厂的面试题&#xff0c;帮助一些球…...

MySQL数据库学习指南

一、数据库的库操作 1、创建数据库 2、删除数据库 3、查看数据库 4、选择数据库 5、修改数据库 6、数据库备份与恢复 7、数据库的权限管理 二、数据库的表操作 1、创建表 2、删除表 3、修改表 4、查看表的结构 5、查看表的数据 6、创建索引 7、删除索引 8、约束…...

算法刷题-小猫爬山

本题来源165. 小猫爬山 - AcWing题库 翰翰和达达饲养了 NN 只小猫&#xff0c;这天&#xff0c;小猫们要去爬山。 经历了千辛万苦&#xff0c;小猫们终于爬上了山顶&#xff0c;但是疲倦的它们再也不想徒步走下山了&#xff08;呜咕>_<&#xff09;。 翰翰和达达只好花…...

Maven项目管理工具-初始+环境配置

1. Maven的概念 1.1. 什么是Maven Maven是跨平台的项目管理工具。主要服务于基于Java平台的项目构建&#xff0c;依赖管理和项目信息管理。 理想的项目构建&#xff1a;高度自动化&#xff0c;跨平台&#xff0c;可重用的组件&#xff0c;标准化的流程 maven能够自动下载依…...

【JavaEE初阶】网络编程TCP协议实现回显服务器以及如何处理多个客户端的响应

前言 &#x1f31f;&#x1f31f;本期讲解关于TCP/UDP协议的原理理解~~~ &#x1f308;感兴趣的小伙伴看一看小编主页&#xff1a;GGBondlctrl-CSDN博客 &#x1f525; 你的点赞就是小编不断更新的最大动力 &#x1f386;那么废话不多说…...

Android 中的串口开发

一&#xff1a;背景 本文着重讲安卓下的串口。 由于开源的Android在各种智能设备上的使用越来越多&#xff0c;如车载系统等。在我们的认识中&#xff0c;Android OS的物理接口一般只有usb host接口和耳机接口&#xff0c;但其实安卓支持各种各样的工业接口&#xff0c;如HDM…...

TensorRt OP

在TensorRT中&#xff0c;OP&#xff08;Operations&#xff0c;操作&#xff09;是指网络中的基本计算单元&#xff0c;类似于数学中的运算符。每个OP执行一个特定的计算任务&#xff0c;例如卷积、矩阵乘法、激活函数等。TensorRT通过识别和优化这些OP来提高深度学习模型的推…...

构建负责任的人工智能:数据伦理与隐私保护

构建负责任的人工智能&#xff1a;数据伦理与隐私保护 目录 &#x1f31f; 数据伦理的重要性&#x1f4ca; 公平性评估&#xff1a;实现无偏差的模型&#x1f512; 数据去标识化&#xff1a;保护用户隐私的必要手段&#x1f50d; 透明性与问责&#xff1a;建立可信的数据处理…...

爱漫画-只做精品的韩漫网站/优化网站排名费用

什么才是好房子&#xff0c;住起来舒适的房子就是好房子&#xff0c;作为设计来说&#xff0c;如何设计出让客户喜欢的好房子&#xff0c;先来从整体上说总结有以下几方面。更多室内设计学习文章、资料、教程、软件、插件等&#xff0c;可以关注up主哦&#xff0c; 进入up主学页…...

外贸优秀网站/网站关键字排名优化

括号匹配 #include<iostream> #include<string> #include<stack>using namespace std; string st; bool isLeft(char c)//判断是否为左括号 {if(c(||c{||c[) return true;else return false; } bool isSame(char c1,char c2) //判断括号是否是同等类型 {if(…...

做英文兼职的网站/站长工具seo综合查询访问

“树状视图控件”是一个显示项目层次列表的窗口&#xff0c;例如文档中的标题、索引中的条目或磁盘上的文件和目录。每个项目都由一个标签和一个可选的位图图像组成&#xff0c;每个项目都可以有一个与其相关联的子项目列表。通过单击项目&#xff0c;用户可以展开和折叠子项目…...

做公司网站的目的是什么/站长工具平台

2012.8&#xff0c;结束欧洲意法两国游之后&#xff0c;经过漫长的国际航线&#xff0c;终于飞临香港上空。由于喜欢拍照&#xff0c;总是尽量找人调换靠窗的位置&#xff0c;无奈这次没有换成功&#xff0c;所以没有赶上更好的视角&#xff0c;都是匆忙间拍下来的&#xff0c;…...

深圳网站建设合同/长沙网站设计

原理&#xff1a;tilepro36外接pcie接口的fpga板卡&#xff0c;通过中断的方式通知系统数据接收完毕现象&#xff1a;由于是高速数据采集&#xff0c;pcie中断次数较多&#xff0c;正常情况下每秒7000次左右&#xff0c;不知道网卡中断次数能达到多少&#xff0c;但是有时上电启…...

中国100强企业排名表/今日头条seo

&#x1f525;《嵌入式系统开发》系列专栏主要以LPC1100系列微控制器为硬件平台&#xff0c;详细介绍Cortex—-M0微控制器的原理与开发技术&#xff0c;基于keil仿真软件平台设计最小应用系统板和具有在板仿真器的口袋开发板以及相关例程。 &#x1f525;本文已收录于嵌入式系统…...