文档库 最新最全的文档下载
当前位置:文档库 › 偏微分方程上机实验报告.doc

偏微分方程上机实验报告.doc

偏微分方程上机实验报告.doc
偏微分方程上机实验报告.doc

上机实验2:五点差分格式法

偏微分方程(Matlab )实验报告

——五点差分格式法 一、 实验题目

设G 是形如下图的十字形域,由五个相等的单位正方形组成,用五点差分格式求下列边值问题的数值解:

22

2

21,u u

G x y ??+=-???于u=0,于G

二、 实验原理

取定沿X 轴和Y 轴方向的步长1h 和2h ,()

12

22

1

2

h h h =+,作两族与坐

标轴平行的直线:x=i 1h ,y=j 2h ,,0,1,2,i j =±±

若(,i j x y )为正则内点,沿x,y 方向分别用二阶中心差商代替

xx yy u u 和则得

1,1,,1,1

2

212

22[

]i j ij i j

i j ij i j ij u u u u u u f h h +-+--+-+-+

=

特别取正方形网格:12h h h ==,则原差分方程可简化为

2

1,,11,,11()44

ij i j i j i j i j ij h u u u u u f --++-+++=

三、 实验程序

1)function uxy = EllIni2Uxl(x,y)

format long ;

uxy = 0;

2)function uxy = EllIni2Uxr(x,y)

format long;

uxy = y*(2-y);

3)function uxy = EllIni2Uyl(x,y)

format long;

uxy = 0;

4)function uxy = EllIni2Uyr(x,y)

format long;

if x < 1

uxy = x;

else

uxy = 2 - x;

end

5)function u = peEllip5(nx,minx,maxx,ny,miny,maxy) format long;

hx = (maxx-minx)/(nx-1);

hy = (maxy-miny)/(ny-1);

u0 = zeros(nx,ny);

for j=1:ny

u0(j,1) = EllIni2Uxl(minx,miny+(j-1)*hy);

u0(j,nx) = EllIni2Uxr(maxx,miny+(j-1)*hy);

end

for j=1:nx

u0(1,j) = EllIni2Uyl(minx+(j-1)*hx,miny);

u0(ny,j) = EllIni2Uyr(minx+(j-1)*hx,maxy);

end

A = -4*eye((nx-2)*(ny-2),(nx-2)*(ny-2));

b = ones((nx-2)*(ny-2),1).*(-1);

for i=1:(nx-2)*(ny-2)

if mod(i,nx-2) == 1

if i==1

A(1,2) = 1;

A(1,nx-1) = 1;

b(1) = - u0(1,2) - u0(2,1);

else

if i == (ny-3)*(nx-2)+1

A(i,i+1) = 1;

A(i,i-nx+2) = 1;

b(i) = - u0(ny-1,1) - u0(ny,2);

else

A(i,i+1) = 1;

A(i,i-nx+2) = 1;

A(i,i+nx-2) = 1;

b(i) = - u0(floor(i/(nx-2))+2,1);

end

end

else

if mod(i,nx-2) == 0

if i == nx-2

A(i,i-1) = 1;

A(i,i+nx-2) = 1;

b(i) = - u0(1,nx-1) - u0(2,nx);

else

if i == (ny-2)*(nx-2)

A(i,i-1) = 1;

A(i,i-nx+2) = 1;

b(i) = - u0(ny-1,nx) - u0(ny,nx-1);

else

A(i,i-1) = 1;

A(i,i-nx+2) = 1;

A(i,i+nx-2) = 1;

b(i) = - u0(floor(i/(nx-2))+1,nx);

end

end

else

if i>1 && i< nx-2

A(i,i-1) = 1;

A(i,i+nx-2) = 1;

A(i,i+1) = 1;

b(i) = - u0(1,i+1);

else

if i > (ny-3)*(nx-2) && i < (ny-2)*(nx-2) A(i,i-1) = 1;

A(i,i-nx+2) = 1;

A(i,i+1) = 1;

b(i) = - u0(ny,mod(i,(nx-2))+1);

else

A(i,i-1) = 1;

A(i,i+1) = 1;

A(i,i+nx-2) = 1;

A(i,i-nx+2) = 1;

end

end

end

end

end

ul = A\b;

for i=1:(ny-2)

for j=1:(nx-2)

u(i,j) = ul((i-1)*(nx-2)+j);

end

end

format short;

四、实验结果

>> u=peEllip5(25,0,3,25,0,3)

u =

Columns 1 through 6

1.1448

2.2896

3.2671

4.0750 4.7372

5.2763

2.2896 4.7466 6.7036 8.2957 9.5977 10.6583

3.2670 6.7035 9.5050 11.8066 13.6994 15.2474

4.0749 8.2955 11.8064 14.7262 17.1460 19.1351

4.7370 9.5973 13.6990 17.1457 20.0233 22.4011

5.2759 10.6576 15.2465 19.1343 22.4005 25.1120

5.7089 11.5108 1

6.4951 20.7444 24.3324 2

7.3228

6.0490 12.1816 1

7.4787 22.0159 25.8619 29.0775

6.3055 12.6880 18.2221 22.9785 2

7.0220 30.4106

6.4851 13.0426 18.7432 23.6540 2

7.8369 31.3481

6.5922 13.2542 19.0543 24.0573 28.3237 31.9082

6.6294 13.3278 19.1623 24.1973 28.4924 32.1019

6.5977 13.2651 19.0700 24.0771 28.3467 31.9332

6.4964 13.0648 18.7754 23.6946 2

7.8841 31.3995

6.3231 12.7225 18.2720 23.0417 2

7.0957 30.4911

6.0736 12.2298 1

7.5486 22.1047 25.9657 29.1913

5.7415 11.5747 1

6.5879 20.8626 24.4710 2

7.4756

5.3175 10.7395 15.3659 19.2868 22.5803 25.3113

4.7891 9.7000 13.8492 17.3385 20.2519 22.6562

4.1389 8.4221 11.9923 14.9662 17.4326 19.4577

3.3445 6.8572 9.7318 12.1014 1

4.0546 1

5.6515

2.3820 4.9303 6.9762 8.6530 10.0330 11.1607

