MATLAB程序设计实验6报告
- 格式:doc
- 大小:66.50 KB
- 文档页数:7
MATLAB 程序设计实验6
解方程和最优化问题求解
一.实验目的
1. 掌握线性方程组的数值求解方法。
2. 掌握常微分方程的数值求解方法。
3. 掌握非线性方程以及最优化问题的求解方法。
二.实验内容
1. 对下列线性病态方程组:
1231/21/31/40.951/31/41/50.671/41/51/60.52x x x ⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎣⎦
a) 求方程组的解。
>> A=[1/2,1/3,1/4;1/3,1/4,1/5;1/4,1/5,1/6]; >> b=[0.95,0.67,0.52]'; >> x=A\b x =
1.2000 0.6000 0.6000
b) 将方程组右边的向量元素b 3(0.52)修改为0.53,再次求方程组的解。比较b 3的
变化和解的相对变化。
>> A=[1/2,1/3,1/4;1/3,1/4,1/5;1/4,1/5,1/6]; b=[0.95,0.67,0.53]'; x=A\b x =
3.0000 -6.6000 6.6000
c) 求系数矩阵的条件数,并分析条件数对线性方程组求解的影响。
2. 求方程的解。
a)
413010,1x x x ++==-
函数文件:funx.m function fx=funx(x) fx=x^41+x^3+1;
调用:
>> z=fzero(@funx,-1) z =
-0.9525 b)
0sin 0,0.5x
x x x
-
== 函数文件funx.m
function fx=funx(x) fx=x-sin(x)./x;
>> z=fzero(@funx,0.5) z =
0.8767
c)23
sin ln 70321050
y x y z x z x y z ⎧++-=⎪+-+=⎨⎪++-=⎩
,0001
11x y z =⎧⎪=⎨⎪=⎩
函数文件:funx.m
>> z=fzero(@funx,0.5) z =
0.8767 调用函数:
>> options=optimset('Display','off'); >> x=fsolve(@funx,[1,1,1]',options) x =
0.5991 2.3959 2.0050
3. 求常微分方程的数值解。
a)
()' 1.2sin100y t y ++=,()000,5,1f t t y t ===
函数文件:
function yp=funx(t,y) yp=-(1.2+sin(10*t)).*y;
函数调用:
>> t0=0;
>> tf=5;
>> y0=1;
>> [t,y]=ode23(@funx,[t0,tf],y0);
>> t'
ans =
Columns 1 through 9
0 0.0667 0.1375 0.2003 0.2695 0.3528 0.4362
0.5033 0.5663
Columns 10 through 18
0.6369 0.6913 0.7457 0.8081 0.8738 0.9591 1.0277
1.0963 1.1600
Columns 19 through 27
1.2246 1.3082 1.3714 1.4347 1.5001 1.5842 1.6530
1.7219 1.7858
Columns 28 through 36
1.8501 1.9319 1.9953
2.0587 2.1236 2.2053 2.2745
2.3438 2.4080
Columns 37 through 45
2.4719 2.5501 2.6140 2.6779 2.7419 2.8193 2.9046
2.9685
3.0323
Columns 46 through 54
3.0959 3.1721 3.2364 3.3007 3.3642 3.4395 3.5328
3.5965 3.6602
Columns 55 through 63
3.7238 3.7998 3.8642 3.9286 3.9920
4.0671 4.1408
4.2144 4.2800
Columns 64 through 72
4.3432 4.4159 4.4812 4.5465 4.6094 4.6812 4.7567 4.8322 4.8990
Columns 73 through 74
4.9620
5.0000
>> y'
ans =
Columns 1 through 9
1.0000 0.9035 0.7822 0.6823 0.5984 0.5402 0.5182 0.5106 0.4976
Columns 10 through 18
0.4656 0.4280 0.3844 0.3355 0.2936 0.2595 0.2469 0.2421 0.2382
Columns 19 through 27
0.2290 0.2054 0.1819 0.1585 0.1387 0.1225 0.1164 0.1140 0.1122
Columns 28 through 36
0.1080 0.0974 0.0864 0.0753 0.0658 0.0581 0.0549 0.0537 0.0529
Columns 37 through 45
0.0511 0.0466 0.0415 0.0361 0.0316 0.0278 0.0258 0.0253 0.0249
Columns 46 through 54
0.0241 0.0221 0.0197 0.0172 0.0150 0.0132 0.0122 0.0119 0.0117
Columns 55 through 63