大连理工大学矩阵分析matlab上机作业
大连理工线代上机实验
•
>>
例四、求特征值
• >> A=[2,1,-5,1;1,-5,0,7;0,2,1,-1;1,6,-1,-4]; • >> lambda=eig(A);
三.Help
通过M文件创建矩阵
• 当矩阵的规模较大时,直接输入法就力 不从心,出现差错也不容易修改。因此 可以使用M文件生成矩阵。 • 方法是:建立一个M文件,其内容是生 成矩阵的命令,在MATLAB的命令窗口 中输入此文件名,即将矩阵调入工作空 间(写入内存)。
元素及数组提取
a=A(i,j) b=B(2,:) c=C(:,3) subA=A(1:3,1:3) rowA=A(1:2,:) colA=A(:,1:2) %提取某个元素 %提取某行 %提取某列 %提取子阵 %提取多行 %提取多列
MATLAB中基本代数运算符
运算 加法,a+b 减法,a-b 乘法,a×b 除法,a÷b 乘幂,a*a*…*a 符号 + * / or \ ^ 举例 5+3 5-3 5*3 48/4=4\48=12 5^2=25
• 所以
是一个极大无关组,且
3
解: 在Matlab中输入:
故 b1ቤተ መጻሕፍቲ ባይዱ
2 2 4 2 a1 a2 a3 , b1 a1 a2 a3 . 3 3 3 3
4
大连理工大学概率上机作业
大连理工大学概率上机作业
第一次上机作业
1.利用Matlab自带命令产生1000个均匀随机变量服从
U(0,1)。
>> unifrnd(0,1,20,50)
ans =
Columns 1 through 10
0.8147 0.6557 0.4387 0.7513 0.3517 0.1622 0.1067 0.8530 0.7803 0.5470
0.9058 0.0357 0.3816 0.2551 0.8308 0.7943 0.9619 0.6221 0.3897 0.2963
0.1270 0.8491 0.7655 0.5060 0.5853 0.3112 0.0046 0.3510 0.2417 0.7447
0.9134 0.9340 0.7952 0.6991 0.5497 0.5285 0.7749 0.5132 0.4039 0.1890
0.6324 0.6787 0.1869 0.8909 0.9172 0.1656 0.8173 0.4018 0.0965 0.6868
0.0975 0.7577 0.4898 0.9593 0.2858 0.6020 0.8687 0.0760 0.1320 0.1835
0.2785 0.7431 0.4456 0.5472 0.7572 0.2630 0.0844 0.2399 0.9421 0.3685
0.5469 0.3922 0.6463 0.1386 0.7537 0.6541 0.3998 0.1233 0.9561 0.6256
大连理工大学矩阵与数值分析上机作业代码
10
,迭代次数上限取默认值
50,使用 Jacobi 法进行迭代。 >> test2 >> b=ones(20,1) >> x0=zeros(20,1) >> [x,n]=JacobiMethod(A,b,x0) x= 0.2766 0.2327 0.2159 0.2223 0.2227 0.2221 0.2222 0.2222 0.2222 0.2222 0.2222 0.2222 0.2222 0.2222 0.2221 0.2227 0.2223 0.2159 0.2327 0.2766
习题 2
设有方程组 Ax = b ,其中 A ∈ R
20× 20
,
−0.5 −0.25 ⎛ 3 ⎜ 3 −0.5 ⎜ −0.5 ⎜ −0.25 −0.5 ⋱ ⎜ A=⎜ ⋱ ⋱ ⎜ ⋱ ⎜ ⎜ ⎜ ⎝
(a) 选 取 不 同 的 初 始 向 量 x
(0)
⋱ ⋱ ⋱ ⋱ ⋱
⎞ ⎟ ⎟ ⎟ ⋱ ⎟ ⋱ ⎟ ⋱ −0.5 −0.25 ⎟ ⎟ −0.5 3 −0.5 ⎟ −0.25 −0.5 3 ⎟ ⎠
1.3.2 GaussMethod.m function x=GaussMethod(A,b) %高斯消元法返回方程Ax=b的解
%x是方程的解 %A为方程的系数矩阵 %b为方程的常数矩阵 n=length(b); %定义单位下三角矩阵元胞数组,并将全部数组元素赋值为n阶单位阵 l=cell(1,n-1); l(:)={eye(n)}; U=A; for i=1:n-1 for j=i+1:n l{i}(j,i)=-U(j,i)/U(i,i); end U=l{i}*U; end %计算L和U L=inv(l{1}); for i=2:n-1 L=L/l{i}; end x=U\(L\b); .m 1.3.3 MainElementMethod MainElementMethod.m function x=MainElementMethod(A,b) %列主元消去法返回方程Ax=b的解 %x是方程的解 %A为方程的系数矩阵 %b为方程的常数矩阵 n=length(b); %定义单位下三角矩阵元胞数组,并将全部数组元素赋值为n阶单位阵 l=cell(1,n-1); l(:)={eye(n)}; p=cell(1,n-1); p(:)={eye(n)}; U=A; for i=1:n-1 %找出列主元所在行,并交换首行,得到Pi [Max,row]=max(U(i:n,i)); row=row+i-1; mid=p{i}(row,:); p{i}(row,:)=p{i}(i,:); p{i}(i,:)=mid;
大连理工矩阵上机作业
第一题
Lagrange插值函数
function y=lagrange(x0,y0,x);
n=length(x0);m=length(x);
for i=1:m
z=x(i);
s=0.0;
for k=1:n
p=1.0;
for j=1:n
if j~=k
p=p*(z-x0(j))/(x0(k)-x0(j));
end
end
s=p*y0(k)+s;
end
y(i)=s;
end
x0=[1:10];
y0=[67.052,68.008,69.803,72.024,73.400,72.063,74.669,74.487,74.065,76 .777];
lagrange(x0,y0,17)
ans=-1.9516e+12
x=[1:0.1:10];
x=x';
plot(x0,y0,'r');
hold on
plot(x,y,'k');
legend('原函数','拟合函数')
拟合图像如下
拟合函数出现了龙格现象,运用多项式进行插值拟合时,效果并不好,高次多项式会因为误差的不断累积,导致龙格现象的发生。
第二题
function fun =nihe(n)
m=[67.052*10^6,68.008*10^6,69.803*10^6,72.024*10^6,73.400*10^6,72.063 *10^6,74.669*10^6,74.487*10^6,74.065*10^6,76.777*10^6];
w=[1,2,3,4,5,6,7,8,9,10];
d1=0;d2=0;d3=0;
y1=polyfit(m,w,1);
y2=polyfit(m,w,2);
大连理工优化方法大作业MATLAB编程
fun ctio n [x,dk,k]=fjqx(x,s) flag=0;
a=0;
b=0;
k=0;
d=1;
while (flag==0)
[p,q]=getpq(x,d,s);
if (P<0)
b=d;
d=(d+a)/2;
end
if(p>=0) &&( q>=0)
dk=d;
x=x+d*s;
flag=1;
end
k=k+1;
if (p>=0)&&(q<0)
a=d;
d=min{2*d,(d+b)/2};
end
end
%定义求函数值的函数 fun ,当输入为 x0= (x1 , x2 )时,输出为 f function f=fun(x)
f=(x(2)-x(1)A2)A2+(1-x(1)F2;
function gf=gfun(x)
gf=[-4*x(1)*(x (2) -x(1)A2)+2*(x(1)-1),2*(x(2)-x(1)A2)];
function [p,q]=getpq(x,d,s)
p=fun(x)-fun(x+d*s)+0.20*d*gfun(x)*s';
q=gfun(x+d*s)*s'-0.60*gfun(x)*s';
结果:
x=[0,1];
s=[-1,1];
[x,dk,k]=fjqx(x,s)
x =-0.0000 1.0000
dk =1.1102e-016
k =54
取初始= (0.0. 0,0)r^'l用兵柜梯皮法求解下面无约東优化问题:
min f (x) = x孑—2x^X2 十2x孑 + x孑H-爲—X2天3 十 2xj + 3|X2 —*3,
其中步长g的选取可利用习題1戎精确一维披索.
优化方法MATLAB编程——大连理工大学
优化方法上机大作业
学院:
姓名:
学号:
指导老师:肖现涛
第一题
源程序如下:
function zy_x = di1ti(x)
%di1ti是用来求解优化作业第一题的函数。
x0=x; yimuxulong=0.000001;
g0=g(x0);s0=-g0;
A=2*ones(100,100);
k=0;
while k<100
lanmed=-(g0)'*s0/(s0'*A*s0);
x=x0+lanmed*s0;
g=g(x);
k=k+1;
if norm(g)<yimuxulong
zy_x=x;
fprintf('After %d iterations,obtain the optimal solution.\n \n The optimal solution is \n %f.\n\nThe optimal "x" is "ans".',k,f(x) )
break;
end
miu=norm(g)^2/norm(g0)^2;
s=-g+miu*s0;
g0=g; s0=s;x0=x;
end
function f=f(x)
f=(x'*ones(100,1))^2-x'*ones(100,1);
function g=g(x)
g=(2*x'*ones(100,1))*ones(100,1)-ones(100,1);
代入x0,运行结果如下:
>> x=zeros(100,1);
>> di1ti(x)
After 1 iterations,obtain the optimal solution.
大连理工大学矩阵分析matlab上机作业
>> n=10,[z1 z2]=norm_vector(10) n=100,[z1 z2]=norm_vector(100) n=1000,[z1 z2]=norm_vector(1000) n=
10
z1 =
2.928968253968254 1.244896674895769 1.000000000000000 z2 =
3 秦九韶算法
题目:首先编制一个利用秦九韶算法计算一个多项式在给定点的函数值的通用 程序,你的程序包括输入多项式的系数以及给定点,输出函数值。利用你编制 的程序计算
p(x) = (������ − 2)9 = ������9 − 18������8 + 144������7 − 672������6 + 2016������5 − 4032������4 + 5376������3 − 4608������2 − 512
U(i,n)=1;
end
A=L+D+U;
end LU 分解函数 LU (A)定义:
function [L,U] =LU (A) %求矩阵 A 的 LU 分解,返回单位下三角矩阵 L,上三角矩阵 U
n=length(A);
L=eye(n);
U=zeros(n);
U(1,:)=A(1,:);
大连理工大学数值分析历年真题与答案(研究生期末卷)
n
七、 (12 分)证明区间 [a, b] 上关于权函数 ( x ) 的 Gauss 型求积公式 I n ( f ) Ak f ( x k ) 中的
k 0
系数 Ak ( x )l k ( x )dx , 其中 l k ( x) 为关于求积节点 x0 , x1 , x n 的 n 次 Lagrange 插值基函数,
五、 (12 分)求满足下列插值条件的分段三次多项式( [3,0] 和 [0,1] ), 并验证它是不是三次样条函数.
f (3) 27 , f (2) 8 , f (1) 1 , f (0) 0 , x [3,0] ; f (0) 0 , f (0) 0 , f (1) 0 , f (1) 1 , x [0,1] .
(6)求 f ( x) x 3 x 1 0 在 x 0.5 附近的根 的 Newton 迭代公式是: . (7)使用 Aitken 加速迭代格式 x k ( x k 1 ) 得到的 Steffensen 迭代格式为: ,对幂法数列 {mk } 的加速公式为: .
A-4
;
7.设 A 是 n 阶正规矩阵,则 A 2
;
8.求解一阶常微分方程初值问题 u(t ) (t 2 1)u t , u(t0 ) u0 的向后(隐式) Euler 法的显式化的格式为: 9.设 a 211.001 12 为 x 的近似值,且 x a 0.5 10 2 ,则 a 至少有 。
MATLAB上机实验报告02实验名称:MATLAB绘图和矩阵的初等计算
MATLAB上机实验报告02实验名称:MATLAB绘图和矩阵的初等计算
MATLAB上机实验报告02实验名称:MATLAB绘图和矩阵的初等计算
平顶山学院计算机语言类课程实验报告
课程名称院系学号实验日期MATLAB语言及应用实验机房专业姓名任课教师实验学时2班级机器号实验成绩一.实验名称:MATLAB绘图和矩阵的初等计算二.实验目的和要求1、掌握MATLAB构建组合组合矩阵的方法;2、掌握MATLAB流程控制语句的运用;3、掌握MATLAB绘图方法三.实验内容教材(《MATLAB及其在理工课程中的应用指南,陈怀琛,西安电子科技大学出版社》)P93-3,4四.实验设计方案(实验步骤或开发过程)1、a:使用eye(),magic(),ones(),zeros()这几个函数,直接求出单位矩阵I,魔方矩阵M,全幺矩阵A,全零矩阵Bb:根据题目要求,先计算出C的各个元素,最后再组合为矩阵c:直接从得到的C矩阵中,利用C1=C([2468];:),再用C2=C1(:;[2468]),分别求出C1和C2d:要求C1和C2的乘积,则首先判断C1的列数和C2的行数是否相同,若相同,则求出D,否则,不能进行计算;C2和C1相乘也按上述所述
2、以X在0到2*pi的范围里,插入101个点为横坐标,以y 所得结果为纵坐标,利用plot()函数画出该曲线
五.实验中存在问题及解决办法在第三题的b中,[A不能只通过简单的[AB]’就可以得到,必须和I的列数相同才行B]在第四题中,多注意x平方时,因x是行向量,因此采用元素乘方在x后边加"."六.实验结果1、
大连理工大学线性代数上机作业PPT
a 1 A 1 2 e
b 2 15 f
c 3 22 g
d 4 17 h
1 2 b f c
作业格式:
• 1.姓名,班级,学号N= • A= … , B= ….要求:打印或80535117@qq.com(船) sdluran@gmail.com(化) Ax=b的解在下列不同的取值时变化如何? • 6:
变量及数组输入
• 3:矩阵的简单运算 c=inv(a) %方阵的逆阵 y=c*b %矩阵乘积 d=[a b];disp([d]) %矩阵拼接 d=a'; disp([d]) %矩阵转置 g=2*a+3 %常数乘矩阵,各元素加3 p=eye(3) %3阶单位矩阵 y=a.*p %两矩阵对应元素乘积 zeros(3) %3阶零矩阵
5
• >> A=[2,1,-5,1;1,-5,0,7;0,2,1,-1;1,6,-1,-4]; • b=[13,-9,6,0]'; • x=A\b %不打;则计算机将显示x的值 • x=
• • • •
-66.5556 25.6667 -18.7778 26.5556
• >>
例子三、求秩
• • • • • • • • • • • • >> A=[2,1,-5,1;1,-5,0,7;0,2,1,-1;1,6,-1,-4]; >> r=rank(A); >> r= % = 计算机不显示r的值 ??? r= | Error: Expression or statement is incomplete or incorrect. >> rank(A) ans = 4 >> r r= 4 %不打;则计算机将显示rank(A)的值
大连理工大学-2015年矩阵上机编程作业
sum=sum+LL[i][s]*a[s][j]; if(i==0 && j==0 && s==0){ // cout<<LL[i][s]<<" "<<a[0][0]<<endl; // cout<<LL[i][s]*a[s][j]<<endl; }
} c[i][j]=sum; } } //写回到 B 数组中,即为最终的 U for (int i1=0;i1<m;i1++){ for(int j=0;j<n;j++){ a[i1][j]=c[i1][j]; } }
cout<<endl; } } }
} //Ax=b 的解答,A 为上三角矩阵 void SolveOne(double a[9][10],int m,int n){
int j=n-2; double answer[9]; for (int s=m-1;s>=0;s--){
answer[j]=a[s][n-1]/a[s][j]; for(int i=0;i<=s-1;i++){
float sum=a[0]; for(int i=0;i+1<n;i=i+1){
sum=sum*x+a[i+1]; } cout<<"秦九韶算法计算结果为"<<" "<<sum<<endl; } void main(){ cout <<"请输入 X"<<endl; float x; cin>>x; cout <<"请依次输入系数总数 n 和 n 个系数"<<endl; int n; cin>>n; float a[10]; for(int i=0;i<n;i++){
大连理工大学数值分析历年真题与答案(研究生期末卷)
u (0) 1 的 数 值 解 的 Euler 求 解 公 式
.
. 为使计算保持绝对稳定性, 步长 h 的取值范围
1
4 1 0 5 二、 (12 分)求矩阵 A 1 5 2 的 Doolittle 分解和 Cholesky 分解,并求解 Ax 8 . 0 2 8 10
A-6
六、 (12 分)求满足下列插值条件的分段三次多项式( [3,0] 和 [0,1] ), 并验证它是不是三 次样条函数. f (3) 27 , f (2) 8 , f (1) 1 , f (0) 0 , x [3,0] ;
f (0) 0 , f (0) 0 , f (1) 0 , f (1) 1 , x [0,1] .
0 1 At 15.设 A 0 0 ,则 e
,
d e At dt
二、 (8 分)已知近似值 a1 1.21 , a2 3.65 , a3 9.81 均为有效数字,试估计算术运算
a3
a1 a2 的相对误差界。 a3
A-9
三、 (15 分)设线性方程组:
八、 (10 分)证明线性二步法 u n 2 (b 1)u n 1 bu n
A-7
大连理工大学 2007 年试题应用数学系 数学与应用数学专业 2005 级 试 卷
大连理工大学矩阵与数值分析上机作业13388
大连理工大学
矩阵与数值分析上机作业
课程名称:矩阵与数值分析
研究生姓名:
交作业日时间:2016 年12 月20日
1.1程序:
Clear all;
n=input('请输入向量的长度n:')
for i=1:n;
v(i)=1/i;
end
Y1=norm(v,1)
Y2=norm(v,2)
Y3=norm(v,inf)
1.2结果
n=10 Y1 =2.9290
Y2 =1.2449
Y3 =1
n=100 Y1 =5.1874
Y2 =1.2787
Y3 =1
n=1000 Y1 =7.4855
Y2 =1.2822
Y3 =1
N=10000 Y1 =9.7876
Y2 =1.2825
Y3 =1
1.3 分析
一范数逐渐递增,随着n的增加,范数的增加速度减小;二范数随着n的增加,逐渐趋于定值,无群范数都是1.
2.1程序
clear all;
x(1)=-10^-15;
dx=10^-18;
L=2*10^3;
for i=1:L
y1(i)=log(1+x(i))/x(i); d=1+x(i);
if d == 1
y2(i)=1;
else
y2(i)=log(d)/(d-1);
end
x(i+1)=x(i)+dx;
end
x=x(1:length(x)-1);
plot(x,y1,'r');
hold on
plot(x,y2);
2.2 结果
2.3 分析
红色的曲线代表未考虑题中算法时的情况,如果考虑题中的算法则数值大小始终为1,这主要是由于大数加小数的原因。
第3题
3.1 程序
clear all;
A=[1 -18 144 -672 2016 -4032 5376 -4608 2304 -512];
大连理工大学矩阵与数值分析MATLAB上机实验
Newton 迭代法程序运算结果
割线法程序
clc; clear; format long xm=1; %设初始值 xn=0.5; %设初始值 f=inline('exp(x)+2^(-x)+2*cos(x)-6'); while abs(xn-xm)>=1e-6 x=xn-(feval(f,xn)*(xn-xm))/(feval(f,xn)-feval(f,xm)); xm=xn; xn=x; end x
while norm(x-x0,'inf')>=1e-6
Gauss-Seidel 迭代程序运算结果:
分析
由计算结果可见,Jacobi迭代法和Gauss-Seidel求解的结果非常接近。为此我们用 x的计算值与真实值之差的2-范数作为误差来衡量两种方法的优劣,在命令行输 入norm(x-A\b,2),Jacobi迭代法的误差结果为1.172109617472753e-06, Gauss-Seidel迭代的误差结果为4.812414751512495e-07,这表明Gauss-Seidel迭代 法具有更高的计算精度。这是因为Jacobi迭代法对已计算出来的信息未加以充分 利用,一般来说,后面的计算值比前面的计算值要准确些,而Gauss-Seidel迭代 考虑了这一点,因此具有更高的精度。
二、解线性方程组 1.分别 Jacobi 迭代法和 Gauss-Seidel 迭代法求解线性方程组
董波老师,大连理工大学,矩阵数值分析课件第一章
x f x dx
u f t , u , ut 0 u0
数值逼近(数值微分积分) 微分方程数值解法 矩阵分析简介
A
k k 0
A
k 0
k
f A e A、 sinA
dAt dt
b
a
A(t ) dt
解决实际问题: 一、构造计算机可行的有效算法 二、给出可靠的理论分析,即对任意逼近达到精度要求,保证 数值算法的收敛性和数值稳定性,并可进行误差分析。 三、有好的计算复杂性,既要时间复杂性好,是指节省时 间,又要空间复杂性好,是指节省存储量,这也是建立算法要 研究的问题,它关系到算法能否在计算机上实现。 四、数值实验,即任何一个算法除了从理论上要满足上述 三点外,还要通过数值试验证明是行之有效的。
26!=4.0329×1026(次)
若使用每秒百亿次的串行计算机计算, 一年可进行的运算应为:
365(天) × 24(小时) × 3600(秒) × 1010 ≈ 3.1536 × 1017 (次)
共需要耗费时间为:
26 4.0329 10
3.1536 10 1.278810 13(亿年)
17
9
它远远超出目前所了解的人类文明历史!
Cramer 算法是“实际计算不了”的。 而著名的 Gauss消元法,它的计算过程已作根本改进, 成为有效算法,使得可在不到一秒钟之内即可完成上述计算 任务。 随着科学技术的发展,出现的数学问题也越来越多样化, 有些问题用消去法求解达不到精度,甚至算不出结果,从而
大连理工矩阵与数值分析试题
大 连 理 工 大 学
课 程 名 称: 矩阵与数值分析 试 卷: 统一 考试类型 闭卷 授课院 (系): 数 学 系 考试日期:2010年1月12日 试卷共 8页
一、 填空与判断题(⨯或√),每空 2 分,共50分
(1) 已知2009.12a =,2010.01b =分别是按四舍五入原则得到的1x 和2x 近似值,那么,1x a -≤ ;
2x b b
-≤ ;12x x ab -≤ 。
(2)[]0,1上权函
数()x x ρ=的正交多项式族中()1x φ= ;
()()1
5
350
x
x x φ+=⎰ 。
(3) 已知存在实数R 使曲线2y x =和()2
228y x R +-=相切。求切点横坐标近似值的Newton 迭代公式为 。
(4) 设1221⎛⎫ ⎪-⎝⎭
A =,则它的奇异值为 。
(5)若取1101⎡⎤
=⎢⎥⎣⎦
A ,则10
d t
e t =⎰A 。 (6) 若1<A ,则()
1
--≤I A 。
(7) 已知(),(),()f a h f a f a h -+,计算一阶数值导数的公式是:
()f a '= 2()O h +;取()f x =0.001h =,
那么,用此公式计算(2)f '的近似值时,为避免误差的危害,应该写成:
(2)f '≈ 。
姓名: 学号: 院系:
矩阵数值分析 班
主讲教师
装
订
线
(8) 已知0.2510.25⎛⎫= ⎪
⎝
⎭A ,则0k
k ∞
==∑A 。 (9) 设,n
≠∈C s 0则
()
2
T
=ss s,s 。
(10) 求解微分方程(0)2u t u
u '=-⎧⎨=⎩,的Euler 法公式为 ;