1.2532

2.5058

3.5896

4.5016

5.2637 5.8950 Columns 7 through 12

5.7095

6.0499 6.3068 6.4869 6.5946 6.6327 11.5119 12.1833 12.6905 13.0461 13.2590 13.3341 16.4966 1

7.4810 1

8.2256 18.7482 1

9.0610 19.1713 20.7461 22.0186 22.9826 23.6600 24.0656 24.2085 24.3339 25.8647 27.0264 27.8435 28.3330 28.5051 27.3238 29.0798 30.4148 31.3547 31.9178 32.1153 29.7693 31.7160 33.1982 34.2426 34.8684 35.0871 31.7146 33.8168 35.4193 36.5492 37.2260 37.4615

33.1947 35.4172 37.1129 38.3090 39.0249 39.2728

34.2366 36.5445 38.3062 39.5489 40.2920 40.5475

34.8591 37.2178 39.0186 40.2884 41.0465 41.3051

35.0737 37.4491 39.2621 40.5395 41.3007 41.5577 34.8848 37.2427 39.0411 40.3067 41.0590 41.3099 34.2896 36.5959 38.3529 39.5873 40.3187 40.5588 33.2780 35.4985 37.1872 38.3711 39.0695 39.2944 31.8328 33.9329 35.5265 36.6403 37.2938 37.4988 29.9289 31.8739 33.3454 34.3698 34.9665 35.1472 27.5331 29.2885 30.6112 31.5272 32.0552 32.2070 24.6039 26.1358 27.2838 28.0725 28.5202 28.6384 21.0904 22.3671 23.3156 23.9590 24.3148 24.3945 16.9329 17.9266 18.6526 19.1329 19.3854 19.4216 12.0633 12.7537 13.2351 13.5347 13.6723 13.6596 6.4058 6.7898 6.9996 7.0985 7.1096 7.0427

Columns 13 through 18

6.6020 6.5019 6.3302 6.0826 5.7530 5.3325 13.2733 13.0755 12.7361 12.2473 11.5970 10.7682 19.0818 18.7906 18.2915 1

7.5734 16.6195 15.4061 24.0918 23.7135 23.0660 22.1354 20.9014 19.3358 2

8.3635 27.9059 27.1234 26.0007 24.5150 22.6350 31.9512 31.4230 30.5211 2

9.2291 27.5227 25.3694 34.9031 34.3137 33.3090 31.8719 29.9775 27.5926 37.2603 36.6196 35.5294 33.9721 31.9226 29.3480

39.0571 38.3751 37.2167 35.5644 33.3930 30.6698

40.3201 39.6070 38.3981 36.6757 34.4151 31.5837

41.0688 40.3347 39.0928 37.3254 35.0078 32.1078 41.3152 40.5704 39.3129 37.5254 35.1829 32.2534 41.0640 40.3185 39.0632 37.2803 34.9450 32.0249 40.3124 39.5766 38.3409 36.5877 34.2917 31.4203 39.0503 38.3344 37.1363 35.4380 33.2139 30.4309 37.2600 36.5745 35.4318 33.8140 31.6951 29.0414 34.9165 34.2716 33.2024 31.6909 29.7112 27.2288

31.9871 31.3931 30.4153 29.0362 27.2300 24.9623

28.4318 27.8985 27.0295 25.8084 24.2105 22.2018

24.2032 23.7396 22.9959 21.9575 20.6016 18.8966

19.2468 18.8607 18.2571 17.4239 16.3420 14.9838

13.5018 13.1993 12.7480 12.1390 11.3586 10.3859

6.9016 6.6868 6.3964 6.0257 5.5674 5.0103 Columns 19 through 23

4.8087 4.1651 3.3801 2.4318 1.3254

9.7373 8.4714 6.9236 5.0218 2.6352

13.9009 12.0597 9.8209 7.0967 3.7561

17.4005 15.0454 12.2038 8.7880 4.6832

20.3200 17.5175 14.1611 10.1681 5.4388

22.7271 19.5436 15.7548 11.2845 6.0445

24.6754 21.1749 17.0301 12.1707 6.5173

26.2071 22.4504 18.0201 12.8507 6.8697

27.3546 23.3995 18.7492 13.3421 7.1109

28.1421 24.0436 19.2352 13.6577 7.2475

28.5864 24.3978 19.4901 13.8060 7.2840

28.6980 24.4711 19.5214 13.7923 7.2230

28.4809 24.2673 19.3322 13.6187 7.0657

27.9336 23.7849 18.9214 13.2846 6.8118

27.0481 23.0174 18.2838 12.7864 6.4595

25.8106 21.9528 17.4100 12.1176 6.0055

24.2003 20.5732 16.2859 11.2686 5.4449

22.1885 18.8537 14.8917 10.2260 4.7711

19.7377 16.7613 13.2014 8.9724 3.9762

16.7993 14.2523 11.1802 7.4861 3.0518

13.3107 11.2685 8.7810 5.7401 1.9949

9.1911 7.7299 5.9352 3.6985 0.8282

4.3378 3.5247 2.5313 1.2905 -0.3180

>>

偏微分方程数值解实验报告

偏微分方程数值解实验报告

1、用有限元方法求下列边值问题的数值解:''()112x -y +y =2s i n ,0∈∈??∈(0,)?, 其中取1ν= 要求画出解曲面。迭代格式如下: 1221212111111111122142212n n n n n n j j j j j j n n n n n n j j j j j j V V V V V V h h V V V V V V h h τ++++++++++-+-??-()-()()-()??++?????? ??-+-+??=+??????

