杜立特尔分解法 MATLAB,杜立特分解法.doc
杜立特分解法杜立特分解法
2013-2014(1)专业课程实践论文
题目:杜立特分解法
一、算法理论
阶线性方程组的系数矩阵非奇异且有分解式,其中为单位下三角矩阵,为上三角矩阵,即,当时,;,当时,,矩阵的这种分解方法为Doolittle的分解。
比较等号两边的第行和第列的元素,得。
因为,所以,,
从而当,,时,,从而,
于是就得到了计算LR分解的一般计算公式。
二、算法框图
三、算法程序
#include
#include
#define N 3
using namespace std;
int main()
{
double A[N+1][N+1]={{0,0,0,0},{0,2,1,1},{0,1,3,2},{0,1,2,2}};
double L[N+1][N+1]={0};
double U[N+1][N+1]={0};
double b[N+1]={0,4,6,5};
double y[N+1];
double x[N+1];
int i,j,k,p;
for(j=1;j<=N;j++)
U[1][j]=A[1][j];
L[1][1]=1;
for(i=2;i<=N;i++)
{L[i][1]=A[i][1]/U[1][1];
L[i][i]=1;
}
for(k=2;k<=N;k++)
{ for(j=k;j<=N;j++)
{double l=0;
for(p=1;p<=k-1;p++)
l+=L[k][p]*U[p][j];
U[k][j]=A[k][j]-l;
}
for(i=k+1;i<=N;i++)
{double l=0;
for(p=1;p<=k-1;p++)
l+=L[i][p]*U[p][k];
L[i][k]=(A[i][k]-l)/U[k][k];
}
}
y[1]=b[1];
for(k=2;k<=N;k++)
{ double l=0;
for(j=1;j<=k-1;j++)
l+=L[k][j]*y[j];
y[k]=b[k]-l;
}
x[N]=y[N]/U[N][N];
for(k=N-1;k>=1;k--)
{
double l=0;
for(j=k+1;j<=N;j++)
l+=U[k][j]*x[j];
x[k]=(y[k]-l)/U[k][k];
}
printf("向量y为:");
for(i=1;i<=N;i++)printf("%.1lf\t",y[i]);printf("\n");
cout<
for(i=1;i<=N;i++)
{for(j=1;j<=N;j++)
cout<
cout<
cout<
cout<
for(i=1;i<=N;i++)
{for(j=1;j<=N;j++)
cout<
cout<
cout<
cout<
for(i=1;i<=N;i++)
cout<
return 1;
}
四、算法实现
例1.用杜立特分解法,求解三元方程组。
解:
例2.用杜立特分解法,求解三元方程组
解:
开始
输入矩阵行数
输入矩阵A第各行元素
分解矩阵A得L
输入矩阵B第各行元素
分解矩阵A得R
求得Y
求得X
杜立特尔分解法 MATLAB,杜立特分解法.doc相关推荐
- 杜芬方程的倍周期分岔matlab,杜芬方程的倍周期分岔-read.ppt
杜芬方程的倍周期分岔-read * 第三章 走向混沌的道路 一个动力学系统运动的充分发展是进入混沌状态.进入混沌状态有哪些方式呢?这是非线性动力学研究中的一个重要问题. 1.平方映射的倍周期分岔道路 ...
- 倍周期分岔 matlab,由倍周期分岔走向混沌-Read.DOC
第三章 走向混沌的道路 我们知道,一个动力学系统运动的充分发展是进入混沌状态.进入混沌状态有哪些方式呢?这是非线性动力学研究中的一个重要问题.本章将讨论通向混沌的倍周期分岔道路.阵发性混沌.同步与混沌 ...
- 抛物型方程的差分解法matlab,抛物型方程的差分解法
? 0 时 2 为前差方程,当 ? ?1 时为后差方程.用控制体积法构造差分 方程总是守恒型差分方程. (4) 积分方法采用积分方法构造差分方程基本思想是把微分...... 第7卷第4期2008年12 ...
- 紧凑存储的杜利特尔分解法Doolittle(LU分解法)_解线性方程组的直接解法
紧凑存储的杜利特尔分解法Doolittle(LU分解法)_解线性方程组的直接解法 标签:计算方法实验 /* 紧凑存储的杜利特尔分解法Doolittle:如果初始矩阵不要求保留的话,可以紧凑存储.因为每 ...
- 数值计算(一)之解线性方程组(高斯消去法,列选主元消去法,全选主元消去法,杜立特尔分解,克洛特分解,乔里斯基分解)
解线性方程组即解一个多元一次方程组,例如 目录 消去法 分解法 消去法 原理 没有学过高级的解法也没关系,凭借我们初高中的知识足以解决这个问题 这是一个多元一次方程组,拥有n个未知量,也有n方程 我们 ...
- matlab p q的确定,基于MATLAB软件的P-Q分解法潮流计算 (1)
基于MATLAB软件的P-Q分解法潮流计算 摘要 电力系统潮流计算是研究电力系统稳态运行情况的一种重要的分析计算,它根据给定的运行条件及系统接线情况确定整个电力系统各部分的运行状态:各母线的电压,各元 ...
- pq分解法matlab程序,基于MATLAB软件的PQ分解法潮流计算
基于MATLAB软件的PQ分解法潮流计算 基于MATLAB软件的P-Q分解法潮流计算 摘要 电力系统潮流计算是研究电力系统稳态运行情况的一种重要的分析计算,它根据给定的运行条件及系统接线情况确定整个电 ...
- 数值计算练习 LU分解(杜里特尔和克洛特分解)
Code:(C++实现) 杜里特尔分解: #include<iostream> #include<cstdio> #include<cstdlib> #includ ...
- matlab lu解线性方程,MATLAB报告用LU分解法求解线性方程组.doc
MATLAB报告用LU分解法求解线性方程组 <MATLAB>期末大报告 报告内容:用LU分解法求解线性方程组 学院(系): 专 业: 班 级: 学 号: 学生姓名: 2014 年 6 月 ...
- 常微分方程的数值解法 Matlab
一.原理 1.常微分方程的离散化 下面主要讨论一阶常微分方程的初值问题,其一般形式为 由常微分方程理论,初值问题(1)的解必定存在唯一 所谓数值解法,就是球(1)的解y(x)在若干点 a = x0 & ...
最新文章
- 编写一个程序,它从标准输入(终端)读取C源代码,并验证所有的花括号都正确的成对出现。...
- 【Python】format()中槽的嵌套以及range()函数用法
- MyBatis源码分析-IDEA新建MyBatis源码工程
- Linux Swap分区设定
- 机器学习第20篇 - 基于Boruta选择的特征变量构建随机森林
- 数据库笔记03:管理数据表中的数据
- 3d激光雷达开发(基于参数模型的滤波)
- Web storm 部分快捷键
- php openssl 处理pkcs8,openssl生成RSA格式私钥,转换为通用型PKCS8格式
- 高性能计算机介绍,曙光个人高性能计算机介绍
- ubuntu 安装有道词典
- 悉尼大学计算机专业本科2019,2019悉尼大学申请条件
- 图像的代数运算与逻辑运算——Matlab实现
- hipster_通过Java Hipster升级Spring Security OAuth和JUnit测试
- python javascript人工智能_Python,Java和JavaScript哪个编程语言未来发展空间更大?...
- 鼠标放上去会变色的按钮
- 短信验证API文档说明
- 【数据结构与算法】前端JS实现栈
- 错误笔记:JavaWeb:请求的资源[/$%7BpageContext.request.contextPath%7D/login]不可用
- 人工智能 六步走 学习路线
热门文章
- CSP内容安全策略基础版
- 在1分钟K线图中显示分时图均价线的公式
- [C++杂谈]:MFC中使用excel2007读写excel表格
- 【黑苹果镜像】macOS Monterey 12.3正式版 (21E230) With OpenCore 0.7.9 and Clover 5144 and winPE原版镜像
- 编写一个程序,模拟默认密码的自动生成策略,手动输入用户名,根据用户名自动生成默认密码。在生成密码时,将用户名反转即为默认的密码。
- Js根据出生日期计算年龄
- 数据库学生学籍管理系统
- 网站视频链接自动提取下载
- 修改select2未搜索到数据时的提示语
- 华为交换机配置IPSG防止DHCP动态主机私自更改IP地址