- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
课件12_其它问题
课件12_其它问题
(1)将无理数化成近似分数
例1 将圆周率化成近似分数,误差分别取0.1,0.01,0.001,0.0001,0.00001,0.000001。
程序:
结果:
(2)阶乘与组合数
例2 求阶乘。直接输入 n!
求组合数。输入以下命令:
求多元组合数 。输入以下命令:
(3)求解不等式或不等式组
例3 求解不等式
第一步 打开子程序包 Algebra`InequalitySolve`
第二步 InequalitySolve[ ]
得到此不等式的解集:
其中两个竖线表示集合的并。
又一例子:
第二步 InequalitySolve[ ]
其中表示集合的交。执行后得到此不等式组的解集:
注:InequalitySolve命令只能求解多项式类型的不等式或不等式组。
(4)求解递归关系式
例4 求解递归关系式
第一步 进入子程序软件包 DiscreteMath`RSolve`
第二步 求解递归关系式。
输入以下命令:
RSolve[ { a[ n ] == 3a[ n-1 ] - 2a[ n-2 ], a[ 0 ] == 1, a[ 1 ] == 2 }, a[ n ], n ]
运行之后得到结果:{ { a[ n ] - 2n } }
(5)求一个数的位数
例5 求2009的位数
程序:
RealDigits[2009]
结果:
{{2,0,0,9},4}
这表示2009是由数字{2,0,0,9}构成,是一个4位数。
例6 求0.12的位数
程序:
RealDigits[0.12]
结果:
{{1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0},0}
这表示0.12是由(内部精度)16位数字{1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0}构成,0位整数,即,没有整数位,也就是说整数位的数字为0。
例7 求0.012的位数
程序:
RealDigits[0.012]
结果:
{{1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0},-1}
这表示0.012是由数字{1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0}构成,0位整数,并且,-1表示小数点后面有一个0,然后才是数字{1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0},其中,开头的数字1是第一个有效数字。
(6)集合与向量、数据表
例11 数据表的排顺序问题。
a = { 2,-9,3,5,4,8,-3,1,7 };
Sort[ a,Greater ]
此命令将数据序列a从大到小重新排列。
a = { 2,-9,3,5,4,8,-3,1,7 };
Sort[ a,Less ]
此命令将数据序列a从小到大重新排列。
例12 二维向量坐标互换
将{{1,2},{x,y}}坐标互换
程序:
d={{1,2},{x,y}};
Map[Reverse,d]
结果:
{{2,1},{y,x}}
例13 数据表的统计问题。
①把数据表中的元素加起来:
a = { x,y,z };
Apply[ Plus, a ]
执行后得到结果:x + y + z
②统计数据表中指定的元素的个数:
a = { p, p, q, p, q, q, p };
Count[ a, p ]
表示统计数据表a中元素p的个数。执行后得到结果:4。
③求数据表中大于某个数的元素:
mm = { -1, 2, 3, - 4, 5, 1.2 };
Select[ mm, # 2 ]
执行后得到数据表mm中所有大于2的元素:{ 3, 5 }。
④两个1维数据表合并为一个2维数据表。
a = { 1, 2, 3 }; b = { x, y, z }:
c = Thread[ { a, b } ]
执行后得到结果:{ { 1, x }, { 2, y }, { 3, z } }
⑤求数据表中元素的个数:
d = { 1.2, 2.3, -4.2, 2.5, 3.1, 6.4, 7.2, 2.3 };
Length[ d ]
执行以上程序,就能得到结果:8。
例14 集合的运算
①生成1到10的向量,程序:
Range[1,10]
结果:
{1,2,3,4,5,6,7,8,9,10}
②集合运算
a=Range[1,10]
b=Range[2,10,2]
Join[a,b]
Intersection[a,b]
Complement[a,b]
结果:
{1,2,3,4,5,6,7,8,9,10}
{2,4,6,8,10}
{1,2,3,4,5,6,7,8,9,10,2,4,6,8,10}
{2,4,6,8,10}
{1,3,5,7,9}
(7)三角函数式的化简
例1
文档评论(0)