数值分析上机作业

发布 2022-09-05 09:59:28 阅读 6883

第二章线性代数方程组的直接解法上机作业。

郑维珍制研15 2015210459

要求:编程实现doolittle分解方法解方程组。

输入:a,b

输出:(1)能不能用doolittle分解方法。

2)如能,则输出l,u,y,x

截止日期10.8,网络学堂提交,建议matlab。

解答:一、编程思想及程序流程设计。

参照教材48-49页的内容。

二、程序内容。

function [x,l,u]= doolittle (a,b)

clc;clear;

输入a和ba = 16 4 8;4 5 -4;8 -4 22];b = 4 3 10]';课本62页第6题。

a = 2 -1 1;3 3 9;2 3 5];b = 0 -1 1]';第二章附加题2

a = 10 1 -5;-20 3 20;5 3 5];b = 14 -3 -3]';第二章附加题3

a = 3 1 0;2 4 1;0 2 5];b = 1 7 9]';第二章附加题4,a=1的情况。

a = 0 1 1;1 2 3;1 2 1];b = 1 2 1];

a = 2 1 1;1 2 3;1 2 1;1 1 2];b = 1 2 1];

定义参数。n = size(a);

n = n(1);

l = eye(n,n); l的对角元素为1

u = zeros(n,n);

判断是否为方阵。

if(n(1,1)~=n(1,2))

disp('您输入的矩阵不是方阵,请重新输入');

return;

end判断是否顺序主子式是否为0

n=n(1,1);%获取a的维数

y=zeros(n,1);

x=zeros(n,1);

a1=a;

yy=0;for i=1:n

if(det(a1(1:i,1:i))=0)

yy=1;

endend

if(yy==1)

disp('您输入的矩阵不能进行doolittle分解')

return;

end计算l和u矩阵。

u(1,1:n) =a(1,1:nu的第一行。

l(1:n,1) =a(1:n,1)/u(1,1); l的第一列。

for k=2:nu的第k行。

for i=k:n

u(k,i) =a(k,i)-l(k,1:(k-1))*u(1:(k-1),i);

endfor j=(k+1):n %l的第k列。

l(j,k) =a(j,k)-l(j,1:(k-1))*u(1:(k-1),k))/u(k,k);

endend

求解l*y=b中的y

y(1) =b(1);

for k = 2:n

y(k) =b(k)-l(k,1:(k-1))*y(1:(k-1))'

end求解u*x=b中的x,即原方程的解。

x(n) =y(n)/u(n,n);

for k = n-1):-1:1;

x(k) =y(k)-u(k,(k+1):n)*x((k+1):n)')u(k,k);

end输出。ab

lu yx

三、程序运行结果。

以下分布是四种独立的输入情况下,程序运行的结果。

1.对不可分解矩阵的反应。

输入:a = 0 1 1;1 2 3;1 2 1];b = 1 2 1];

可以得到:从而实现了判别的功能。

2.对非n*n矩阵(非方阵)的反应。

输入:a = 2 1 1;1 2 3;1 2 1;1 1 2];b = 1 2 1];

可以得到:从而实现了判别非方阵的功能。

3.计算课本62页第6题。

输入:a = 16 4 8;4 5 -4;8 -4 22];b = 4 3 10]';课本62页第6题。

运行程序,可得:l =

u =y =x =这与笔算答案是完全符合的。

4.计算第二章附加题4,a=1的情况。

输入a = 3 1 0;2 4 1;0 2 5];b = 1 7 9]';第二章附加题4,a=1的情况。l =

u =y =x =这也与笔算答案完全符合(除小数位数带来的误差外)

综上所述,该程序完全实现了要求。(附txt版本的程序原文。)

数值分析上机作业

一。上机作业任务一 用五点差分格式求解poisson方程边值问题,p 任选一题 二。上机作业任务二 用simpson求积法计算定积分。下面两种方法任选一。1 变步长复化simpson求积法2 自适应simpson求积法。三。上机作业任务三 用matlab语言编写连续函数最佳平方逼近的算法程序 函数式...

数值分析上机作业

今天的上机作业。1.lagrange 插值。给出的数值表。用lagrange 插值计算的近似值。2 newton插值。用newton插值计算x 0.41的近似值。3.插值法的全部内容。把chap 2试验。doc的全部内容作一边,粘在这个文件里 包括图形 答 插值。function f lagrang...

数值分析上机作业

第二次上机作业。一。任务 用matlab语言编写连续函数最佳平方逼近的算法程序 函数式m文件 并用此程序进行数值试验,写出计算实习报告。二。程序功能要求 在后面的附一的基础上进行修改,使其更加完善。要求算法程序可以适应不同的具体函数,具有一定的通用性。所编程序具有以下功能 1.用lengendre多...