Matlab符号计算(含作业)选编.docx

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Matlab符号计算(含作业)选编

PAGE  PAGE 16 符号计算 符号计算: 解算数学表达式、方程不是在离散化的数值点上进行,而是凭借一系列恒等式,数学定理,通过推理和演绎,获得解析结果。 符号计算建立在数值完全准确表达和推演严格解析的基础之上,所得结果完全准确。 特点: 一.相对于MATLAB的数值计算“引擎”和“函数库”而言,符号计算的“引擎”和“函数库”是独立的。 二.在相当一些场合,符号计算解算问题的命令和过程,显得比数值计算更自然、更简明。 三.大多数理工科的本科学生在学过高等数学和其他专业基础课以后,比较习惯符号计算的解题理念和模式。 符号对象和符号表达式 MATLAB依靠基本符号对象(包括数字、参数、变量)、运算符及一些预定义函数来构造和衍生符号表达式和符号方程。 基本符号对象和运算算符 生成符号对象的基本规则 任何基本符号对象(数字、参数、变量、表达式、函数)都必须借助专门的符号命令sym、syms、symfun定义。 任何包含符号对象的表达式或方程,将继承符号对象的属性。 精准符号数字和符号常数 符号(类)数字的定义: sym(Num) 采用精准数值类数创建精准的符号数字(推荐格式!) sc=sym(Num) 采用精准数值类数创建精准的符号常数sc(推荐格式!) 说明:若输入量Num是精准的浮点数(如0.321、10/3等),能生成精准的符号数字; 若输入量Num是诸如sin(0.3)的数值表达式,那么就只能生成由数字表达式获得的16位精度的近似符号数字。 sym(Num) 采用有理分数字符串创建精准的符号数字 sc=sym(Num) 采用有理分数字符串创建精准的符号常数sc 说明: Num必须处于(英文状态下的)单引号内,构成字符串(关于字符串参见附录A); 只有当字符串数字Num采用诸如321/1000、10/3等整数构成的有理分数形式表达时,sym(Num) 才能生成精准的符号数字; 若字符串数字用诸如0.321、3.21e-1等“普通小数或科学记述数”表达,那么只能产生“近似符号数字”。在默认情况下,该近似符号数字为32位精度。 【例2.1-1】 (1)创建完全精准的符号数字或数字表达式 clear all R1=sin(sym(0.3)) % 输入量为普通小数 R2=sin(sym(3e-1)) % 输入量为科学记述数 R3=sin(sym(3/10)) % 输入量为有理分数 R4=sin(sym(3/10)) % 输入量为“整数构成的有理分数”字符串数字 disp([R1属于什么类别? 答:,class(R1)]) disp([R1与R4是否相等?(是为1,否为0) 答:,int2str(logical(R1==R4))]) R1 = sin(3/10) R2 = sin(3/10) R3 = sin(3/10) R4 = sin(3/10) R1属于什么类别? 答:sym R1与R4是否相等?(是为1,否为0) 答:1 (2)产生具有32位精度的“近似”符号数字(杜绝使用!) S1=sin(sym(0.3)) % sym的输入量是字符串小数,生成32位精度下的 % 近似符号数,进而在sin作用下给出近似符号数。 S2=sin(sym(3e-1)) % syms的输入量是字符串科学记述数。 eRS=vpa(abs(R1-S1),64); disp([S1属于什么类别? 答:,class(S1)]) disp([S1与R1是否相同? 答: ,int2str(logical(R1==S1))]) disp(S1与R1的误差为) disp(double(eRS)) S1 = 0.29552020666133957510532074568503 S2 = 0.29552020666133957510532074568503 S1属于什么类别? 答:sym S1与R1是否相同? 答: 0 S1与R1的误差为 6.3494e-41 (3)产生具有16位精度的“近似”符号数字(杜绝使用!) F1=sym(sin(3/10)) % sym的输入量为双精度表达式sin(3/10), % 就只能创建出仅16位精度的近似符号数。 F2=sym(sin(0.3)) % 同上 eFS=vpa(abs(F1-S1),32); disp([F1属于什么类别? 答:,class(F1)]) disp([S1与F1是否相同? 答: ,int2str(logical(F1==S1))]) disp(F1与S1的误差为) disp(double(eF

文档评论(0)

jiayou10 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档