[个人笔记]matlab教程05

小朋友,你学会了吗?

符号变量、表达式、方程的生成
符号变量的基本操作
符号表达式的基本操作
符号矩阵的生成和运算
符号微积分
符号积分变换
符号方程的求解

符号变量、表达式、方程的生成

sym函数(此帮助内容没有汉化)
创建符号变量,表达式,函数,矩阵。
无效的字符向量和不定义数字的字符向量支持已被删除。要创建符号表达式,请首先创建符号变量,然后对其进行操作。例如,使用syms x; x + 1代替sym(‘x + 1’),exp(sym(pi))代替 sym(‘exp(pi)’)和syms f(var1,…varN) 代替f(var1,…varN) = sym(‘f(var1,…varN)’)。
以下是matlab中给出的语法,看一看就好,不是所有的使用都很常见。

语法描述
x = sym(‘x’)创建符号变量x。
A = sym(‘a’,[n1 … nM])创建一个 n1…nM 填充有自动生成的元素符号阵列。例如, A = sym(‘a’,[1 3])创建行向量A = [a1 a2 a3]。所生成的元素a1, a2以及a3不出现在MATLAB ®工作区。对于多维数组,这些元素具有前缀,a后跟_用作分隔符的元素索引 ,例如 a1_3_2。
A = sym(‘a’,n)创建由自动生成的元素填充的 n矩阵。
sym(___,set)创建一个符号变量或数组,并设置该变量或所有数组元素都属于的假设set。在这里,set可以是 ‘real’,‘positive’, ‘integer’,或’rational’。您还可以通过指定字符向量的字符串数组或单元格数组来组合多个假设。例如,通过指定set为[“positive” “rational”]或 来假设正有理值 {‘positive’,‘rational’}。
sym(___,‘clear’)清除在符号变量或数组上设置的假设。您可以使用’clear’任何以前的语法在输入参数之后指定,但组合’clear’和除外 set。您无法在的同一函数调用中设置和清除假设 sym。
sym(num)将数字或数字矩阵转换为符号数字或符号矩阵。
sym(num,flag)使用通过指定的技术flag将浮点数转换为符号数。
symexpr = sym(h)从与函数句柄关联的匿名MATLAB函数创建一个符号表达式或矩阵h。

syms函数(也未汉化)
创建符号变量和函数。
以下是matlab中给出的语法,看一看就好,不是所有的使用都很常见。

语法描述
syms var1 … varNsyms var1 … varN创建符号变量var1 … varN。用空格分隔不同的变量。 syms从变量中清除所有假设。
syms var1 … varN [n1 … nM]syms var1 … varN [n1 … nM] 创建符号数组var1 … varN,每个数组的大小为 n1-by- …by-by-,nM并包含自动生成的符号变量作为其元素。例如,syms a [1 3]创建符号阵列a = [a1 a2 a3]和符号变量a1,a2和a3 在MATLAB ®工作区。对于多维数组,这些元素具有前缀, a后跟_用作分隔符的元素索引,例如a1_3_2。
syms var1 … varN nsyms var1 … varN n创建 用自动生成的元素填充的n按n符号矩阵。
syms ___ setsyms ___ set设置创建的符号变量属于的set假设,并清除其他假设。在这里,set可以是real, positive,integer,或rational。您还可以使用空格组合多个假设。例如,syms x positive rational创建一个x具有正有理值的变量。
syms f(var1,…,varN)syms f(var1,…,varN)创建符号函数f和符号变量var1,…,varN,代表的输入参数f。您可以在一个调用中创建多个符号函数。例如,syms f(x) g(t)创建两个符号函数(f和g)和两个符号变量(x和t)。
syms f(var1,…,varN) [n1 … nM]syms f(var1,…,varN) [n1 … nM] 创建一个n1-by- …-by- nM 具有自动生成符号函数作为其元素符号阵列。此语法还会生成var1,…,varN代表的输入参数的符号变量f。例如,在MATLAB工作区中syms f(x) [1 2]创建符号数组f(x) = [f1(x) f2(x)],符号函数f1(x)和f2(x)以及符号变量x。对于多维数组,这些元素具有前缀, f后跟_用作分隔符的元素索引,例如f1_3_2。
syms f(var1,…,varN) nsyms f(var1,…,varN) n创建由自动生成的元素填充的 n按n符号矩阵。
syms(symArray)syms(symArray)创建包含在中的符号变量和函数symArray,其中symArray是符号变量的向量或符号变量和函数的单元格数组。仅当此类数组由另一个函数(例如solve或)返回时,才使用此语法symReadSSCVariables。
symssyms 列出MATLAB工作区中所有符号变量,函数和数组的名称。
S = symsS = syms 返回所有符号变量,函数和数组名称的单元格数组。

那么sym与syms使用上有什么区别吗,我个人的理解:对于sym,一次只能定义“一个”变量,例如定义a、b,那么就要写两遍。而syms可以写一遍定义两个。

符号变量的基本操作

这里不知道为什么matlab中没有明确的解释说明

findsym语法说明
findsym(s)寻找表达式s中所有符号变量
findsym(s,n)从表达式s中找出最靠近字母x的n个符号变量。若s中有两个符号变量与x的距离相等,ascii码大者优先。常量pi、i、j不作为符号变量。

接下来这两个函数的说明还在,不过依旧是英文。

语法说明
digits更改使用的可变精度,默认32
vpa可变精度算术(任意精度算术)删除了对不定义数字的字符向量的支持。相反,首先使用sym和 创建符号数字和变量syms,然后对它们使用运算。例如,使用vpa((1 + sqrt(sym(5)))/2)代替vpa(’(1 + sqrt(5))/2’)。