1、 %Ritz Galerkin方法求解方程 function u1=Ritz(x) %定义步长 h=1/100; x=0:h:1; n=1/h; a=zeros(n-1,1); b=zeros(n,1); c=zeros(n-1,1); d=zeros(n,1); %求解Ritz方法中内点系数矩阵 for i=1:1:n-1 b(i)=(1/h+h*pi*pi/12)*2; d(i)=h*pi*pi/2*sin(pi/2*(x(i)+h))/2+h*pi*pi/2*sin(pi/2*x(i+1))/2; end %右侧导数条件边界点的计算 b(n)=(1/h+h*pi*pi/12); d(n)=h*pi*pi/2*sin(pi/2*(x(i)+h))/2; for i=1:1:n-1 a(i)=-1/h+h*pi*pi/24; c(i)=-1/h+h*pi*pi/24; end %调用追赶法 u=yy(a,b,c,d) %得到数值解向量 u1=[0,u] %对分段区间做图 plot(x,u1) %得到解析解 y1=sin(pi/2*x); hold on plot(x,y1,'o') legend('数值解','解析解') function x=yy(a,b,c,d) n=length(b); q=zeros(n,1); p=zeros(n,1); q(1)=b(1); p(1)=d(1); for i=2:1:n

数据分析实验报告

