Matlab第五章

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Matlab 第五章
5.1用LU 分解求解下列线性方程组
⎪⎪⎩⎪⎪⎨⎧=--+=-+-=+-=+-+0
466
2975135243214314214321x x x x x x x x x x x x x x 在命令窗口中构造矩阵A,B 对A 进行LU 分解,再通过算式X=U\(L\B)计算方程组的解 程序如下
A=[2,1,-5,1;1,-5,0,7;2,0,1,-1;1,6,-1,-4]%构造A 矩阵
A =
2 1 -5 1
1 -5 0 7
2 0 1 -1
1 6 -1 -4
>> [L,U]=lu(A)%对A 进行LU 分解
L =
1.0000 0 0 0
0.5000 1.0000 0 0
1.0000 0.1818 1.0000 0
0.5000 -1.0000 0.7213 1.0000
U =
2.0000 1.0000 -5.0000 1.0000
0 -5.5000 2.5000 6.5000
0 0 5.5455 -3.1818
0 0 0 4.2951
>> B=[13;-9;6;0];%构造矩阵B
>> X=U\(L\B)%求解解向量
X =
2.4351
-3.9008
-3.2901
-4.4198
5.2设()+=x ,,f z y x z
y z x 24y 22++,求函数f 在(0.5,0.5,0.5)附近的最小值 解:在命令窗口中构造函数,并求函数在自变量向量[0.5,0.5,0.5]附近时的最小值 fun=inline('x(1)+(x(2)^2)/x(1)/4+x(3)^2/x(2)+2/x(3)','x')%构造三元函数
>> [x,fval]=fminsearch(fun,[0.5,0.5,0.5])%在[0.5,0.5,0.5]附近求最小值
x =
0.5000 1.0000 1.0000
fval =
4.0000
5.5设有初值问题:
⎩⎨⎧2)0()1(422'
=+--=y t t y y 1t 0≤≤ 试求其数值解,并与其下面的精确解作比较
11)(y ++=t t 解:对11)(y ++=t t 进行求导整理以实现数值解与精确解的比较,建立ode 文件程序如下,命名为OdeFun3.m
function dy=OdeFun3(t,y)
dy=zeros(2,1);
dy(1)=((y(1)^2-t-2)/4)/(t+1);
dy(2)=1/(2*sqrt(t+1));
end
在命令窗口中输入
[t,y]=ode45('OdeFun3',[0 1],[2;2]);
plot(t,y(:,1),'-',t,y(:,2),'.')
其图形如下。

相关文档
最新文档