Matlab - 线性方程组求解
常用函数:
det 计算矩阵的行列式的值
inv 求矩阵的逆阵
rank 求矩阵的秩
[V D]=eig(A) 求矩阵A的特征值和特征向量
poly 求矩阵的特征多项式
rref 用初等变换将矩阵化成行阶梯形
null(A,’r’) 给出齐次线性方程组Ax=0 的基础解系
fliplr 矩阵左右翻转
flipud 矩阵上下翻转
trace 求矩阵的迹
diag 取得矩阵对角线元素
例子:
1、矩阵函数的应用
A=[3 -4 0; -1 5 2; 4 1 -6]
det (A) %求矩阵的行列式的值
rank (A) %求矩阵的秩
inv (A) %求逆矩阵
2、求解线性方程组Ax=B
A=[3 -4 0; -1 5 2; 4 1 -6];
B=[5;5;16];
解法1 利用矩阵除法: X=A\B
解法2 利用求逆矩阵函数 inv:X1=inv(A)*B
比较:解法1比解法2更简便,
解法1 的算法优于解法2 ,
解法1可用于一般矩阵,而解法2只能用于非奇异的方阵
因此,只需运用解法1 .
3 求线性方程组的通解
3.1 利用除法\和null函数
A=[1 1 -1 -1;2 -5 3 2; 7 -7 3 1];
B=[5;-4;7];
format rat
x1=A\B %求得非齐次方程组Ax=B的一个特解x1
Y=null(A,'r') %求得齐次方程组Ax=0 的基础解系Y
输出结果:
x1 =
3
2
0
0
Y =
2/7 3/7
5/7 4/7
1 0
0 1
则方程组Ax=B的通解为: x=x1+k1*Y(:,1)+k2*Y(:,2)
3.2 利用rref函数
format rat
A=[1 1 -1 -1;2 -5 3 2;7 -7 3 1];
B=[5; -4; 7];
%用初等行变换将增广矩阵 [A B] 化成最简行阶梯形T
T=rref([A B])
输出结果:
T =
1 0 -2/7 -3/7 3
0 1 -5/7 -4/7 2
0 0 0 0 0
Matlab - 线性方程组求解的更多相关文章
- matlab中求解线性方程组的rref函数
摘自:http://www.maybe520.net/blog/987/ matlab中怎么求解线性方程组呢? matlab中求解线性方程组可应用克拉默法则(Cramer's Rule)即通过det( ...
- MATLAB线性方程组的迭代求解法
MATLAB线性方程组的迭代求解法 作者:凯鲁嘎吉 - 博客园http://www.cnblogs.com/kailugaji/ 一.实验目的 1. 借助矩阵按模最大特征值,判断解方程组的Jacobi ...
- Matlab学习——求解微分方程(组)
介绍: 1.在 Matlab 中,用大写字母 D 表示导数,Dy 表示 y 关于自变量的一阶导数,D2y 表示 y 关于自变量的二阶导数,依此类推.函数 dsolve 用来解决常微分方程(组)的求解问 ...
- poj 2891 模线性方程组求解
Strange Way to Express Integers Time Limit: 1000MS Memory Limit: 131072K Total Submissions: 8005 ...
- MATLAB符号求解极限积分微分级数2
一.符号表达式的极限 limit(F,x,a):求当时,符号表达式F的极限. limit(F,a):符号表达式F采用默认自变量(可由函数findsym求得),该函数求F的自变量趋于a时的极限值. li ...
- 开源Math.NET基础数学类库使用(06)数值分析之线性方程组直接求解
原文:[原创]开源Math.NET基础数学类库使用(06)数值分析之线性方程组直接求解 开源Math.NET基础数学类库使用系列文章总目录: 1.开源.NET基础数学计算组件Math.NET(一) ...
- 【原创】开源Math.NET基础数学类库使用(06)直接求解线性方程组
本博客所有文章分类的总目录:[总目录]本博客博文总目录-实时更新 开源Math.NET基础数学类库使用总目录:[目录]开源Math.NET基础数学类库使用总目录 前言 ...
- python 求解线性方程组
Python线性方程组求解 求解线性方程组比较简单,只需要用到一个函数(scipy.linalg.solve)就可以了.比如我们要求以下方程的解,这是一个非齐次线性方程组: 3x_1 + x_2 - ...
- MATLAB命令大全
一.常用对象操作:除了一般windows窗口的常用功能键外.1.!dir 可以查看当前工作目录的文件. !dir& 可以在dos状态下查看.2.who 可以查看当前工作空间变量名, whos ...
随机推荐
- Python基础知识学习_Day5
一.生成器和迭代器 1.列表生成 >>> a [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] >>> a = map(lambda x:x+1, a ...
- java 异常的捕获及处理
在没有异常处理的程序中如果要回避异常,需要使用大量的判断语句,配合所想到的错误状况来捕捉程序中可能发生的错误.但是这样势必会导致程序运行效率降低.java异常处理机制具有易于使用,可自定义异常类,处理 ...
- JavaScript中常用的Document了解
在我们使用js的时候经常会用到document 例如: document.write(""); document.getElementById(''); document.crea ...
- 我理解的session和cookie
tomcat管理session 理解tomcat是如何生成session的. 当用户请求到web资源有request.getSession()这段代码的时候,request首先会对请求的url判读是否 ...
- android log4j日志管理的使用
以下为log4j1的日志管理,在android 6.0 一下能正常使用,时候更加高级的胃log4j2,持续跟新 android中的log4j日志文件使用需要两个包,我们不需要进行配置文件的配置,一切都 ...
- android .9图片制作与注意
首先找到你的开发软件所依赖的SDK,在电脑中找到这个SDK的安装路径,如果有太多SDK分不清楚,Window→Android SDK Manager 点开可以看到你的依赖SDK路径,多余的不说直接发个 ...
- 敏捷开发(十一)- Scrum Sprint评审会议
本文主要是为了检测你对SCRUM 评审会议的了解和使用程度, 通过本文你可以检测一下 1.你们的SCRUM 评审会议的过程和步骤 2.SCRUM 评审会议的输出结果一.会议目的 ...
- cocos2d安装配置及打包成Android
vs+python+cocos2d python下载:点这里 这里需要下载Python 2.X版本.曾经以为要下载3.x版本 后来装上发现cocos2d-x提供的python运行报错,所以卸载以后重新 ...
- ECOS-Ecstore证书生产失效问题排查
无法生成证书问题排查 无法生成证书问题排查 author :James,jimingsong@vip.qq.com since :2015-03-02 名称解释(官方) 常见错误 1. 名称解释(官方 ...
- Framebuffer原理、使用、测试系列文章,非常好的资料,大家一起学习
转载:http://blog.csdn.net/tju355/article/details/6881372 *一.FrameBuffer的原理* FrameBuffer 是出现在 2.2.xx 内核 ...