- 1、本文档共63页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Mathematica教程-5用Mathematica求解线性代数基本问题
用Mathematica求解线性代数基本问题 一、构造矩阵 两种方式输入矩阵 1、输入和构造矩阵 矩阵是一个数表,在Mathematica中构造并输入一个已知矩阵就相当于构造一个表。例如,键入 tt={a,b,c} a,b,c 不一定是数,可以是一个图形等 在Mathematica中就构造了一个名为tt的3维向量{a,b,c}; 键入 t0={{1,2,3},{4,5,6}} 则得到一个名为t0的2行3列的矩阵。 2、也可利用工具栏或菜单输入矩阵 点击工具栏上的矩阵输入的工具,就会得到一个二行二列的矩阵输入框,若不是二行二列的矩阵,可通过按Ctrl+Enter键增加一行,按Ctrl+,键增加一列,用鼠标选定一行(或一列),按Del键可删除一行(或一列)。通过这样的操作,就可输入任意一个矩阵。下面的图演示了这个过程。 例 矩阵的输出默认是数表形式,也可利用MatrixForm命令将其输出为矩阵想形式。 如果要访问一个矩阵的某一个元素,比如t0的第一行第二列元素,用t0[[1,2]]就代表该元素。 ↓中括号表示指定位置,不能少 例 3、利用系统函数生成矩阵 Mathematica提供了很多生成向量和矩阵的命令,简述如下表所示。 例 例(续) 二、矩阵的基本运算 矩阵运算是线性代数的基本内容。常规的矩阵运算有矩阵的加减法、数乘、乘法、行列式,转置和逆矩阵等。在Mathematica中只要一个运算符或调用一个函数即可完成上述运算 下表给出了矩阵加法和乘法的一般形式 例 例(续) 二、矩阵的运算 下表列出矩阵的其他一些运算 例 例 例 例 求下列矩阵的秩及行向量组的一个极大无关 组,并将其余行向量表成它的线性组合: 例 三、求解线性方程组 对于线性方程组Ax=b,若方程组有惟一解,由用Solve函数即可求解。但更好的方法是用NullSpace函数和LinearSolve函数。 首先用NullSpace函数求出Ax=0的基础解系,再用LinearSolve函数求出Ax=b的一个解(如果存在的话),由此就可求出Ax=b的通解。 例 例(续) 四、特征值与特征向量 下表列出求特征值与特征向量的函数 例 例(续) 五、向量正交化运算 在Mathematica的LinearAlgebra`Orthogonalization`程序包中有对向量单位化和对一组向量正交化的函数。下面仅列出施密特正交化函数。 示例 例 例(续) 模块和块中的变量????? 前面我们学习了有关Mathematica的各种基本运算及操作,为了使Mathematica更有效的工作,我们可对Mathematica进行模块化运算。在模块内部通过编写一系列表达式语句,使其实现一定的功能。在Mathematica内部也提供了很多程序包,我们将学习如何调用它们。 ????? 一般情况下,Mathematica假设所有变量都为全局变量。也就是说无论何时你使用一个你定义的变,Mathematica都假设你指的是同一个目标。然而在编制程序时,你则不会想把所有的变量当作全局变量,因为如果这样程序可能就不具有通用性,你也可能在调用程序时陷入混乱状态。下面给出定义模块或块和局部变量的常用形式 Mathematica中的模块工作很简单,每当使用模块时,就产生一个新的符号来表示它的每一个局部变量。产生的新符号具有唯一的名字,互不冲突,有效的保护了模块内外的每个变量的作用范围。 首先来看Module函数,这个函数的第一部分参数里说明的 变量, 只在Module内起作用. body执行体,包含合法的Mathematica语句,多个语句之间可用“ ;”分割. In[1]:=t=10; Module[{t=5},t=t+2] Out[2]=7 In[3]:=t Out[3]=10 在Mathematica中编制程序时,必须使程序中的各个部分尽可能的独立,这样程序才便于读懂、维护和修改。确保程序各部分不相干的主要方法是设置具有一定作用域的变量。在Mathematica中有两种限制变量作用域的基本方法:模块(Module)和块(Block)。实际程序中,模块比块更具普遍性。然而在交互式计算中需要定义作用域时,块更实用。 ? Module[vars,body]所要做的是把执行模块时表达式body的形式看成Mathematica程序的“代码”。然而当“代码”中直接出现变量vars时,这些vars都被看作局部的。Block[vars,body]并不查看表达式body的形式,而在整个计算Body的过程中,使用vars的局部值。 条件结构 符号条件 在Mathemahca
您可能关注的文档
- 2015年会计继教.doc
- 20120801外汇改革制度.doc
- 会计电算化考试界面.ppt
- 《做一个专业的班主任》经典摘抄.ppt
- 会计电算化(用友T3)第三章-基础设置.ppt
- 大实体K线分析技术.ppt
- 计算机考试答案.doc
- 乙肝的临床意义.doc
- 会计继续教育考试答案(行政).doc
- 江西初级会计电算化业务题简明流程让他而你.ppt
- 【文学类文本阅读】2024-2025高三上开学考名校模考题含答案.docx
- 【文学类文本阅读】2024-2025高二上开学考名校模考题含答案.docx
- 2026版创新设计高考一轮复习物理1第六章 动量守恒定律第1讲 动量和动量定理.docx
- 2025年安徽省中考英语真题含答案.docx
- 福建省厦泉五校2024-2025学年高二下学期期末联考英语试卷(含答案).pdf
- 福建省厦泉五校2024-2025学年高二下学期期末联考含答案(8科试卷).pdf
- 山东省东营市2024-2025学年高二下学期期末质量监测政治试卷(含答案).docx
- 河北省邯郸市2024-2025学年高二下学期期末调研考试含答案(9科试卷).pdf
- 山东省东营市2024-2025学年高二下学期期末质量监测含答案(9科试卷).pdf
- 陕西省汉中市2024-2025学年高二下学期期末质量检测思想政治试卷(含答案).pdf
文档评论(0)