第二章线性代数方程组的直接解法上机作业。
郑维珍制研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多...