版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、用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+,键增加一列,用鼠标选定一行(或
2、一列),按Del键可删除一行(或一列)。通过这样的操作,就可输入任意一个矩阵。下面的图演示了这个过程。,例,矩阵的输出默认是数表形式,也可利用MatrixForm命令将其输出为矩阵想形式。 如果要访问一个矩阵的某一个元素,比如t0的第一行第二列元素,用t01,2就代表该元素。 中括号表示指定位置,不能少,例,3、利用系统函数生成矩阵 Mathematica提供了很多生成向量和矩阵的命令,简述如下表所示。,例,对角线上为a,b,c,d,例(续),二、矩阵的基本运算,矩阵运算是线性代数的基本内容。常规的矩阵运算有矩阵的加减法、数乘、乘法、行列式,转置和逆矩阵等。在Mathematica中只要一个运
3、算符或调用一个函数即可完成上述运算 下表给出了矩阵加法和乘法的一般形式,例,例(续),二、矩阵的运算,下表列出矩阵的其他一些运算,例,例,例,例,求下列矩阵的秩及行向量组的一个极大无关 组,并将其余行向量表成它的线性组合:,Mathematica没有直接求矩阵秩的函数,但我们可以通过RowReduce函数求出行最简形,从而求出矩阵的秩。 注意由于是求行向量组的极大无关组,所以应求AT的出行最简形。,例,三、求解线性方程组,对于线性方程组Ax=b,若方程组有惟一解,由用Solve函数即可求解。但更好的方法是用NullSpace函数和LinearSolve函数。 首先用NullSpace函数求出A
4、x=0的基础解系,再用LinearSolve函数求出Ax=b的一个解(如果存在的话),由此就可求出Ax=b的通解。,例,例(续),四、特征值与特征向量,下表列出求特征值与特征向量的函数,例,例(续),五、向量正交化运算,在Mathematica的LinearAlgebraOrthogonalization程序包中有对向量单位化和对一组向量正交化的函数。下面仅列出施密特正交化函数。,示例,例,试求一个正交变换,将二次型 化为标准形式,例(续),模块和块中的变量,前面我们学习了有关Mathematica的各种基本运算及操作,为了使Mathematica更有效的工作,我们可对Mathematica进
5、行模块化运算。在模块内部通过编写一系列表达式语句,使其实现一定的功能。在Mathematica内部也提供了很多程序包,我们将学习如何调用它们。 一般情况下,Mathematica假设所有变量都为全局变量。也就是说无论何时你使用一个你定义的变,Mathematica都假设你指的是同一个目标。然而在编制程序时,你则不会想把所有的变量当作全局变量,因为如果这样程序可能就不具有通用性,你也可能在调用程序时陷入混乱状态。下面给出定义模块或块和局部变量的常用形式,Mathematica中的模块工作很简单,每当使用模块时,就产生一个新的符号来表示它的每一个局部变量。产生的新符号具有唯一的名字,互不冲突,有效
6、的保护了模块内外的每个变量的作用范围。 首先来看Module函数,这个函数的第一部分参数里说明的 变量, 只在Module内起作用. body执行体,包含合法的Mathematica语句,多个语句之间可用“ ;”分割.,In1:=t=10; Modulet=5,t=t+2 Out2=7 In3:=t Out3=10,In3:=t Out3=10,可以对模块中的任意局部变量进行初始化,这些 初始值总是在模块执行前就被计算出来,Mathematica中的模块允许把某变量名看作 局部变量名。然而又存在有时你又希望它们为 全局变量时,但变量值为局部的矛盾,这时可以 用Block函数。,在Mathema
7、tica中编制程序时,必须使程序中的各个部分尽可能的独立,这样程序才便于读懂、维护和修改。确保程序各部分不相干的主要方法是设置具有一定作用域的变量。在Mathematica中有两种限制变量作用域的基本方法:模块(Module)和块(Block)。实际程序中,模块比块更具普遍性。然而在交互式计算中需要定义作用域时,块更实用。 Modulevars,body所要做的是把执行模块时表达式body的形式看成Mathematica程序的“代码”。然而当“代码”中直接出现变量vars时,这些vars都被看作局部的。Blockvars,body并不查看表达式body的形式,而在整个计算Body的过程中,使用
8、vars的局部值。,下例中我们根据i定义m: ln12:=m=i2 Out12:=i2 在计算i+m的整个过程中使用块中i的局部值: h13:=Blocki=a,i+m Out13=a+a2 而对于下面的例子,只有直接出现在i+m中的i,才被看作局部变量: In14:=Modulei=a,i+m Out14=a+i2,条件结构,条件结构的常用形式。,ln1:=If 10,1+2,2+3 Out1=3,ln3:g=1/:x0 ln4:g=-1/:x0,用“?”显示用/:condition定义的函数g的完整信息:,符号条件 在Mathemahca中,有一种可能的情况就是你给出的条件结果既不是真也不
9、为假。下面测试的结果既不是真也不是假,因此If的两个分支保持不变:,可以给If加上第三个条件结果,允许测试的结果 既不是真也不是假的情况下使用它,下面给出处理符号条件的函数。因x=x,故Mathematica给 出结果为真.但Mathematica在下面情况下以符号等式输出: ln4:=x=y Out4:=x=y 可以用TrueQ表达式来处理符号条件. 除非表达式能得出真,否则都被假设为假. ln5:=TrueQx=x Out5=True ln6:=TrueQx=y Out6=false,用“=”可直接测试两个表达式的等同性: In7:=x=y Out7:=False 一般情况下,“=”返回值
10、为真(True)或假(False),而“=”为符号形式输出,表示一个符号等式。在 特殊情况下可用“=”测试一个表达式的结构,而用“=”测试数学上的等同性。,逻辑表达式的运算形式,循环结构,Mathematica程序的执行包括对一系列Mathematica表达式的计算。对简单程序, 表达式的计算可用分号“;”来隔开,然后一个接一个地进行计算。然而,有时你需要对同一表达式进行多次计算,即循环计算。,Do循环结构,While与For结构,在Mathematica程序中,Do是以结构方式进行循环的,然而有时你需要生成非结构循环。此时,运用函数While和For是合适的。下面是While和For函数的循环结构形式:,一些特殊的赋值方式,重复运用函数,流程控制,函数程序结构的流程控制一般来说比较简单,但是在应用While或For等循环时就比较复杂了,这是因为他们的流程控制依赖于表达式的值。而且在这样的循环中,流程的控 制并不依赖于循环体中表达式的值。有时在编制Mathematica程序时,在该程序中,流程控制受某一过程或循环体执行结果的影响
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 商业综合体运营管理服务合同二篇
- 2026年初中成语故事《道听途说》论语思想探究教案
- 2026年秋季小学班会课 我爱我的校园
- 2026年初中《行香子》秦观田园闲适词作备课教案
- 温州振华220千伏输变电工程环境影响报告表环境影响报告表
- 年产1500万套HTCC陶瓷封装基板外壳生产线技改项目环境影响报告表
- 安防行业安保部安保员应急演练操作手册
- 2026新学期三高人群合理膳食与体重管理课件:吃动平衡健康体重
- 基于证据理论的不确定性推理指南
- 基于计算机视觉的零售门店货架空缺识别缺货识别准确率与补货任务自动生成联动可行性分析
- 服装店装修施工方案范本
- 甘肃省培训费管理办法
- 认识花生课件
- 【《基于java的美妆商城的设计与实现》13000字】
- 白银市2025-2026学年七年级上学期语文月考测试试卷
- 毕业论文8000字范例学前教育
- 浙江省公路工程监理用表-监理抽检记录2025
- 理想汽车考试试题及答案
- 先心病的介入治疗与护理
- 小学信息技术跨学科教学计划
- 成人高考高起专模拟试题
评论
0/150
提交评论