第3章矩阵、数组和符号运算 这种方法输入符号矩阵与字符串矩阵的输入相似。但要 保证在同一列中各元素字符串有同样的长度,在较短的字 符串前后用空格符填充; 这种方法要求符号矩阵每一行的两端都有方括号,而字 符串矩阵仅在首尾有方括号。 >B=[4+xx^2x];x^35*x-3x*al] B [4+xx2x] [x^35*x-3x*a]
第3章 矩阵、数组和符号运算 ➢这种方法输入符号矩阵与字符串矩阵的输入相似。但要 保证在同一列中各元素字符串有同样的长度,在较短的字 符串前后用空格符填充; ➢这种方法要求符号矩阵每一行的两端都有方括号,而字 符串矩阵仅在首尾有方括号。 >> B=['[4+x x^2 x ]';'[x^3 5*x-3 x*a]'] B = [4+x x^2 x ] [x^3 5*x-3 x*a]
第3章矩阵、数组和符号运算 b由sm命令创建 >> fsymfa*x2+b*x+c) a*x2+b*x+c > fl=sym(a*x 2+b*x+c=0") f1 a*x^2+b*x+C=0 >>A=sym([4+x,x^2,xx^3,5*x-3,x*a]) A 4+x,x^2,x X^3.5*x-3.x
第3章 矩阵、数组和符号运算 b.由sym 命令创建 >> f=sym('a*x^2+b*x+c') f = a*x^2+b*x+c >> f1=sym('a*x^2+b*x+c=0') f1 = a*x^2+b*x+c=0 >> A=sym('[4+x, x^2, x;x^3, 5*x-3, x*a]') A = [ 4+x, x^2, x] [ x^3, 5*x-3, x*a]
第3章矩阵、数组和符号运算 c.由syms命令创建 > syms x a b c >>f=a*x2+b*X+c f a *x2+b*X+c > syms x a >>B=4+xx^2xx^35*x-3x*a B 4+x,x^2,x] x^3,5*x-3,x*a] 不能创建符号方程
第3章 矩阵、数组和符号运算 c.由 syms 命令创建 >> syms x a b c >> f=a*x^2+b*x+c f = a*x^2+b*x+c >> syms x a >> B=[4+x x^2 x;x^3 5*x-3 x*a] B = [ 4+x, x^2, x] [ x^3, 5*x-3, x*a] 不能创建符号方程
第3章矩阵、数组和符号运算 3、数字矩阵和符号矩阵的转换 MATLAB中的数值型、字符型和符号型三种数据类型 中数值变量级别最低,字符变量级别居中,符号变量级别 最高; 三种变量参与的混合运算,系统将会把所有参与运算的 变量自动统一转换为变量等级最高的类型,然后进行计算; 可以通过命令来完成对不同数据类型之间的转换,大致 可以分为三种情况: 转换为数值变量: double,st2 num,numeric 转化为符号变量:sm 转化为字符变量:int2str,num2str
第3章 矩阵、数组和符号运算 3、数字矩阵和符号矩阵的转换 ➢MATLAB 中的数值型、字符型和符号型三种数据类型 中数值变量级别最低,字符变量级别居中,符号变量级别 最高; ➢三种变量参与的混合运算,系统将会把所有参与运算的 变量自动统一转换为变量等级最高的类型,然后进行计算; ➢可以通过命令来完成对不同数据类型之间的转换,大致 可以分为三种情况: 转换为数值变量: double, str2num,numeric 转化为符号变量:sym 转化为字符变量:int2str, num2str
第3章矩阵、数组和符号运算 4、 MATLAB关于不同精度的控制 针对浮点运算的数值算法 计算速度最快,占用计算机内存最少的算法,与C FORTRAN语言中的浮点运算算法完全相同。在机器内 的表达和计算都是一个被“截断”的8位浮点近似值。 针对精确运算的符号算法 计算时间最长,内存占用最多,精度也最高。 任意精度的算法 运算时间、内存占用和计算精度均介于以上两种运算之间 采用函数 digits来控制十进制结果的有效位数。 digits的 缺省值为32,大约对应于浮点精度 符号数学工具箱中,用vpa函数执行任意精度运算
第3章 矩阵、数组和符号运算 4、MATLAB 关于不同精度的控制 ➢针对浮点运算的数值算法 计算速度最快,占用计算机内存最少的算法,与 C、 FORTRAN 语言中的浮点运算算法完全相同。在机器内 的表达和计算都是一个被“截断”的8位浮点近似值。 ➢针对精确运算的符号算法 计算时间最长,内存占用最多,精度也最高。 ➢任意精度的算法 运算时间、内存占用和计算精度均介于以上两种运算之间。 采用函数 digits 来控制十进制结果的有效位数。digits 的 缺省值为 32,大约对应于浮点精度。 符号数学工具箱中,用 vpa 函数执行任意精度运算