符号表达式的基本操作

与前面一致,符号表达式的四则运算也是加减乘除。
numden函数提取分子和分母

	[N,D] = numden(A)

转换A为分子和分母是具有整数系数的相对质数多项式的有理形式。该函数返回表达式有理形式的分子和分母。如果A是符号矩阵或数字矩阵,则N是分子D的符号矩阵,是分母的符号矩阵。二者N并D具有相同的尺寸为的矩阵A。
compose函数将数据转换为格式化的字符串数组。具体用法参见帮助的例子。

符号矩阵的生成和运算

符号矩阵的生成
同数值矩阵,只不过需要在前面先定义变量

	syms a b c d;
	x=[a b;c d]

在这里插入图片描述
符号矩阵的运算
同数值矩阵的运算,使用符号的方法也想同。
这里不再举例子,相关符号见前面数值矩阵计算(笔记03)。

符号微积分

极限
limit函数,符号表达的极限

语法说明
limit(f,var,a)var逼近a时 返回符号表达式f的双向极限。
limit(f,a)使用sym var找到的默认变量
limit(f)0处极限值。
limit(f,var,a,‘left’)返回var接近 a左侧极限。
limit(f,var,a,‘right’)返回var接近 a右侧极限的 。

积分
int函数,定积分和不定积分

语法说明
int(expr,var)计算expr关于符号标量变量var的不定积分。指定变量var是可选的。如果没有指定,int将使用由symvar确定的默认变量。如果expr是一个常量,那么默认变量是x。
int(expr,var,a,b)计算expr对var从a到b的定积分。如果没有指定,int使用由symvar确定的默认变量。如果expr是一个常量,那么默认变量是x。
int(___,Name,Value)使用一个或多个名称、值对参数指定其他选项。

微分
diff函数,差异和近似导数

语法说明
Y = diff(X)计算X的相邻元素沿第一个数组维的大小不等于1的差值
Y = diff(X,n)递归地应用diff(X)操作n次计算第n个差值。
Y = diff(X,n,dim)沿dim指定的维数计算的第n个差分,dim输入为正整数标量。

符号积分变换

傅里叶变换(fourier)

语法说明
fourier(f)返回f的傅里叶变换。默认情况下,函数symvar决定自变量,w是变换变量。
fourier(f,transVar)使用转换变量transVar代替w。
fourier(f,var,transVar)分别用自变量var和转换变量transVar代替symvar和w。

拉普拉斯变换(laplace)

语法说明
laplace(f)返回f的拉普拉斯变换,默认自变量为t,变换变量为s。
laplace(f,transVar)使用转换变量transVar而不是s。
laplace(f,var,transVar)分别用自变量var和转换变量transVar代替t和s。

z变换

语法说明
ztrans(f)f的z变换,默认自变量为n,变换变量为z,如果f不包含n, ztrans使用symvar。
ztrans(f,transVar)使用转换变量transVar代替z。
ztrans(f,var,transVar)分别用自变量var和转换变量transVar代替n和z。

符号方程的求解

代数方程的求解
solve函数
字符向量输入已被删除。相反,使用syms声明变量和更换输入,如solve('2x == 1’,‘x’)与solve(2x == 1,x)。
帮助中的说明过于繁琐,使用教程中的常用几种函数进行列举。

语法说明
g=solve(eq)求解代数方程eq=0,自变量为默认自变量。
g=solve(eq,var)求解代数方程eq=0,自变量为var。
g= solve(eq1 ,…eqn,var1,var2,…,varn))求解符号表达式eq1 ,eq2…eqn组成的代数方程组,自变量分别为var1 var2… .varn。 方程组的解将存入结构变量g。

以下展示了帮助中一种格式,只是其输出结果方式不同。
在这里插入图片描述

微分方程求解
dsolve函数

语法说明
r=dsolve(‘eq1 ,eq2…’,‘cond1 ,cond2,…’,‘v’求由eq1 ,eq2…指定的微分方程的符号解,参数cond1 ,cond2…为指定常微分方程的边界条件或初始条件,v为指定的自变量,若不指定,将采用“t”为默认自变量。

本来还有一个实例可以帮助理解,结果教程里连分析的代码都不全,便宜没好货。
补充
symsum函数
据说是计算无穷级数求和时使用,因为sum无法使用。

	F = symsum(a,v,m,n)其中,a表示一个级数的通项,是一个符号表达式。v是求和变量,m、n分别是求和的开始项和末项,对于无穷级数求和来说,末项显然是inf (无穷为inf)。

这个……只能到用的时候再细细分析了。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
郭彦甫是台大的一位教授,他提供了一份关于Matlab教程笔记。你可以通过以下链接下载他的PPT文件:\[1\]https://pan.baidu.com/s/1VXdy3HCBPexMK0csyehiZA 提取码:2io1。此外,如果你需要更多关于Matlab的帮助,你可以参考Matlab官方的帮助文档:\[1\]https://ww2.mathworks.cn/help/。这些资源应该能够帮助你更好地学习和使用Matlab。 请注意,我无法提供具体的教程内容,因为我只能引用提供的资料。如果你有具体的问题或需要更多的帮助,请告诉我,我会尽力回答。 #### 引用[.reference_title] - *1* *2* [【台大郭彦甫】Matlab入门教程超详细学习笔记七:数值微积分(附PPT链接)](https://blog.csdn.net/qq_42995065/article/details/124225215)[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^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [台湾国立大学郭彦甫Matlab教程笔记(12) advanced 2D plot 下](https://blog.csdn.net/shizheng_Li/article/details/99827483)[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^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值