- 1、本文档共32页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]数值计算
题目1
解方程,其中,要求。
迭代原理:此题涉及到复数方程组的求解,因此矩阵求逆时要采用复数矩阵的求逆方法,复矩阵求逆的全选主元高斯—约当法的算法同实矩阵的求逆算法,其中复矩阵分成实部与虚部两部分,即
算法中所有运算均为复数运算。
在求解时,首先要用牛顿迭代法(当然其他的迭代方法在可以求解的情况下也是可以的)求出一个近似解(不需要太精确),接下来用迭代改善法去求解,计算出残余向量, 再求解一次方程组,改善:令,反复迭代改善,最终满足精度要求。
复数矩阵求逆的全选主元高斯约当法运算的过程:
可见,转化后的方程组是关于a, b, c, d四个未知量的方程组。此时,转化后的方程组需化成严主对角占优的方程组,否则将不能使用迭代法进行运算.这里我们化简为:
流程图
运算结果及小结:
由上图中的计算结果可以看出 x1=0.453448275862069+0.691379310344828i;
x2=0.406551724137931-0.171379310344828i.
(1)牛顿迭代法的改善法对于最终的结果是非常有效的,通过牛顿法求出一个不十分精确的值,经过改善后就可以得出最终的解。
(2)复数矩阵的运算先需要进行主对角占优,即按前面的方式进行计算即可。
通过这个方程的计算,熟悉了复数方程组的求解,理解了牛顿迭代的求解过程。
using System;
using System.Collections.Generic;
using System.Text;
namespace ImprovementIteration
{
class Program
{
static void Main(string[] args)
{
//方程左边矩阵的实部矩阵
double[,] LR = new double[2, 2];
//方程左边矩阵的虚部矩阵
double[,] LI = new double[2, 2];
//方程右边矩阵的实部矩阵
double[] RR = new double[2];
//方程右边矩阵的虚部矩阵
double[] RI = new double[2];
//存储函数值
double FX1Imag = 0; double FX2Imag = 0;
double FX1Real = 0; double FX2Real = 0;
//存储初始变量的值
double X1R0 = 0;//实部double X2R0 = 0;
double X1I0 = 0;//虚部 double X2I0 = 0;
//存储中间变量的值
double X1RK = 0;double X2RK = 0;
double X1IK = 0; double X2IK = 0;
double X1RK1 = 0; double X2RK1 = 0;
double X1IK1 = 0; double X2IK1 = 0;
//修正变量
double DX1RK = 0;double DX2RK = 0;
double DX1IK = 0; double DX2IK = 0;
//控制误差
double T = 0;
for (int i = 0; i 2; i++)
{
for (int j = 0; j 2; j++)
{
LR[i, j] = 0;LI[i, j] = 0;
RR[i] = 0; RI[i] = 0;
}
}
//给矩阵赋值
LR[0, 0] = 8.0;LR[0, 1] = 1.0;
文档评论(0)