matlab中subs的用法 matlab中的通用置换指令subs()用法

matlab中的通用置换指令subs()用法――简介

matlab中的subs函数是一种通用的置换指令,它的功能是在符号表达式和矩阵中进行符号替换/置换操作。此外它还提供了一种在符号计算和数值计算之间转换的一种途径。下面相机介绍一下如何进行置换和如何进行数值计算与符号计算的转换。

matlab中的通用置换指令subs()用法――工具/原料

matlab软件

正常电脑

matlab中的通用置换指令subs()用法――方法/步骤

matlab中的通用置换指令subs()用法 1、

sub指令的功能语法

subs能够在符号表达式和符号矩阵中进行置换操作,下面我们就介绍一下它的调用语法规则:

R=subs(S) %将表达式S中的所有变量用调用的函数或MATLAB workspace中获得的值进行置换,将置换后的表达式赋给R;

R=subs(S,new) %用new置换表达式S中的自变量后在赋给R;

R=subs(S,old,new)%用new置换表达式中的old,然后将置换完的表达式赋给R。

对于英语学的比较好的人员,可以通过help subs搜索matlab自带的帮助信息进一步学习。下面是用help subs搜索到的subs帮助信息。


matlab中的通用置换指令subs()用法 2、

产生待置换的符号函数

为方便下一步进行符号-符号、符号-数字的置换这一步先生成符号函数,以供后面的置换操作进行调用。需要注意的是在进行新的计算之前先用“clear”清除一下内存空间。生成的符号函数为f = a*sin(x)+b,具体结果如下图所示:

matlab中subs的用法 matlab中的通用置换指令subs()用法

matlab中的通用置换指令subs()用法 3、

符号-符号置换

在这一步,我们先用符号表达式置换符号表达式,演示一下subs的具体功能。上一步生成的符号函数f中有sin(x),这一步我们先用log(y)将其置换。其置换指令为:f1=subs(f,sin(x),'log(y)'),其置换结果如下图所示:

matlab中的通用置换指令subs()用法_subs


matlab中的通用置换指令subs()用法 4、

符号-数字置换:单个变量被双精度数字置换

从这一步开始就提供了一种符号-数字之间的转换,需要注意的是,当单个变量被双精度数字置换后,其结果仍然是符号对象属性。这一点我们可以用class指令查看结果的类型。这一步的置换代码指令:f2 = subs(f,a,2.886),置换结果如下图显示:


matlab中的通用置换指令subs()用法 5、

用数字置换所有变量(含符号数字)

自这一步中我们将所有变量被数字(至少一个符号数字,例如π在matlab中表示为pi)置换,这个时候我们来看一下结果是否仍为符号对象型的。置换指令代码:

f3 = subs(f,{a,b,x},{2,5,sym('pi/3')})

注意这一步里面我们用到了胞元数组,关于胞元数组的用法可以参见我的另外一篇经验《如何使用matlab中的胞元数组》,这里就不再重复介绍了。上面指令的意思是:用2置换a,用5置换b,用sym('pi/3')置换x。下图是运算结果:


matlab中的通用置换指令subs()用法 6、

用数字置换所有变量(全为双精度数值数字)

从上一步可以看出,当进行置换操作时,如果置换数字中含有符号数字,那么计算结果类型也为符号sym类型。那如果全为全为双精度数值数字,那计算结果会是什么类型呢?符号?还是数值?下面我们探究一下就知道了。置换操作的指令代码为:

f4 = subs(f,{a,b,x},{2,5,pi/3})

注意这次的pi/3为数值型的数字而非符号型的。具体置换和上一步一样,下面我们看一下具体的结果,如下图所示:

matlab中的通用置换指令subs()用法_subs


matlab中的通用置换指令subs()用法 7、

单个变量被数值数组置换

在上一步中我们可以得出结论:当所有变量被双精度数值数字置换时,其计算结果也为数值型(double)。现在我们看一下另外一种情况,即一个变量被双精度数组置换,此时计算结果的类型将是什么结果?这里我们就用数组[0,pi/1,pi]来置换变量x,再查看结果类型。其计算代码为:

