帮客户做网站的公司,wordpress仿小刀娱乐网,dz插件网站和自己做的网站区别,取名字大全免费查询文章目录 一、实验目的二、实验内容三、仿真结果四、实践中遇到的问题及解决方法 一、实验目的 1.理解符号对象和数值对象之间的差别#xff0c;以及它们之间的互相转换。 2.了解符号运算和数值运算的特点、区别和优缺点。 3.掌握符号对象的基本操作和运算#xff0c… 文章目录 一、实验目的二、实验内容三、仿真结果四、实践中遇到的问题及解决方法 一、实验目的 1.理解符号对象和数值对象之间的差别以及它们之间的互相转换。 2.了解符号运算和数值运算的特点、区别和优缺点。 3.掌握符号对象的基本操作和运算以及符号运算之间的基本应用。
二、实验内容 1. 用syms定义具有“限定性”的参数属性 syms x‘Flag’; %定义符号参数x Flag表示参数属性可取以下“限定性”选项 A、‘positive’ % 表示那些符号参数取正实数。 B、‘real’ % 表示那些符号参数限定为实数。 C、‘unreal’ % 表示那些符号参数为不限定的复数 2.符号变量定义只能用“空格”隔离 3.findsym自动认定表达式中的独立自变量的使用方式
指令说明findsym(EXPR)确认表达式EXPR中所有“自由”符号变量findsym(EXPR,N)确认出靠x最近的N个独立自变量x为首选自由变量其后排列规则为与x的ASCII码值之差的绝对值小的字母优先差值相同时 ASCII码值大的字母优先
注EXPR可以是符号矩阵确认是对整个矩阵进行的不是矩阵元素 4. findsym的使用规范(新版本中使用symvar函数):
指令说明findsym所确认的是表达式中的“自由”“独立”的符号变量。k不自由z不独立所以不被该指令认作自由变量。findsym(EXPR,N)把EXPR表达式中N个最靠近x的自由符号变量确认为“独立自由变量”。注意大小写。大写字母离小写x的距离总是比其他小写字母远 5.矩阵的简单指令
指令说明det(A)矩阵A的行列式inv(A)矩阵A的逆eig(A)矩阵A的特征值 6.符号计算中的算符 A、 基本运算符
指令说明 - * \ / ^矩阵运算.* .\ ./ .^数组运算’ .’共轭转置、非共轭转置 B、关系运算符 只有是否等于的概念 ~。没有大于、大于等于、小于、小于等于的概念。 7.符号计算中的基本函数 A、三角函数、双曲函数及反函数除atan2仅用于数值计算外其他函数使用方法相同 B、指数、对数函数没有数值计算中的log2,log10其它如sqrt,exp,自然对数log使用方法都相同。 C、复数函数MATLAB没有提供相角angle指令。 D、矩阵代数指令使用方法几乎完全相同。 8. 符号对象的识别 A、用class获得每种矩阵的类别 B、用isa判断每种矩阵的类别若返回1表示判断正确 C、利用whos观察内存变量的类别和其它属性 9. 符号对象的置换操作
指令说明RESsubs(ES,old,new)用new置换ES中的old后产生RES。RESsubs(ES,new)用new置换ES中的自由变量后产生RES。 10. 符号微分
指令说明dfdvndiff(f,v,n)f为矩阵时求导对元素逐个进行但自变量定义在整个矩阵上v缺省时自变量由findsym自动辨认n缺省为1在数值计算中diff是求差分的 11. 符号序列的求和
指令说明ssymsum(f,v,a,b)f若为矩阵求和对每个元素进行但自变量定义在整个矩阵上v缺省自变量由findsym自动辨认b可以取有限整数或无穷大ab缺省默认求和区间为[0,v-1] 12. 符号积分
指令说明intfint(f,v)f对v的不定积分(不带积分常数)intfint(f,v,a,b)f对v的定积分f若为矩阵积分对每个元素进行v缺省自变量由findsym自动辨认ab是积分上下限可以取任何值或符号表达式 13. 符号表达式的极限
指令说明limit(f,x,a)求符号表达式f对x趋近于a的极限limit(f,‘x’,‘a’,‘left’)求符号表达式f对x趋近于a的左极限limit(f,‘x’,‘a’,‘right’)求符号表达式f对x趋近于a的右极限 14.符号变换和符号卷积
指令说明Ffourier(f,t ,w)求以t为符号变量f的fourier变换Ffifourier (F,w,t)求以w为符号变量的F的fourier反变换f 15.表达式化简
指令说明simplifyf对表达式化简注意不是simple函数 16.sym涉及到表达式的一律用str2sym()例如 A、str2sym(pi sqrt(5)) B、f1 subs(f,sin(x),str2sym(‘log(y)’)) 三、仿真结果
1.观察一个数在此处记述在以下四条不同指令作用下的异同 a bsym() csym(,‘d’) dsym‘’ %这给出完全准确值 在此分别代表具体数值7/3pi/3,pi*3^(1/3);而异同通过vpa(abs(a-d)),vpa(abs(b-d)),vpa(abs(c-d))等来观察。 答分析dsym‘’对应的是完全准确值通过上述程序观察a,b,c和d 的误差可以得到a,b的输出结果是一致的但与d对应的完全准确值不完全一样在a,b取值7/3pi/3时a,b,d对应结果是等价的没有误差而csym(,‘d’)为数值类数字的‘十进制浮点’近似表达默认为32位与d的误差绝对不是0。 a7/3;bsym(7/3);csym(7/3,d);dsym(7/3);
x1vpa(abs(a-d)), x2vpa(abs(b-d)),x3vpa(abs(c-d))
x1
0.0
x2
0.0
x3
0.00000000000000014802973661668756666666667788716api/3;bsym(pi/3);csym(pi/3,d);dstr2sym(pi/3);
x1vpa(abs(a-d)),x2vpa(abs(b-d)),x3vpa(abs(c-d))
x1
0.0
x2
0.0
x3 0.00000000000000011483642827992216762806615818554
api*3^(1/3);bsym(pi*3^(1/3));csym(pi*3^(1/3),d);dstr2sym(pi*3^(1/3));
x1vpa(abs(a-d)),x2vpa(abs(b-d)),x3vpa(abs(c-d))
x1
0.00000000000000026601114166290944374842393221638
x2
0.00000000000000026601114166290944374842393221638
x3
0.0000000000000002660111416629094726767991785515
2.说出以下三条指令产生的结果各属于哪种数据类型是“双精度”对象还是“符号”对象3/70.1sym(3/70.1),vpa(sym(3/70.1)) 答 class(3/70.1)
class(sym(3/70.1))
class(vpa(sym(3/70.1)))
ans double
ans sym
ans
sym故3/70.1是“双精度”对象而sym(3/70.1),vpa(sym(3/70.1)) 是“符号”对象。
3.在不加专门指定的情况下以下符号表达式中的哪一个变量被认为是独立自由变量sym‘sin(wt)’,sym(‘aexp(-X)’),sym(‘zexp(jtheta)’)。 答在MATLAB中运行指令(-8)(1/3)后不会得到-2结果是1.0000 1.7321i。它的全部方根有3个分别为1.0000 1.7321i-2.0000 0.0000i1.0000 - 1.7321i。计算(-8)(1/3)全部方根的M脚本文件为 symvar(str2sym(sin(w*t)))
symvar(str2sym(a*exp(-X)))
symvar(str2sym(z*exp(j*theta)))ans [ t, w]
ans [ X, a]
ans [ theta, z]
4.计算二重积分int(int(x2y2,y,1,x^2),x,1,2)。 答 syms x y;int(int(x^2y^2,y,1,x^2),x,1,2)
ans
1006/105四、实践中遇到的问题及解决方法 1.问题在MATLAB中输入sym(‘pi/3’)findsym(sym(‘sin(wt)’))等总是不能运行 解决方法新版本的MATLAB中: a、sym()涉及到表达式的一律用str2sym() b、取消findsym函数建议使用symvar函数。故问题中涉及的表达式应该为str2sym()str2sym(‘pi/3’)symvar(str2sym(‘sin(w*t)’)) 2.问题分不清数据类型是“双精度”对象还是“符号”对象 解决方法二者不同点在于 a、精度不同双精度对象大约是16位有效数字而符号对象是无误差的。 b、能够进行的运算不同:尽管二者可以调用的部分数学函数名字相同但真正的函数其实是不一样的。双精度数可以进行比较大小等关系运算符号对象不能较新的版本也可以但结果一般是表达式而非逻辑值。符号对象里面可以包括未知数可以进行微积分等各种公式推导双精度对象不能。 c、占用内存和运算速度不同:符号对象占用的存储空间比双精度数据大得多一个双精度数一般是8字节而一个符号量至少是100多个字节。运算速度方面双精度数据也快得多。 3.问题不知道如何定义变量x为正实数 解决方法在syms定义时加上具有“限定性”的参数属性。该题可以定义为syms(x,’ positive’) 4.问题不会求某个点的左右极限 解决方法熟记求左右极限的公式
a、limit(f,x,a,left) %求符号表达式f对x趋近于a的左极限
b、limit(f,x,a,right) %求符号表达式f对x趋近于a的右极限其中需要注意与求某点极限的不同求左右极限需要将自变量以及该点用单引号‘’括起来 5.问题不知道如何求绝对值 解决方法一开始我认为abs()只有求解复数的模的功能其实不然它还可以用来求解绝对值。