数据分析实验报告 文稿归稿存档编号:[KKUY-KKIO69-OTM243-OLUI129-G00I-FDQS58-

第一次试验报告 习题1.3 1建立数据集,定义变量并输入数据并保存。 2数据的描述,包括求均值、方差、中位数等统计量。 分析—描述统计—频率,选择如下: 输出: 统计量 全国居民 农村居民 城镇居民 N 有效 22 22 22 缺失 均值 1116.82 747.86 2336.41 中值 727.50 530.50 1499.50 方差 1031026.918 399673.838 4536136.444 百分位数 25 304.25 239.75 596.25 50 727.50 530.50 1499.50 75 1893.50 1197.00 4136.75 3画直方图,茎叶图,QQ 图。(全国居民) 分析—描述统计—探索,选择如下: 输出: 全国居民 Stem-and-Leaf Plot Frequency Stem & Leaf 5.00 0 . 56788 数据分析实验报告 【最新资料,WORD 文档,可编辑修改】

2.00 1 . 03 1.00 1 . 7 1.00 2 . 3 3.00 2 . 689 1.00 3 . 1 Stem width: 1000 Each leaf: 1 case(s) 分析—描述统计—QQ图,选择如下: 输出: 习题1.1 4数据正态性的检验:K—S检验,W检验数据: 取显着性水平为0.05 分析—描述统计—探索,选择如下:(1)K—S检验

结果:p=0.735 大于0.05 接受原假设,即数据来自正太总体。 (2 )W 检验 结果:在Shapiro-Wilk 检验结果972.00 w ,p=0.174大于0.05 接受原假设,即数据来自正太总体。 习题1.5 5 多维正态数据的统计量 数据:

数值分析实验报告1

实验一误差分析 实验1.1(病态问题) 实验目的:算法有“优”与“劣”之分,问题也有“好”与“坏”之别。对数值方法的研究而言,所谓坏问题就是问题本身对扰动敏感者,反之属于好问题。通过本实验可获得一个初步体会。 数值分析的大部分研究课题中,如线性代数方程组、矩阵特征值问题、非线性方程及方程组等都存在病态的问题。病态问题要通过研究和构造特殊的算法来解决,当然一般要付出一些代价(如耗用更多的机器时间、占用更多的存储空间等)。 问题提出:考虑一个高次的代数多项式 显然该多项式的全部根为1,2,…,20共计20个,且每个根都是单重的。现考虑该多项式的一个扰动 其中ε(1.1)和(1.221,,,a a 的输出b ”和“poly ε。 (1(2 (3)写成展 关于α solve 来提高解的精确度,这需要用到将多项式转换为符号多项式的函数poly2sym,函数的具体使用方法可参考Matlab 的帮助。 实验过程: 程序: a=poly(1:20); rr=roots(a); forn=2:21 n form=1:9 ess=10^(-6-m);

ve=zeros(1,21); ve(n)=ess; r=roots(a+ve); -6-m s=max(abs(r-rr)) end end 利用符号函数:(思考题一)a=poly(1:20); y=poly2sym(a); rr=solve(y) n

很容易的得出对一个多次的代数多项式的其中某一项进行很小的扰动,对其多项式的根会有一定的扰动的,所以对于这类病态问题可以借助于MATLAB来进行问题的分析。 学号:06450210 姓名:万轩 实验二插值法

西电数字信号处理上机实验报告

数字信号处理上机实验报告 14020710021 张吉凯 第一次上机 实验一: 设给定模拟信号()1000t a x t e -=,t 的单位是ms 。 (1) 利用MATLAB 绘制出其时域波形和频谱图(傅里叶变换),估计其等效带宽(忽略谱分量降低到峰值的3%以下的频谱)。 (2) 用两个不同的采样频率对给定的()a x t 进行采样。 ○1()()15000s a f x t x n =以样本秒采样得到。 ()()11j x n X e ω画出及其频谱。 ○2()()11000s a f x t x n =以样本秒采样得到。 ()() 11j x n X e ω画出及其频谱。 比较两种采样率下的信号频谱,并解释。 (1)MATLAB 程序: N=10; Fs=5; T s=1/Fs; n=[-N:T s:N]; xn=exp(-abs(n)); w=-4*pi:0.01:4*pi; X=xn*exp(-j*(n'*w)); subplot(211) plot(n,xn); title('x_a(t)时域波形'); xlabel('t/ms');ylabel('x_a(t)'); axis([-10, 10, 0, 1]); subplot(212); plot(w/pi,abs(X)); title('x_a(t)频谱图'); xlabel('\omega/\pi');ylabel('X_a(e^(j\omega))');

ind = find(X >=0.03*max(X))*0.01; eband = (max(ind) -min(ind)); fprintf('等效带宽为%fKHZ\n',eband); 运行结果: 等效带宽为12.110000KHZ

差分法求解偏微分方程MAAB

南京理工大学 课程考核论文 课程名称:高等数值分析 论文题目:有限差分法求解偏微分方程 姓名:罗晨 学号: 成绩: 有限差分法求解偏微分方程 一、主要内容 1.有限差分法求解偏微分方程,偏微分方程如一般形式的一维抛物线型方程:具体求解的偏微分方程如下: 2.推导五种差分格式、截断误差并分析其稳定性; 3.编写MATLAB程序实现五种差分格式对偏微分方程的求解及误差分析;

4.结论及完成本次实验报告的感想。 二、推导几种差分格式的过程: 有限差分法(finite-differencemethods )是一种数值方法通过有限个微分方程近似求导从而寻求微分方程的近似解。有限差分法的基本思想是把连续的定解区域用有限个离散点构成的网格来代替;把连续定解区域上的连续变量的函数用在网格上定义的离散变量函数来近似;把原方程和定解条件中的微商用差商来近似,积分用积分和来近似,于是原微分方程和定解条件就近似地代之以代数方程组,即有限差分方程组,解此方程组就可以得到原问题在离散点上的近似解。 推导差分方程的过程中需要用到的泰勒展开公式如下: ()2100000000()()()()()()()......()(()) 1!2!! n n n f x f x f x f x f x x x x x x x o x x n +'''=+-+-++-+-(2-1) 求解区域的网格划分步长参数如下: 11k k k k t t x x h τ ++-=?? -=?(2-2) 2.1古典显格式 2.1.1古典显格式的推导 由泰勒展开公式将(,)u x t 对时间展开得 2,(,)(,)( )()(())i i k i k k k u u x t u x t t t o t t t ?=+-+-?(2-3) 当1k t t +=时有 21,112,(,)(,)( )()(())(,)()() i k i k i k k k k k i k i k u u x t u x t t t o t t t u u x t o t ττ+++?=+-+-??=+?+?(2-4) 得到对时间的一阶偏导数 1,(,)(,)()=()i k i k i k u x t u x t u o t ττ+-?+?(2-5) 由泰勒展开公式将(,)u x t 对位置展开得 223,,21(,)(,)()()()()(())2!k i k i k i i k i i u u u x t u x t x x x x o x x x x ??=+-+-+-??(2-6) 当11i i x x x x +-==和时,代入式(2-6)得

数据库上机实验报告

数据库实验 (第三次) 题目1 实验内容: 1. 检索上海产的零件的工程名称; 2. 检索供应工程J1零件P1的供应商号SNO; 3. 检索供应工程J1零件为红色的供应商号SNO; 4. 检索没有使用天津生产的红色零件的工程号JNO; 5. 检索至少用了供应商S1所供应的全部零件的工程号JNO; 6. 检索购买了零件P1的工程项目号JNO及数量QTY,并要求对查询的结果按数 量QTY降序排列。

1 select jname from j where jno in (select jno from spj where sno in (select sno from s where city ='上海' ) ); 2 select sno from spj where jno ='j1'and pno ='p1' 3

selectdistinct sno from spj where pno in (select pno from p where color='红'and pno in (select pno from spj where jno ='j1' ) ); 4 selectdistinct jno from spj where pno notin (select pno from p where color ='红'and pno in (select pno from spj where sno in (select sno from s where city ='天津' ) ) )

5 select jno from spj where sno ='s1' 6 select jno,qty from spj where pno ='p1' orderby qty desc 四﹑思考题 1.如何提高数据查询和连接速度。 建立视图 2. 试比较连接查询和嵌套查询 有些嵌套查询是可以用连接来代替的,而且使用连接的方式,性能要比 嵌套查询高出很多 当查询涉及多个关系时,用嵌套查询逐步求解结构层次清楚,易于构造,具有结构化程序设计的优点。但是相比于连接运算,目前商用关系数据库管理系统对嵌套查询的优化做的还不够完善,所以在实际应用中,能够用连接运算表达的查询尽可能采用连接运算。

数字信号处理上机实验代码

文件名:tstem.m(实验一、二需要) 程序: f unction tstem(xn,yn) %时域序列绘图函数 %xn:被绘图的信号数据序列,yn:绘图信号的纵坐标名称(字符串)n=0:length(xn)-1; stem(n,xn,'.'); xlabel('n');ylabel('yn'); axis([0,n(end),min(xn),1.2*max(xn)]); 文件名:tplot.m(实验一、四需要) 程序: function tplot(xn,T,yn) %时域序列连续曲线绘图函数 %xn:信号数据序列,yn:绘图信号的纵坐标名称(字符串) %T为采样间隔 n=0;length(xn)-1;t=n*T; plot(t,xn); xlabel('t/s');ylabel(yn); axis([0,t(end),min(xn),1.2*max(xn)]); 文件名:myplot.m(实验一、四需要)

%(1)myplot;计算时域离散系统损耗函数并绘制曲线图。function myplot(B,A) %B为系统函数分子多项式系数向量 %A为系统函数分母多项式系数向量 [H,W]=freqz(B,A,1000) m=abs(H); plot(W/pi,20*log10(m/max(m)));grid on; xlabel('\omega/\pi');ylabel('幅度(dB)') axis([0,1,-80,5]);title('损耗函数曲线'); 文件名:mstem.m(实验一、三需要) 程序: function mstem(Xk) %mstem(Xk)绘制频域采样序列向量Xk的幅频特性图 M=length(Xk); k=0:M-1;wk=2*k/M;%产生M点DFT对应的采样点频率(关于pi归一化值) stem(wk,abs(Xk),'.');box on;%绘制M点DFT的幅频特性图xlabel('w/\pi');ylabel('幅度'); axis([0,2,0,1.2*max(abs(Xk))]); 文件名:mpplot.m(实验一需要)

偏微分方程数值解实验报告

精品文档 偏微分方程数值解 上 机 实 验 报 告 (一)实验一 一、上机题目: 用线性元求解下列边值问题的数值解:

精品文档 ′′22?? ?? ??,0

精品文档 (二)实验二 四、上机题目: 求解 Helmholtz 方程的边值问题: u k 2u 1 ,于(0,1)*(0,1) u0,于1{ x0,0y1} U{0x1, y 1} 1{ x0,0y1} U{0x1, y1} u 0,于2{0x1, y 0} U { x1,0y1} n 其中 k=1,5,10,15,20 五、实验程序:

C上机实验报告实验四

实验四数组、指针与字符串 1.实验目的 1.学习使用数组 2.学习字符串数据的组织和处理 3.学习标准C++库的使用 4.掌握指针的使用方法 5.练习通过Debug观察指针的内容及其所指的对象的内容 6.联系通过动态内存分配实现动态数组,并体会指针在其中的作用 7.分别使用字符数组和标准C++库练习处理字符串的方法 2.实验要求 1.编写并测试3*3矩阵转置函数,使用数组保存3*3矩阵。 2.使用动态内存分配生成动态数组来重新完成上题,使用指针实现函数的功能。 3.编程实现两字符串的连接。要求使用字符数组保存字符串,不要使用系统函数。 4.使用string类定义字符串对象,重新实现上一小题。 5.定义一个Employee类,其中包括姓名、街道地址、城市和邮编等属性,以及change_name()和display()等函数。Display()显示姓名、街道地址、城市和邮编等属性,change_name()改变对象的姓名属性。实现并测试这个类。 6.定义包含5个元素的对象数组,每个元素都是Employee类型的对象。 7. (选做)修改实验4中的选做实验中的people(人员)类。具有的属性如下:姓名char name[11]、编号char number[7]、性别char sex[3]、生日birthday、身份证号char id[16]。其中“出生日期”定义为一个“日期”类内嵌对象。用成员函数实现对人员信息的录入和显示。要求包括:构造函数和析构函数、拷贝构造函数、内联成员函数、聚集。在测试程序中定义people类的对象数组,录入数据并显示。 3.实验内容及实验步骤 1.编写矩阵转置函数,输入参数为3*3整形数组,使用循环语句实现矩阵元素的行列对调,注意在循环语句中究竟需要对哪些元素进行操作,编写main()函数实现输入、输出。程序名:lab6_1.cpp。 2.改写矩阵转置函数,参数为整型指针,使用指针对数组元素进行操作,在main()函数中使用new操作符分配内存生成动态数组。通过Debug观察指针的内容及其所指的对象中的内容。程序名:lab6_2.cpp。 3.编程实现两字符串的连接。定义字符数组保存字符串,在程序中提示用户输入两个字符串,实现两个字符串的连接,最后用cout语句显示输出。程序名:lab6_3.cpp。用cin实现输入,注意,字符串的结束标志是ASCII码0,使用循环语句进行字符串间的字符拷贝。 4.使用string类定义字符串对象,编程实现两字符串的连接。在string类中已重载了运算符“+=”实现字符串的连接,可以使用这个功能。程序名:lab6_4.cpp。 5.在employee.h文件中定义Employee类。Employee类具有姓名、街道地址、城市和邮编等私有数据成员,在成员函数中,构造函数用来初始化所有数据成员;display()中使用cout显示

数值分析上机实验报告

数值分析上机实验报告

《数值分析》上机实验报告 1.用Newton 法求方程 X 7-X 4+14=0 在(0.1,1.9)中的近似根(初始近似值取为区间端点,迭代6次或误差小于0.00001)。 1.1 理论依据: 设函数在有限区间[a ,b]上二阶导数存在,且满足条件 {}α?上的惟一解在区间平方收敛于方程所生的迭代序列 迭代过程由则对任意初始近似值达到的一个中使是其中上不变号 在区间],[0)(3,2,1,0,) (') ()(],,[x |))(),((|,|,)(||)(|.4;0)(.3],[)(.20 )()(.110......b a x f x k x f x f x x x Newton b a b f a f mir b a c x f a b c f x f b a x f b f x f k k k k k k ==- ==∈≤-≠>+ 令 )9.1()9.1(0)8(4233642)(0)16(71127)(0)9.1(,0)1.0(,1428)(3 2 2 5 333647>?''<-=-=''<-=-='<>+-=f f x x x x x f x x x x x f f f x x x f 故以1.9为起点 ?? ?? ? ='- =+9.1)()(01x x f x f x x k k k k 如此一次一次的迭代,逼近x 的真实根。当前后两个的差<=ε时,就认为求出了近似的根。本程序用Newton 法求代数方程(最高次数不大于10)在(a,b )区间的根。

1.2 C语言程序原代码: #include #include main() {double x2,f,f1; double x1=1.9; //取初值为1.9 do {x2=x1; f=pow(x2,7)-28*pow(x2,4)+14; f1=7*pow(x2,6)-4*28*pow(x2,3); x1=x2-f/f1;} while(fabs(x1-x2)>=0.00001||x1<0.1); //限制循环次数printf("计算结果:x=%f\n",x1);} 1.3 运行结果: 1.4 MATLAB上机程序 function y=Newton(f,df,x0,eps,M) d=0; for k=1:M if feval(df,x0)==0 d=2;break else x1=x0-feval(f,x0)/feval(df,x0); end e=abs(x1-x0); x0=x1; if e<=eps&&abs(feval(f,x1))<=eps d=1;break end end

数字信号处理上机实验(第三版)

数字信号处理实验(Matlab) 实验一: 系统响应及系统稳定性 %实验1:系统响应及系统稳定性 close all;clear all %======内容1:调用filter解差分方程,由系统对u(n)的响应判断稳定性====== A=[1,-0.9];B=[0.05,0.05]; %系统差分方程系数向量B和A x1n=[1 1 1 1 1 1 1 1 zeros(1,50)]; %产生信号x1(n)=R8(n) x2n=ones(1,128); %产生信号x2(n)=u(n) hn=impz(B,A,58); %求系统单位脉冲响应h(n) subplot(2,2,1);y='h(n)';tstem(hn,y); %调用函数tstem绘图 title('(a)系统单位脉冲响应h(n)');box on y1n=filter(B,A,x1n); %求系统对x1(n)的响应y1(n) subplot(2,2,2);y='y1(n)';tstem(y1n,y); title('(b)系统对R8(n)的响应y1(n)');box on y2n=filter(B,A,x2n); %求系统对x2(n)的响应y2(n) subplot(2,2,4);y='y2(n)';tstem(y2n,y); title('(c)系统对u(n)的响应y2(n)');box on %===内容2:调用conv函数计算卷积============================ x1n=[1 1 1 1 1 1 1 1 ]; %产生信号x1(n)=R8(n) h1n=[ones(1,10) zeros(1,10)]; h2n=[1 2.5 2.5 1 zeros(1,10)];

偏微分方程数值及matlab实验报告.docx

偏微分方程数值实验报告八 实验题目:利用有限差分法求解 u ( x) u(x) f (x), u( 1) 0, u(1) 0. 真解为 u( x) e x 2 (1 x 2 ) 实现算法:对于两点边值问题 d 2u f , x l , dx 2 (1) u(a),u(b) , 其中 l ( a, b) (a b), f 为 l [ a,b] 上的连续函数, , 为给定常数 . 其相应的有限差分法的算法如下: 1.对求解区域做网格剖分,得到计算网格 .在这里我们对区间 l 均匀剖分 n 段,每个剖分单元 b a 的剖分步长记为 h . n 2.对微分方程中的各阶导数进行差分离散,得到差分方程 .运用的离散方法有: 方法一 :用待定系数和泰勒展开进行离散 d 2u( x i ) i 1 u( x i 1) i u( x i ) i 1 u( x i 1) d( x i )2 方法二:利用差商逼近导数 d 2u( x i ) u( x i 1 ) 2u( x i ) u( x i 1 ) d( x i )2 h 2 将(2) 带入 (1)可以得到 u(x i 1) 2u(x i ) u(x i 1 ) ) R i (u) , h 2 f ( x i 其中 R i (u) 为无穷小量,这时我们丢弃 R i (u) ,则有在 x i 处满足的计算公式: u(x i 1) 2u( x i ) u( x i 1 ) 1,..., n 1 h 2 f ( x i ), i 3.根据边界条件,进行边界处理 .由 (1)可得 u 0 , u n (2) (3) (4) 称(3)(4)为逼近 (1) 的差分方程,并称相应的数值解向量 U n 1 为差分解, u i 为 u( x i ) 的近似值 . 4.最后求解线性代数方程组,得到数值解向量U n 1 .

数值分析拉格朗日插值法上机实验报告

课题一:拉格朗日插值法 1.实验目的 1.学习和掌握拉格朗日插值多项式。 2.运用拉格朗日插值多项式进行计算。 2.实验过程 作出插值点(1.00,0.00),(-1.00,-3.00),(2.00,4.00)二、算法步骤 已知:某些点的坐标以及点数。 输入:条件点数以及这些点的坐标。 输出:根据给定的点求出其对应的拉格朗日插值多项式的值。 3.程序流程: (1)输入已知点的个数; (2)分别输入已知点的X坐标; (3)分别输入已知点的Y坐标; 程序如下: #include #include #include float lagrange(float *x,float *y,float xx,int n) /*拉格朗日

插值算法*/ { int i,j; float *a,yy=0.0; /*a作为临时变量,记录拉格朗日插值多项*/ a=(float*)malloc(n*sizeof(float)); for(i=0;i<=n-1;i++) { a[i]=y[i]; for(j=0;j<=n-1;j++) if(j!=i) a[i]*=(xx-x[j])/(x[i]-x[j]); yy+=a[i]; } free(a); return yy; } int main() { int i; int n; float x[20],y[20],xx,yy; printf("Input n:");

scanf("%d",&n); if(n<=0) { printf("Error! The value of n must in (0,20)."); getch();return 1; } for(i=0;i<=n-1;i++) { printf("x[%d]:",i); scanf("%f",&x[i]); } printf("\n"); for(i=0;i<=n-1;i++) { printf("y[%d]:",i);scanf("%f",&y[i]); } printf("\n"); printf("Input xx:"); scanf("%f",&xx); yy=lagrange(x,y,xx,n); printf("x=%f,y=%f\n",xx,yy); getch(); } 举例如下:已知当x=1,-1,2时f(x)=0,-3,4,求f(1.5)的值。

数字信号处理上机实验答案(全)1

第十章 上机实验 数字信号处理是一门理论和实际密切结合的课程,为深入掌握课程内容,最好在学习理论的同时,做习题和上机实验。上机实验不仅可以帮助读者深入的理解和消化基本理论,而且能锻炼初学者的独立解决问题的能力。本章在第二版的基础上编写了六个实验,前五个实验属基础理论实验,第六个属应用综合实验。 实验一 系统响应及系统稳定性。 实验二 时域采样与频域采样。 实验三 用FFT 对信号作频谱分析。 实验四 IIR 数字滤波器设计及软件实现。 实验五 FIR 数字滤波器设计与软件实现 实验六 应用实验——数字信号处理在双音多频拨号系统中的应用 任课教师根据教学进度,安排学生上机进行实验。建议自学的读者在学习完第一章后作实验一;在学习完第三、四章后作实验二和实验三;实验四IIR 数字滤波器设计及软件实现在。学习完第六章进行;实验五在学习完第七章后进行。实验六综合实验在学习完第七章或者再后些进行;实验六为综合实验,在学习完本课程后再进行。 10.1 实验一: 系统响应及系统稳定性 1.实验目的 (1)掌握 求系统响应的方法。 (2)掌握时域离散系统的时域特性。 (3)分析、观察及检验系统的稳定性。 2.实验原理与方法 在时域中,描写系统特性的方法是差分方程和单位脉冲响应,在频域可以用系统函数描述系统特性。已知输入信号可以由差分方程、单位脉冲响应或系统函数求出系统对于该输入信号的响应,本实验仅在时域求解。在计算机上适合用递推法求差分方程的解,最简单的方法是采用MA TLAB 语言的工具箱函数filter 函数。也可以用MATLAB 语言的工具箱函数conv 函数计算输入信号和系统的单位脉冲响应的线性卷积,求出系统的响应。 系统的时域特性指的是系统的线性时不变性质、因果性和稳定性。重点分析实验系统的稳定性,包括观察系统的暂态响应和稳定响应。 系统的稳定性是指对任意有界的输入信号,系统都能得到有界的系统响应。或者系统的单位脉冲响应满足绝对可和的条件。系统的稳定性由其差分方程的系数决定。 实际中检查系统是否稳定,不可能检查系统对所有有界的输入信号,输出是否都是有界输出,或者检查系统的单位脉冲响应满足绝对可和的条件。可行的方法是在系统的输入端加入单位阶跃序列,如果系统的输出趋近一个常数(包括零),就可以断定系统是稳定的[19]。系统的稳态输出是指当∞→n 时,系统的输出。如果系统稳定,信号加入系统后,系统输出的开始一段称为暂态效应,随n 的加大,幅度趋于稳定,达到稳态输出。 注意在以下实验中均假设系统的初始状态为零。 3.实验内容及步骤 (1)编制程序,包括产生输入信号、单位脉冲响应序列的子程序,用filter 函数或conv 函数求解系统输出响应的主程序。程序中要有绘制信号波形的功能。 (2)给定一个低通滤波器的差分方程为

数据分析实验报告

数据分析实验报告 【最新资料,WORD文档,可编辑修改】 第一次试验报告 习题1.3 1建立数据集,定义变量并输入数据并保存。 2数据的描述,包括求均值、方差、中位数等统计量。 分析—描述统计—频率,选择如下: 输出:

方差1031026.918399673.8384536136.444百分位数25304.25239.75596.25 50727.50530.501499.50 751893.501197.004136.75 3画直方图,茎叶图,QQ图。(全国居民) 分析—描述统计—探索,选择如下: 输出: 全国居民Stem-and-Leaf Plot Frequency Stem & Leaf 9.00 0 . 122223344 5.00 0 . 56788 2.00 1 . 03 1.00 1 . 7 1.00 2 . 3 3.00 2 . 689

1.00 3 . 1 Stem width: 1000 Each leaf: 1 case(s) 分析—描述统计—QQ图,选择如下: 输出: 习题1.1 4数据正态性的检验:K—S检验,W检验数据: 取显着性水平为0.05 分析—描述统计—探索,选择如下:(1)K—S检验 单样本Kolmogorov-Smirnov 检验 身高N60正态参数a,,b均值139.00

标准差7.064 最极端差别绝对值.089 正.045 负-.089 Kolmogorov-Smirnov Z.686 渐近显着性(双侧).735 a. 检验分布为正态分布。 b. 根据数据计算得到。 结果:p=0.735 大于0.05 接受原假设,即数据来自正太总体。(2)W检验

数值分析实验报告1

实验一 误差分析 实验(病态问题) 实验目的:算法有“优”与“劣”之分,问题也有“好”与“坏”之别。对数值方法的研究而言,所谓坏问题就是问题本身对扰动敏感者,反之属于好问题。通过本实验可获得一个初步体会。 数值分析的大部分研究课题中,如线性代数方程组、矩阵特征值问题、非线性方程及方程组等都存在病态的问题。病态问题要通过研究和构造特殊的算法来解决,当然一般要付出一些代价(如耗用更多的机器时间、占用更多的存储空间等)。 问题提出:考虑一个高次的代数多项式 )1.1() ()20()2)(1()(20 1∏=-=---=k k x x x x x p 显然该多项式的全部根为1,2,…,20共计20个,且每个根都是单重的。现考虑该多项式的一个扰动 )2.1(0 )(19=+x x p ε 其中ε是一个非常小的数。这相当于是对()中19x 的系数作一个小的扰动。我们希望比较()和()根的差别,从而分析方程()的解对扰动的敏感性。 实验内容:为了实现方便,我们先介绍两个Matlab 函数:“roots ”和“poly ”。 roots(a)u = 其中若变量a 存储n+1维的向量,则该函数的输出u 为一个n 维的向量。设a 的元素依次为121,,,+n a a a ,则输出u 的各分量是多项式方程 01121=+++++-n n n n a x a x a x a 的全部根;而函数 poly(v)b =

的输出b 是一个n+1维变量,它是以n 维变量v 的各分量为根的多项式的系数。可见“roots ”和“poly ”是两个互逆的运算函数。 ;000000001.0=ess );21,1(zeros ve = ;)2(ess ve = ))20:1((ve poly roots + 上述简单的Matlab 程序便得到()的全部根,程序中的“ess ”即是()中的ε。 实验要求: (1)选择充分小的ess ,反复进行上述实验,记录结果的变化并分析它们。 如果扰动项的系数ε很小,我们自然感觉()和()的解应当相差很小。计算中你有什么出乎意料的发现表明有些解关于如此的扰动敏感性如何 (2)将方程()中的扰动项改成18x ε或其它形式,实验中又有怎样的现象 出现 (3)(选作部分)请从理论上分析产生这一问题的根源。注意我们可以将 方程()写成展开的形式, ) 3.1(0 ),(1920=+-= x x x p αα 同时将方程的解x 看成是系数α的函数,考察方程的某个解关于α的扰动是否敏感,与研究它关于α的导数的大小有何关系为什么你发现了什么现象,哪些根关于α的变化更敏感 思考题一:(上述实验的改进) 在上述实验中我们会发现用roots 函数求解多项式方程的精度不高,为此你可以考虑用符号函数solve 来提高解的精确度,这需要用到将多项式转换为符号多项式的函数poly2sym,函数的具体使用方法可参考Matlab 的帮助。

数字信号处理上机报告-一

数字信号处理上机报告-一

数字信号处理第一次上机实验报告 实验一: 设给定模拟信号()1000t a x t e -=,的单位是ms 。 (1) 利用MATLAB 绘制出其时域波形和频谱图(傅里叶变换),估计其等效带宽(忽略谱分量降低到峰值的3%以下的频谱)。 (2) 用两个不同的采样频率对给定的进行采样。 ○1 。 ○2 。 比较两种采样率下的信号频谱,并解释。 实验一MATLAB 程序: (1) N=10; Fs=5; Ts=1/Fs; n=[-N:Ts:N]; xn=exp(-abs(n)); w=-4*pi:0.01:4*pi; X=xn*exp(-j*(n'*w)); subplot(211) plot(n,xn); title('x_a(t)时域波形'); xlabel('t/ms');ylabel('x_a(t)'); t ()a x t ()()15000s a f x t x n =以样本秒采样得到。()()11j x n X e ω画出及其频谱()()11000s a f x t x n =以样本秒采样得到。()() 11j x n X e ω画出及其频谱

axis([-10, 10, 0, 1]); subplot(212); plot(w/pi,abs(X)); title('x_a(t)频谱图'); xlabel('\omega/\pi');ylabel('X_a(e ^(j\omega))'); ind = find(X >=0.03*max(X))*0.01; eband = (max(ind) -min(ind)); fprintf('等效带宽为 %fKHZ\n',eband); 运行结果:

数值分析实验报告模板

数值分析实验报告模板 篇一:数值分析实验报告(一)(完整) 数值分析实验报告 1 2 3 4 5 篇二:数值分析实验报告 实验报告一 题目:非线性方程求解 摘要:非线性方程的解析解通常很难给出,因此线性方程的数值解法就尤为重要。本实验采用两种常见的求解方法二分法和Newton法及改进的Newton法。利用二分法求解给定非线性方程的根,在给定的范围内,假设f(x,y)在[a,b]上连续,f(a)xf(b) 直接影响迭代的次数甚至迭代的收敛与发散。即若x0 偏离所求根较远,Newton法可能发散的结论。并且本实验中还利用利用改进的Newton法求解同样的方程,且将结果与Newton法的结果比较分析。 前言:(目的和意义) 掌握二分法与Newton法的基本原理和应用。掌握二分法的原理,验证二分法,在选对有根区间的前提下,必是收

敛,但精度不够。熟悉Matlab语言编程,学习编程要点。体会Newton使用时的优点,和局部收敛性,而在初值选取不当时,会发散。 数学原理: 对于一个非线性方程的数值解法很多。在此介绍两种最常见的方法:二分法和Newton法。 对于二分法,其数学实质就是说对于给定的待求解的方程f(x),其在[a,b]上连续,f(a)f(b) Newton法通常预先要给出一个猜测初值x0,然后根据其迭代公式xk?1?xk?f(xk) f'(xk) 产生逼近解x*的迭代数列{xk},这就是Newton法的思想。当x0接近x*时收敛很快,但是当x0选择不好时,可能会发散,因此初值的选取很重要。另外,若将该迭代公式改进为 xk?1?xk?rf(xk) 'f(xk) 其中r为要求的方程的根的重数,这就是改进的Newton 法,当求解已知重数的方程的根时,在同种条件下其收敛速度要比Newton法快的多。 程序设计: 本实验采用Matlab的M文件编写。其中待求解的方程写成function的方式,如下 function y=f(x);

数字信号处理上机实验答案完整版

数字信号处理上机实验 答案 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

第十章上机实验 数字信号处理是一门理论和实际密切结合的课程,为深入掌握课程内容,最好在学习理论的同时,做习题和上机实验。上机实验不仅可以帮助读者深入的理解和消化基本理论,而且能锻炼初学者的独立解决问题的能力。本章在第二版的基础上编写了六个实验,前五个实验属基础理论实验,第六个属应用综合实验。 实验一系统响应及系统稳定性。 实验二时域采样与频域采样。 实验三用FFT对信号作频谱分析。 实验四 IIR数字滤波器设计及软件实现。 实验五 FIR数字滤波器设计与软件实现 实验六应用实验——数字信号处理在双音多频拨号系统中的应用 任课教师根据教学进度,安排学生上机进行实验。建议自学的读者在学习完第一章后作实验一;在学习完第三、四章后作实验二和实验三;实验四IIR数字滤波器设计及软件实现在。学习完第六章进行;实验五在学习完第七章后进行。实验六综合实验在学习完第七章或者再后些进行;实验六为综合实验,在学习完本课程后再进行。 functiontstem(xn,yn) %时域序列绘图函数 %xn:信号数据序列,yn:绘图信号的纵坐标名称(字符串) n=0:length(xn)-1; stem(n,xn,'.');boxon xlabel('n');ylabel(yn); axis([0,n(end),min(xn),*max(xn)]) 实验一: 系统响应及系统稳定性 1.实验目的 (1)掌握求系统响应的方法。 (2)掌握时域离散系统的时域特性。 (3)分析、观察及检验系统的稳定性。 2.实验原理与方法 在时域中,描写系统特性的方法是差分方程和单位脉冲响应,在频域可以用系统函数描述系统特性。已知输入信号可以由差分方程、单位脉冲响应或系统函数求出系统对于该输入信号的响应,本实验仅在时域求解。在计算机上适合用递推法求差分方程的解,最简单的方法是采用MATLAB语言的工具箱函数filter函数。也可

数据库上机实验报告

《数据库技术与应用》上机实验报告 姓名:谢优贤 学号:020******* 专业班级:安全工程1003班

通过这次上机实验,我做了学生信息管理系统数据库,通过创建表、查询、窗体、报表和宏对输入数据库中的学生的基本信息进行整理和操作,以便得到我们想要的信息。学生信息管理系统可以实现对学生的基本信息:学号、姓名、联系方式、性别、成绩等的查询,还有对教师的情况进行比较了解从而可以帮助学生更好地选课和学习,省去了纸质档案管理不方便的方面。 通过窗体的创建和美化,使我们在操作数据时有一个简洁明了美观的窗口,简化了用户的操作程序,方便用户的使用。报表的创建可以使用户想要的数据很好地呈现在纸上。使用宏命令还使数据库有了设置密码的功能,很好的保护了数据的使用权限;也可以使用宏命令打开我们希望打开的窗口。 一、主要上机内容 1. 数据库的创建: 我使用自行创建数据库的方式进行创建,数据库文件名为学生信息管理系统。数据库要实现的主要功能:学生基本信息及学习成绩情况的统计,通过窗体进行学生信息的查询、学生信息及成绩的普通查询、打印学生信息报表等。 2. 表的创建: 基本表为学生信息表、学生成绩表、教师信息表、课程信息表等均使用设计器创建表学生信息表的记录: 学生信息表结构: 在学生信息表中设置了学号为主键,为了方便输入又在学号字段中设置了掩码(如下图)

学生年龄一般不会太大或太小,于是为了防止填写信息时出错,添加了有效性规则 性别只有男和女之分,于是为了方便,选择了查询向导 同样在入学日期和电话字段也设置了输入掩码 头像属于图片类型,其数据类型为“OLE对象”,所得荣誉和自我介绍选择了“备注”类

相关文档
相关文档 最新文档