f5=subs(f,x,[0,pi/2,pi])

计算结果如下图所示:


matlab中的通用置换指令subs()用法 8、

所有变量被数值数字置换(有一个是数组)

上面一步的结果从图上很容易就可以看出来了。在这一次计算中,我们将x用数值数组来进行置换,其他变量用单个具体数值来置换查看结果,我们还可以画出置换后函数的图形来看一下。为简便起见我们可以先生成数组存放在一个变量中,然后在置换时调用。具体的置换指令为:

f6=subs(f,{a,b,x},{1.98,3.45,t})

其中t为数组,我们可以在置换前用“t=(0:pi/10:4*pi)”指令来生成。计算结果如下图:


matlab中的通用置换指令subs()用法 9、

结果函数的图形

下面画出所有变量被数值数字置换(有一个是数组)后结果函数的图形(用代码“plot(t,f6)”画出):

matlab中的通用置换指令subs()用法_subs


matlab中的通用置换指令subs()用法 10、

两次置换获得双精度数组

上一步我们只用了一次置换,并且画出了置换结果的图形。下面我们进行两次置换,观察结果和上一步中的一次置换有什么具体的不同。同样我们也画出两次置换结果的图形。具体代码就不写了,可以在图中看。具体置换代码及计算结果如下图所示:


matlab中的通用置换指令subs()用法 11、

一次置换和两次置换的结果图

我们在一张图里面用两个子图画出一次置换和两次置换的结果图,看看他们有什么不同?画出的结果图如下:从图上我们可以看出,一次置换只能产生一条曲线,而两次置换却能产生一次列的曲线,在本次计算的两次置换中共产生了16条曲线。多次置换的这一结果也是subs置换指令在符号表达式双精度数值计算转换中的特殊功用。

matlab中的通用置换指令subs()用法――注意事项

1.subs的第三个输入量可以是“字符串”(第三步)。

2.胞元数组的具体应用请看我的另外一篇经验《如何使用matlab中的胞元数组》。

3.如果本经验对你有帮助,记得点有用、收藏、评论哦!欢迎分享给好友!

  

爱华网本文地址 » http://www.413yy.cn/a/8105040103/321718.html

更多阅读

关于3.5mm耳机接口的通用问题 iphone7

关于3.5mm耳机接口的通用问题——简介现在许多设备的耳机接口都采用3.5mm的耳机接口,看似好像都相同,但其实不然。耳机接口分为美标和国标(国际标准),现在我就给大家讲讲这两个的差别。关于3.5mm耳机接口的通用问题——工具/原

工作中的通用技能有哪些 通用技能培训

摘自《适合比成功更重要》关于技能有各种分类方法。美国劳工统计局用思考技能、沟通技能以及操作技能来区分。一些职业专家则使用不同的工作技能分类法,而事实上,任何一个职业都需要下列不同类别技能的组合。基础性技能生命中

如何解决结构件的通用件单独采购的问题 标准件 通用件

背景:结构件的采购一直是以整机机柜做为整体给供应商下达订单数量,从订单下达到供应商交付,其中包括,供应商生产准备,供应商生产,供应商交付几个环节,交货周期平均长达20天。在对供应商备料计划和生产周期的分析发现,其中对于结构通用件的生

第7节:奢侈品牌营业员的通用条件(1)

系列专题:《服务的魅力:奢侈品应该这样卖》  奢侈品牌营业员的通用条件  牢牢抓住高端顾客的心对细节要求最苛刻、最挑剔的就是高端服务领域。尽管你有渊博的知识、很好的道德修养,但还是需要付出刻苦的努力,以不断提高自我综合素

炒股入门必读 【入门必读】谈谈卖股的通用原理

 股市兵法:怎么能卖出股票   为了避免有些地方太多的重复,我先讲一个卖出股票的通用原理:(  个股在强势市场中涨8%以上单头抛出,弱势市场中涨7%以上单头抛出;涨4%以上双头抛出(双头的概念是第二个头要比第一个头低);涨停板不到或不

声明:《matlab中subs的用法 matlab中的通用置换指令subs()用法》为网友妳承受不起分享!如侵犯到您的合法权益请联系我们删除