西安交大计算方法B2017大作业

计算方法B上机报告

姓名:

学号:

班级:

学院:

任课教师:

2017年12月29日

题目一:

1.1

题目内容

某通信公司在一次施工中,需要在水面宽度为20米的河沟底部沿直线走向铺设一条沟底光缆。在铺设光缆之前需要对沟底的地形进行初步探测,从而估计所需光缆的长度,为工程预算提供依据。已探测到一组等分点位置的深度数据(单位:

(1)(2)估算所需光缆长度的近似值,并作出铺设河底光缆的曲线图;

1.2 实现题目的思想及算法依据

首先在题目(1)中要实现的是数据的拟合,显然用到的是我们在第三章中数据近似的知识内容。多项式插值时,这里有21个数据点,则是一个20次的多项式,但是多项式插值随着数据点的增多,会导致误差也会随之增大,插值结果会出现龙格现象,所以不适用于该题目中点数较多的情况。为了避免结果出现大的误差,同时又希望尽可能多地使用所提供的数据点,提高数据点的有效使用率,这里选择分段插值方法进行数据拟合。分段插值又可分为分段线性插值、分段二次插值和三次样条插值。由于题目中所求光缆的现实意义,而前两者在节点处的光滑性较差,因此在这里选择使用三次样条插值。 根据课本SPLINEM 算法和TSS 算法,采用第三种真正的自然边界条件,在选定边界条件和选定插值点等距分布后,可以先将数据点的二阶差商求出并赋值给右端向量d ,再根据TSS 解法求解三对角线线性方程组从而解得M 值。求出M 后,对区间进行加密,计算200个点以便于绘图以及光缆长度计算。 对于问题(2),使用以下的公式:

20

=()L f x ds ?

20

(f x =? 19

1

0(k k

k f x +==∑?

1.3 算法结构

1.For n i ,,2,1,0???=

1.1 i i M y ?

2. For 2,1=k

2.1 For k n n i ,,1, -=

2.1.1 i k i i i i M x x M M ?----)/()(1

3. 101h x x ?-

4. For 1-,,2,1n i =

4.1 11++?-i i i h x x

4.2 b a c c h h h i i i i i i ??-?+++2;1;)/(11 4.3 i i d M ?+16

5. 0000;;c M d M d n n ???λ

n n n b a b ???2;;20μ

6. 1111,γμ??d b

7. For m k ,,3,2 =! 获取M 的矩阵元素个数,存入m

7.1

k k k l a ?-1/μ

7.2 k k k k c l b μ??-1- 7.3 k k k k l d γγ??-1- 8. m m m M ?μγ/

9. For 1,,2,1 --=m m k

9.1 k k k k k M M c ??-+μγ/)(1 10. k ?1! 获取x 的元素个数存入s 11. For 1,,2,1-=s i

11.1if i x x ≤~ then k i ?;break

else k i ?+1

12. x

x x x x x h x x k k k k ?~;~;

11?-?-?--- y h x h M y x h M y x M x M k k k k k k ~/]?)6

()6(6?6[2

211331

?-+-++---

1.4 matlab 源程序

n=20; x=0:n;

y=[9.01 8.96 7.96 7.97 8.02 9.05 10.13 11.18 12.26 13.28 13.32 12.61 11.29 10.22 9.15 7.90 7.95 8.86 9.81 10.80 10.93];

M=y; %用于存放差商,此时为零阶差商 h=zeros(1,n+1); c=zeros(1,n+1); d=zeros(1,n+1); a=zeros(1,n+1); b=2*ones(1,n+1); h(2)=x(2)-x(1);

for i=2:n %书本110页算法SPLINEM h(i+1)=x(i+1)-x(i);

c(i)=h(i+1)/(h(i)+h(i+1)); a(i)=1-c(i); end

a(n+1)=-2; %计算边界条件c(0),a(n+1),采用的是第三类边界条件 c(1)=-2;

for k=1:3 %计算k 阶差商 for i=n+1:-1:k+1

M(i)=(M(i)-M(i-1))/(x(i)-x(i-k)); end

if(k==2) %计算2阶差商 d(2:n)=6*M(3:n+1); %给d 赋值 end if(k==3)

d(1)=(-12)*h(2)*M(4); %计算边界条件d(0),d(n),采用的是第三类边界条件 d(n+1)=12*h(n+1)*M(n+1); end end

l=zeros(1,n+1); r=zeros(1,n+1); u=zeros(1,n+1); q=zeros(1,n+1); u(1)=b(1); r(1)=c(1); q(1)=d(1);

for k=2:n+1 %利用书本49页算法TSS求解三对角线性方程组r(k)=c(k);

l(k)=a(k)/u(k-1);

u(k)=b(k)-l(k)*r(k-1);

q(k)=d(k)-l(k)*q(k-1);

end

p(n+1)=q(n+1)/u(n+1);

for k=n:-1:1

p(k)=(q(k)-r(k)*p(k+1))/u(k);

end

fprintf('三对角线性方程组的解为:');

disp(p);

%求拟合曲线

x1=0:0.1:20; %首先对区间进行加密,增加插值点

n1=10*n;

x2=zeros(1,n1+1);

x3=zeros(1,n1+1);

s=zeros(1,n1+1);

for i=1:n1+1

for j=1:n

if x1(i)>=x(j)&&x1(i)<=x(j+1) %利用书本111页算法EV ASPLINE求解拟合曲线s(x)

h(j+1)=x(j+1)-x(j);

x2(i)=x(j+1)-x1(i);

x3(i)=x1(i)-x(j);

s(i)=(p(j).*(x2(i)).^3/6+p(j+1).*(x3(i)).^3/6+(y(j)-p(j).*((h(j+1)).^2/6)).*x2(i)+...

(y(j+1)-p(j+1).*(h(j+1)).^2/6).*x3(i))/h(j+1);

end

end

end

plot(x,-y,'x') %画出插值点

hold on

plot(x1,-s) %画出三次样条插值拟合曲线

hold on

title('三次样条插值法拟合电缆曲线');

xlabel('河流宽度/m');

ylabel('河流深度/m');

Length=0;

for i=1:n1

L=sqrt((x1(i+1)-x1(i))^2+(s(i+1)-s(i))^2); %计算电缆长度

Length=Length+L;

end

fprintf('电缆长度(m)=');

disp(Length);

1.5 结果与说明

铺设海底光缆的曲线如图1.1所示

图1. 1三次样条插值法拟合海底光缆曲线

由上图可以看出,所得到的曲线光滑,能够较好得反映实际的河沟底部地势形貌。电缆长度计算结果为26.6656m (图1.2)。

图1. 2海底光缆长度结果

题目二

2.1 题目内容: 已知非线性方程

0)sin cos(1

=?

π

θθπd x 在[2,3]中有根。请设计算法,求出该根,

并使求出的根的误差不超过410-。

2.2 实现题目的思想及算法依据

对于该题的非线性方程,可以将其分解成两个部分: (1)求解数值积分;(2)求解非线性方程。

首先求解数值积分,令()cos(sin )g x θθ=,则利用最简单的梯形公式可以得到

11()[(()()]2n

i i i h

f x

g g θθπ

-=≈+∑

,其中,i h ih n πθ==。于是就有了()0f x =形式的非

线性方程,这里选择二分法进行求解。算法参考课本BISECTION 算法。

2.3 算法结构

1. ()()00f x f ?()()

1

1f x f ?

2. if 010f f > then stop

3. if 02f ε< then 输出()0

x 作为根;stop

4. if 12f ε< then 输出()1

x 作为根;stop

5.

()()

()

0112

x +x x ? 6. If ()()11

1x x x ε-< then 输出x 作为根;stop

7. ()f x f ?

8. if 2f ε< then 输出x 作为根; 9. if 10f f < then 9.1 ()0

x x ? ;0f f ?

Else

9.2 ()1

x x ? ; 1f f ?

10. go to 5

2.4Matlab源程序

************************

function y = theta( i )

y=i*h;

end

*************************

function y = g( x,theta )

%为了计算关于theta的数值积分,先令g=cos(x*sin(theta)) y=cos(x*sin(theta));

end

**************************

function f = hsz(x)%计算数值积分

n=10000;

h=pi/n; %将区间分成n份

f=0;

for i=1:n

f=f+h/(2*pi)*(g(x,i+1)+g(x,i));

end

end

**************************

error=1e-4; %误差允许值

a=2;

b=3; %初始区间

f0=hsz(a);

f1=hsz(b);

if f0*f1>0 %判断方程是否有解

disp('该方程在[a,b]上无解');

elseif f0==0

x=a;

elseif f1==0

x=b; %判断方程解是否在区间两边界上

else

%二分法求解方程得解

a0=a;

b0=b;

while abs((b0-a0)/2)>=error

half=(a0+b0)/2;

fa=hsz(a0);

fb=hsz(b0);

fhalf=hsz(half); %计算中点处的函数值,用以判断解的位置if fhalf==0

x=half;

break;

elseif fa*fhalf<0

b0=half; %定义新区间,为原区间的一半else

a0=half; %定义新区间

end

end

x=(b0+a0)/2; %方程组的解

end

fprintf('方程组的解为:')

disp(x)

2.5结果与说明

由于是利用梯形公式来求解,需要将区间划分为n个区间,而n的取值是很关键的,需要取得适当的n值才能满足误差精度。

这里将区间分成10000份,可以得到结果图2.1,x=2.4048。

图2. 1n=10000方程的解

由于变量的嵌套很多及自身水平的不足,所以我将很多变量通过调用子程序的方式实现,分别为theta.m : g.m; hsz.m。

题目三

3.1 题目内容:

编写程序实现大规模方程组的高斯消去法程序,并对所附的方程组进行求解。所附方程组的类型为对角占优的带状方程组。 数据说明:

(1)dat20171.dat 为非压缩带状方程组,阶数为10阶,该方程组供调试程序使用,该方程组的根都为1;

(2)dat20172.dat 为压缩带状方程组,阶数为20阶,该方程组供调试程序使用,该方程组的根都为1;

(2)dat20173.dat 为非压缩带状方程组,阶数在3000阶左右; (3)dat20174.dat 为压缩带状方程组,阶数在50000阶左右;

3.2 实现题目的思想及算法依据

高斯消去法主要分为消去和回代过程,消去过程形成上三角矩阵,回代过程就是自下而上实现方程组求解。题目中系数矩阵是严格对角占优矩阵,所以无需进行列主元,极大的提高了程序的效率。

对于n 阶、上带宽q 、下带宽p 的非压缩格式带状矩阵,通过比较k+p 、k+q 及n 的大小,对于行消去,选择k+p 和n 中的最小值作为循环终点。在用第k 行进行消去时,只需要计算第k 列的k+1k a ,到

k+p k

a ,,每一行只需计算k k+1a ,到

k k+q

a ,;

从第n-c+1到n 行,第k 列计算k+1k a ,到n k a ,,每一行只需计算k k+1a ,到k n a ,,于是减小运算量。

压缩格式忽略了零元素,存储方式与非压缩格式有所不同,所以需要建立两种格式中元素之间的对应关系,即压缩k p+1

A ,=非压缩k k A ,,根据此关系进行程序编

写。

3.3算法结构 1.A 的阶数? n

2. For 12i k ,k ,,n =++… 2.1

ik kk

ik

ααα? 2.2For 12j k ,k ,,n =++… 2.2.1 ij kj ik ij αααα?-

2.3 i k ik i ββαβ?-

n nn n x ?αβ/

3. For 121k n ,n ,,=--…

∑+=?-

n

k j k kk j kj

k x x 1

/)(αα

β

3.4 Matlab 源程序

%首先计算非压缩带状方程组

fname='dat20171.dat'; %读取文件,可改为dat20173.dat fprintf('目标文件为:'); disp(fname);

fid=fopen(fname,'r'); %二进制模式读取数据

fhead=fread(fid,5,'long'); %以long int 形式读取文件前5个数据,获取系数矩阵信息 bbh=dec2hex(fhead(2)); %将版本号转换为16进制 %判断所读取的文件是否为目标文件

if strcmp(bbh,'102') %比较版本号,相同则说明为非压缩带状矩阵 disp('目标文件系数矩阵为非压缩带状矩阵,读取正确') else

disp('读取错误') end

n=fhead(3); %读取矩阵阶数n q=fhead(4); %读取上带宽q p=fhead(5); %读取下带宽p fprintf('系数矩阵阶数为:'); disp(n)

fprintf('上带宽为:'); disp(q)

fprintf('下带宽为:'); disp(q)

d=fread(fid,n^2,'float'); %非压缩格式,需要读取n^2个浮点数,按行方式顺序存储 b=fread(fid,n,'float'); %读取右端系数 %生成系数矩阵 A=zeros(n,n); k=1; for i=1:n for j=1:n

A(i,j)=d(k); %因为系数矩阵按行方式顺序存储在d 中,所以依次形成A (i,j )

k=k+1; end

end

fclose(fid); %读取结束

n=length(b);

%高斯消去法,书本33页到34页算法GAUSSPP

%消去过程

for k=1:n-1

for i=k+1:min(k+p,n) %仅对不为零的区域作高斯消去,边界时k+p有可能大于n A(i,k)=A(i,k)/A(k,k); %用第k行消去

for j=k+1:min(k+q,n) %只需处理右边k+q个数据,边界时k+q可能大于n A(i,j)=A(i,j)-A(i,k)*A(k,j);%更新各列

end

b(i)=b(i)-A(i,k)*b(k); %更新右端系数b列

end

end

%回代过程

x(n)=b(n)/A(n,n);

for k=n-1:-1:1

sum=0;

for j=k+1:n

sum=sum+A(k,j)*x(j);

end

x(k)=(b(k)-sum)/A(k,k);

end

m=10;

fprintf('方程的前%d个根:\n',m); %输出前m个根

for j=1:m

fprintf(1,'%0.5f ',x(j));%小数点后保留5位小数

end

%将方程出的解输出为txt文件

if strcmp(fname,'dat20173.dat')

file=strcat('f:\\',fname,'矩阵方程组的解','.txt');%生成要创建文件的文件路径和文件名

fid=fopen(file,'a+'); %以读写方式打开指定文件,将文件指针指向文件末尾

fprintf(fid,'%s的所有解\n',fname);

fprintf(fid,'%0.5f ',x); %向指定文件写入数据,保留5位小数

fclose(fid);

end

fprintf('\n');

%第二步处理压缩带状方程组,即数据文件(2)和(4),(2)供调试使用

fname='dat20172.dat'; %读取文件,可改为dat20174.dat

fprintf('目标文件为:');

disp(fname);

fid=fopen(fname,'r'); %二进制模式读取数据

fhead=fread(fid,5,'long'); %以long int形式读取文件前5个数据,获取系数矩阵信息

bbh=dec2hex(fhead(2)); %将版本号转换为16进制

%判断所读取的文件是否为目标文件

if strcmp(bbh,'202') %比较版本号,相同则说明文件数据是压缩带状矩阵disp('目标文件系数矩阵为压缩带状矩阵,读取正确')

else

disp('读取错误')

end

n=fhead(3); %读取矩阵阶数n

q=fhead(4); %读取上带宽q

p=fhead(5); %读取下带宽p

fprintf('系数矩阵阶数为:');

disp(n)

fprintf('上带宽为:');

disp(q)

fprintf('下带宽为:');

disp(q)

d=fread(fid,n*(p+q+1),'float'); %压缩格式,以n*(p+q+1)矩阵存储,同样按行存储

b=fread(fid,n,'float'); %读取右端系数

%生成系数矩阵

A=zeros(n,p+q+1);

k=1;

for i=1:n

for j=1:p+q+1

A(i,j)=d(k); %因为系数矩阵按行方式顺序存储在d中,所以依次形成A (i,j)

k=k+1;

end

end

fclose(fid); %读取结束

n=length(b);

%高斯消去法,书本33页到34页算法GAUSSPP

%消去过程

for k=1:n-1

for i=1:min(p,n-k) %用第k行消去

A(k+i,p+1-i)=A(k+i,p+1-i)/A(k,p+1); %压缩格式p+1列即为原来第k列

for j=1:min(q,n-k) %只需处理右边q个数据,但边界时q可能大于(n-k)A(k+i,p+1-i+j)=A(k+i,p+1-i+j)-A(k+i,p+1-i)*A(k,p+1+j);%更新各列end

b(k+i)=b(k+i)-b(k)*A(k+i,p+1-i); %更新右端系数b列

end

end

%回代过程

x(n)=b(n)/A(n,p+1);

for i=n-1:-1:1

sum=0;

for j=1:min(q,n-i)

sum=sum+x(i+j)*A(i,p+1+j);

end

x(i)=(b(i)-sum)/A(i,p+1);

end

m=20;

fprintf('方程的前%d个根:\n',m); %输出前m个根

for j=1:m

fprintf(1,'%0.5f ',x(j)); %小数点后保留5位小数

end

%将方程出的解输出为txt文件

if strcmp(fname,'dat20174.dat')

file=strcat('f:\\',fname,'矩阵方程组的解','.txt');%生成要创建文件的文件路径和文件名

fid=fopen(file,'a+'); %以读写方式打开指定文件,将文件指针指向文件末尾

fprintf(fid,'%s的所有解\n',fname);

fprintf(fid,'%0.5f ',x); %向指定文件写入数据,保留5位小数

fclose(fid);

end

3.5 结果与说明

首先使用dat20171和dat20172验证程序的正确性,如图3.1

图3. 1 验证dat20171和dat20172的正确性

由上图可知

dat20171.dat中为上带宽为3,下带宽为3,阶数为10的非压缩矩阵,解都为1 dat20172.dat中为上带宽为3,下带宽为3,阶数为20的压缩矩阵,解都为1 与题目中所给的条件相符。

图3. 2 dat20173和dat20174的方程组解

接下来求解dat20172和dat20174数据,如图3.2

除此之外,还将程序运行的全部结果输出在txt文件中分别给出部分截图如图3.3

图3. 3 dat20173和dat20174输出txt文件中的结果

题目四

4.1题目内容

针对本专业中所碰到的实际问题,提炼一个使用方程组进行求解的例子,并对求解过程进行分析、求解。

对一维稳态无源项的对流扩散方程,取其边界条件为00L x==x=L =φφφφ,,,, 。试在x/L=0~1的范围内取15个节点,采用中心差分、一阶迎风、混合格式以及QUICK 格式,对1510P =,,△ 三种情形,画出00L -x φφφφ()/(-)与/L 的变化图线 4.2解题思路

对一维稳态无源项的对流扩散方程采用中心差分、一阶迎风、混合格式和QUICK 格式的得到离散方程(数值传热学教材P173),之后根据其边界条件,进行求解

4.3matlba 源程序

Pa=input('请输入Pa=')%输入P △的值

x=0:1/15:1 Pe=15*Pa;

y=(exp(Pe*x)-1)/(exp(Pe)-1) plot(x,y,'-*k') %精确解 hold on

y(1)=0,y(16)=1; for i=2:15

y(i)=((1+0.5*Pa)*y(i-1)+(1-0.5*Pa)*y(i+1))/2; end

plot(x,y(1:16),'-or') %中心差分 hold on for i=2:15

y(i)=((1+Pa)*y(i-1)+y(i+1))/(2+Pa); end

plot(x,y(1:16),'-.>g') %一阶迎风 hold on for i=2:15 if Pa==1

y(i)=((1+0.5*Pa)*y(i-1)+(1-0.5*Pa)*y(i+1))/2; else y(i)=y(i-1) end end

plot(x,y(1:16),'-+y')

%混合格式

hold on

for i=2:15

if i==2

y(i)=y(i+1)/(2+Pa)+(1+Pa)*y(i-1)/(2+Pa)+(Pa/(2+Pa))*(6*y(i)-3*y(i-1)-3*y(i+1))/8

else

y(i)=y(i+1)/(2+Pa)+(1+Pa)*y(i-1)/(2+Pa)+(Pa/(2+Pa))*(5*y(i)-y(i-1)-y(i-2)-3*y(i+1))/8 end

end

plot(x, y(1:16),'-

%QUICK格式

hold on

title(['Pa=',num2str(Pa)])

legend('精确解','中心差分','一阶迎风','混合格式','QUICK格式')

4.4结果与说明

运行程序分别得到1510

的曲线图

P=,,

由图可以看出,QUICK和中心差分格式的计算精度较高,但两种格式都只是条件稳定;一阶迎风和混合格式绝对稳定,但一阶迎风的精度较低。

统计西安交大期末考试试题(含答案)

西安交大统计学考试试卷 一、单项选择题(每小题2 分,共20 分) 1.在企业统计中,下列统计标志中属于数量标志的是(C) A、文化程度 B、职业 C、月工资 D、行业 2.下列属于相对数的综合指标有(B ) A、国民收入 B、人均国民收入 C、国内生产净值 D、设备台数 3.有三个企业的年利润额分别是5000 万元、8000 万元和3900 万元,则这句话中有(B)个变量? A、0 个 B、两个 C、1 个 D、3 个 4.下列变量中属于连续型变量的是(A ) A、身高 B、产品件数 C、企业人数 D、产品品种 5.下列各项中,属于时点指标的有(A ) A、库存额 B、总收入 C、平均收入 D、人均收入 6.典型调查是(B )确定调查单位的 A、随机 B、主观 C、随意 D 盲目 7.总体标准差未知时总体均值的假设检验要用到(A ): A、Z 统计量 B、t 统计量 C、统计量 D、X 统计量 8.把样本总体中全部单位数的集合称为(A ) A、样本 B、小总体 C、样本容量 D、总体容量 9.概率的取值范围是p(D ) A、大于1 B、大于-1 C、小于1 D、在0 与1 之间 10.算术平均数的离差之和等于(A ) A、零 B、1 C、-1 D、2 二、多项选择题(每小题2 分,共10 分。每题全部答对才给分,否则不计分) 1.数据的计量尺度包括(ABCD ): A、定类尺度 B、定序尺度 C、定距尺度 D、定比尺度 E、测量尺度 2.下列属于连续型变量的有(BE ): A、工人人数 B、商品销售额 C、商品库存额 D、商品库存量 E、总产值 3.测量变量离中趋势的指标有(ABE ) A、极差 B、平均差 C、几何平均数 D、众数 E、标准差 4.在工业企业的设备调查中(BDE ) A、工业企业是调查对象 B、工业企业的所有设备是调查对象 C、每台设备是 填报单位D、每台设备是调查单位E、每个工业企业是填报单位 5.下列平均数中,容易受数列中极端值影响的平均数有(ABC ) A、算术平均数 B、调和平均数 C、几何平均数 D、中位数 E、众数 三、判断题(在正确答案后写“对”,在错误答案后写“错”。每小题1 分,共10 分) 1、“性别”是品质标志。(对)

西安交通大学计算方法B上机试题

1.计算以下和式:01421181 84858616n n S n n n n ∞ =?? =--- ?++++??∑ ,要求: (1)若保留11个有效数字,给出计算结果,并评价计算的算法; (2)若要保留30个有效数字,则又将如何进行计算。 (1)题目分析 该题是对无穷级数求和,因此在使用matlab 进行累加时需要一个累加的终止条件。这里令?? ? ??+-+-+-+= 681581482184161n n n n a n n ,则 ()()1.016 1 6855844864816114851384128698161 681581482184161148113811282984161111<< ? ??? ????? ??++++++???? ????? ??++++++=??? ????? ??+-+-+-+??? ????? ??+-+-+-+=+++n n n n n n n n n n n n n n n n a a n n n n n n 故近似取其误差为1+≈k a ε,并且有m -1m -111021 21 ?=?=≈+βεk a , (2)算法依据 使用matlab 编程时用digits 函数和vpa 函数来控制位数。 (3)Matlab 运行程序 %%保留11位有效数字 k1=11; s1=0;%用于存储这一步计算值 for n=0:50 a=(1/16^n)*(4/(8*n+1)-2/(8*n+4)-1/(8*n+5)-1/(8*n+6)); n1=n-1; if a<=0.5*10^(1-k1) break end end; for i=0:1:n1 t=(1/16^i)*(4/(8*i+1)-2/(8*i+4)-1/(8*i+5)-1/(8*i+6)); s1=s1+t; end s11=vpa(s1,k1); disp('保留11位有效数字的结果为:');disp(s11); disp('此时n 值为:');disp(n1); %%保留30位有效数字 clear all; k2=30;

西电射频大作业(精心整理)

射频大作业 基于PSpice仿真的振幅调制电路设计数字调制与解调的集成器件学习

目录 题目一:基于PSpice仿真的振幅调制电路设计与性能分析 一、实验设计要求 (3) 二、理论分析 1、问题的分析 (3) 2、差动放大器调幅的设计理论 (4) 2.1、单端输出差动放大器电路 2.2、双端输出差动放大器电路 2.3、单二极管振幅调制电路 2.4、平衡对消二极管调幅电路 三、PSpice仿真的振幅调制电路性能分析 (10) 1、单端输出差动放大器调幅电路设计图及仿真波形 2、双端输出差动放大器调幅电路设计图及仿真波形 3、单二极管振幅调制电路设计图及仿真波形 4、平衡对消二极管调幅电路设计图及仿真波形 四、实验总结 (16) 五、参考文献 题目二数字调制与解调的集成器件学习 一、实验设计要求 (17) 二、概述 (17) 三、引脚功能及组成原理 (18) 四、基本连接电路 (20) 五、参考文献 (21) 六、英文附录 (21)

题目一基于PSpice仿真的振幅调制电路设计 摘要 随着大规模集成电路的广泛发展,电子电路CAD及电子设计自动化(EDA)已成为电路分析和设计中不可缺少的工具。此次振幅调制电路仿真设计基于PSpice,利用其丰富的仿真元器件库和强大的行为建模工具,分别设计了差分对放大器和二极管振幅调制电路,由此对线性时变电路调幅有了更进一步的认识;同时,通过平衡对消技术分别衍生出双端输出的差分对放大器和双回路二极管振幅调制电路,消除了没用的频率分量,从而得到了更好的调幅效果。本文对比研究了单端输出和双端输出的差分对放大器调幅电路及单二极管和双回路二极管调幅电路,通过对比观察时域和频域波形图,可知平衡对消技术可以很好地减小失真。 关键词:PSpice 振幅调制差分对放大器二极管振幅调制电路平衡对消技术 一、实验设计要求 1.1 基本要求 参考教材《射频电路基础》第五章振幅调制与解调中有关差分对放大器调幅和二极管调幅的原理,选择元器件、调制信号和载波参数,完成PSpice电路设计、建模和仿真,实现振幅调制信号的输出和分析。 1.2 实践任务 (1) 选择合适的调制信号和载波的振幅、频率,通过理论计算分析,正确选择晶体管和其它元件;搭建单端输出的差分对放大器,实现载波作为差模输入电压,调制信号控制电流源情况下的振幅调制;调整二者振幅,实现基本无失真的线性时变电路调幅;观察记录电路参数、调制信号、载波和已调波的波形和频谱。 (2) 参考例5.3.1,修改电路为双端输出,对比研究平衡对消技术在该电路中的应用效果。 (3) 选择合适的调制信号和载波的振幅、频率,通过理论计算分析,正确选择二极管和其它元件;搭建单二极管振幅调制电路,实现载波作为大信号,调制信号为小信号情况下的振幅调制;调整二者振幅,实现基本无失真的线性时变电路调幅;观察记录电路参数、调制信号、载波和已调波的波形和频谱。 (4) 参考例5.3.2,修改电路为双回路,对比研究平衡对消技术在该电路中的应用效果。 1.3 写作报告 (1) 按论文形式撰写,包括摘要、正文和参考文献,等等。 (2) 正文包括振幅调制电路的设计原理、理论分析结果、实践任务中各阶段设计的电路、参数、波形和频谱,对观察记录的数据配以图像和表格,同时要有充分的文字做分析和对比,有规律性认识。 (3) 论文结构系统、完备、条理清晰、理论正确、数据翔实、分析完整。 1.4 相关提示 (1) 所有电路和信号参数需要各人自行决定,各人有不同的研究结果,锻炼学生的独立研究和实验分析能力。 (2) 为了提高仿真精度和减小调试难度,可以将调制信号和载波的频率设置得较低。 二、理论分析 1、问题的分析 根据题目的要求,差分对放大器和二极管振幅调制电路目的都是实现基本无

西安交大成本会计在线作业答案精编版

西安交大成本会计在线 作业答案 文件编码(008-TTIG-UTITD-GKBTT-PUUTI-WYTUI-8256)

《成本会计》3(2017) 试卷总分:100 测试时间:-- 一、单选题(共25道试题,共50分。) 1.如果同一时期内,在几张定单中规定有相同的产品,则计算成本时 可以(D )。 A. 按定单分批组织生产 B. 按品种分批组织生产 C. 按产品的组成部分分批组织生产 D. 将相同产品合为一批组织生产 满分:2分 2.不在“财务费用”账户核算的项目是(A )。 A. 业务招待费 B. 利息费用 C. 汇兑损失 D. 金融机构结算手续费 满分:2分 3.“基本生产成本”月末借方余额表示(B )。 A. 本期发生的生产费用 B. 完工产品成本 C. 月末在产品成本 D. 累计发生的生产费用 满分:2分 4.下列不属于成本计算基本方法的是(C )。 A. 品种法 B. 分批法 C. 分类法

满分:2分 5.成本还原的对象是(D )。 A. 产成品成本 B. 各步骤半成品成本 C. 最后步骤产成品成本 D. 产成品成本中所耗上步骤半成品成本费用 满分:2分 6.采用计划成本分配法分配辅助生产费用,辅助生产的实际成本是 (B )。 A. 按计划成本分配前的实际费用 B. 按计划成本分配前的实际费用加上按计划成本分配转入的费用 C. 按计划成本分配前的实际费用减去按计划成本分配转出的费用 D. 按计划成本分配前实际费用加上按计划成本分配转入的费用, 减去按计划成本分配转出的费用 满分:2分 7.成本会计最基本的任务和中心环节是( C)。 A. 进行成本预测,编制成本计划 B. 审核和控制各项费用的支出 C. 进行成本核算,提供实际成本的核算资料 D. 参与企业的生产经营决策 满分:2分 8.下列各项属于产品成本项目的有(C )。 A. 财务费用 B. 管理费用

西电数字信号处理大作业

第二章 2.25 已知线性时不变系统的差分方程为 若系统的输入序列x(x)={1,2,3,4,2,1}编写利用递推法计算系统零状态响应的MATLAB程序,并计算出结果。 代码及运行结果: >> A=[1,-0.5]; >> B=[1,0,2]; >> n=0:5; >> xn=[1,2,3,4,2,1]; >> zx=[0,0,0];zy=0; >> zi=filtic(B,A,zy,zx); >> yn=filter(B,A,xn,zi); >> figure(1) >> stem(n,yn,'.'); >> grid on;

2.28图所示系统是由四个子系统T1、T2、T3和T4组成的,分别用单位脉冲响应或差分方程描述为 T1: 其他 T2: 其他 T3: T4: 编写计算整个系统的单位脉冲响应h(n),0≤n≤99的MATLAB程序,并计算结果。 代码及结果如下: >> a=0.25;b=0.5;c=0.25; >> ys=0; >> xn=[1,zeros(1,99)]; >> B=[a,b,c]; >> A=1; >> xi=filtic(B,A,ys); >> yn1=filter(B,A,xn,xi); >> h1=[1,1/2,1/4,1/8,1/16,1/32]; >> h2=[1,1,1,1,1,1]; >> h3=conv(h1,h2); >> h31=[h3,zeros(1,89)]; >> yn2=yn1+h31; >> D=[1,1];C=[1,-0.9,0.81]; >> xi2=filtic(D,C,yn2,xi); >> xi2=filtic(D,C,ys); >> yn=filter(D,C,yn2,xi); >> n=0:99; >> figure(1) >> stem(n,yn,'.'); >> title('单位脉冲响应'); >> xlabel('n');ylabel('yn');

成本会计-学习指南 西交大考试题库及答案

成本会计-学习指南 一、单项选择题 1.产品成本计算分类法的成本计算对象是(A ) A.产品类别B.产品品种 C.产品规格D.产品加工步骤 2.生产经营费用按费用的(B )分类形成要素费用。 A.经济内容B.经济性质 C.经济用途D.经济作用 3.对大量大批生产的产品,应当以(A )作为产品成本计算对象。 A.产品的品种B.产品的批次 C.产品的生产步骤D.产品的类别 4.最基本的产品成本计算方法是(C ) A.分批法B.分步法 C.品种法D.分类法 5.李某本月生产甲零件2000只,其中合格品1950只,工废品30只,料废品20只。本月李某计算计件工资的甲零件数量是( C ) A.2000 B.1980 C.1970 D.1950 6.成本会计的对象是(D ) A.产品生产成本的形成 B.各项期间费用的支出和归集 C. 生产费用和期间费用 D.各行业企业生产经营业务的成本和有关的期间费用 7.下列制造费用分配方法中,使制造费用账户可能出现余额的是(D )A.工时比例法B.工资比例法 C.机时比例法D.年度计划分配率法 8.成本会计的最基本职能是(C ) A.成本预测B.成本决策 C.成本核算D.成本分析 9.下列企业中,适合运用品种法计算产品成本的是(A ) A.发电厂B.纺织厂 C.拖拉机厂D.造船厂 10.王某去年8月参加工作(病假扣发比例为40%),月标准工资418元,本月日历天数为31天,出勤19天,双休日8天,病假4天(合双休日1天)。若按月薪制计算,月工作天数为20.9天,则本月应付王某的计时工资是( B )A.386元B.394元C.396元D.418元 11.下列报表中不属于产品成本报表的是(D ) A.主要产品单位成本表B.制造费用明细表 C.营业费用明细表D.主营业务收支明细表 12.甲、乙两种产品的重量不同、材料单位消耗量基本相同、企业没有制定材料单位消耗定额、材料领用时未能区分每种材料的消耗量,则对甲、乙产品共同消耗的材料费用,可以用作为分配标准的是( B )

西电数据结构大作业

题目:数据结构上机报告学院:电子工程学院 专业:信息对抗技术 学生姓名:甘佳霖 学号:14020310092

西安电子科技大学 数据结构课程实验报告实验名称线性表 电子工程学院 1402031 班Array姓名甘佳霖学号 14020310092 同作者 实验日期 2017 年 3 月 18 日

实验一线性表 一、实验目的 1.熟悉线性表的顺序和链式存储结构 2.掌握线性表的基本运算 3.能够利用线性表的基本运算完成线性表应用的运算 二、实验要求 1.设有一个线性表E={e1, e2, … , e n-1, e n},设计一个算法,将线性表逆置,即使元素排列次序颠倒过来,成为逆线性表E’={ e n, e n-1 , … , e2 , e1 },要求逆线性表占用原线性表空间,并且用顺序表和单链表两种方法表示,分别用两个程序来完成。 2.已知由不具有头结点的单链表表示的线性表中,含有三类字符的数据元素(字母、数字和其他字符),试编写算法构造三个以循环链表表示的线性表,使每个表中只含有同一类的字符,且利用原表中的结点空间,头结点可另辟空间。 三、设计思路 1.顺序表做逆置操作时将对应的首尾元素位置交换,单链表的指针end指向链表的末尾,指针start指向链表头结点,指针s用来找到指向end节点的节点,将指向链表末尾和头结点的存储内容交换,然后头结点指针指向下一节点,s指针从start节点开始遍历寻找指向end 指针的节点,并将end指针赋值为s指针,就完成了单链表的逆置,可以看出单链表和顺序表都可以完成线性表的逆置。 2.分解单链表的实现思路是首先新建3个循环链表,然后顺序遍历单链表,ASCII码判断链表中的元素属于哪一类元素,然后将这个元素添加到对应的循环链表中,从而实现分解单链表的功能。 四、运行结果 1.单链表逆置:

西安交通大学计算方法B大作业

计算方法上机报告 姓名: 学号: 班级:

目录 题目一------------------------------------------------------------------------------------------ - 4 - 1.1题目内容 ---------------------------------------------------------------------------- - 4 - 1.2算法思想 ---------------------------------------------------------------------------- - 4 - 1.3Matlab源程序----------------------------------------------------------------------- - 5 - 1.4计算结果及总结 ------------------------------------------------------------------- - 5 - 题目二------------------------------------------------------------------------------------------ - 7 - 2.1题目内容 ---------------------------------------------------------------------------- - 7 - 2.2算法思想 ---------------------------------------------------------------------------- - 7 - 2.3 Matlab源程序---------------------------------------------------------------------- - 8 - 2.4计算结果及总结 ------------------------------------------------------------------- - 9 - 题目三----------------------------------------------------------------------------------------- - 11 - 3.1题目内容 --------------------------------------------------------------------------- - 11 - 3.2算法思想 --------------------------------------------------------------------------- - 11 - 3.3Matlab源程序---------------------------------------------------------------------- - 13 - 3.4计算结果及总结 ------------------------------------------------------------------ - 14 - 题目四----------------------------------------------------------------------------------------- - 15 - 4.1题目内容 --------------------------------------------------------------------------- - 15 - 4.2算法思想 --------------------------------------------------------------------------- - 15 - 4.3Matlab源程序---------------------------------------------------------------------- - 15 - 4.4计算结果及总结 ------------------------------------------------------------------ - 16 - 题目五----------------------------------------------------------------------------------------- - 18 -

西交大计算方法上机报告

计算方法(B)实验报告 姓名: 学号: 学院: 专业:

实验一 三对角方程组Tx f =的求解 一、 实验目的 掌握三对角方程组Tx f =求解的方法。 二、 实验内容 求三对角方程组Tx f =的解,其中: 4 -1 -1 4 -1 -1 4 1 -1 4T ????????=?? ?? ???? , 3223f ?? ? ? ?= ? ? ??? 三、 算法组织 设系数矩阵为三对角矩阵 11222333111 b c a b c a b c a b c b n n n n T ---???????? =?????? ?????? 则方程组Tx f =称为三对角方程组。 设矩阵T 非奇异,T 可分解为T=LU ,其中L 为下三角矩阵,U 为单位上三角矩阵,记 1 1 212 313 1 1 1111 ,11n n n n n r l r l r L U l r l μμμμμ---???? ? ? ? ? ? ?== ? ? ? ? ? ? ? ? ? ?? ? ? ? 可先依次求出,L U 中的元素后,令Ux y =,先求解下三角方程组Ly f =得出 y ,再求解上三角方程组Ux y =。 追赶法的算法组织如下: 1.输入三对角矩阵T 和右端向量f ;

2.将Tx f =压缩为四个一维数组{}{}{}{}i i i i a b c d 、、、,{}{}{}i i i a b c 、、是T 的三对角线性方程组的三个对角,{}i d 是右端向量。将分解矩阵压缩为三个一维数组 {}{}{}i i i l r μ、、。 3.对T 做Crout 分解(也可以用Doolittle 分解)导出追赶法的计算步骤如下: 1111,b r c μ== for 2i n = 111, , ,i i i i i i i i i i i i i l a b a r r c y d l y μμ---==-==- end 4.回代求解x /n n n x y μ= for 11i n =- 1()/i i i i i x y c x μ+=- end 5. 停止,输出结果。 四、 MATLAB 程序 MATLAB 程序见附件1. 五、 结果及分析 实验结果为: (1.0000 1.0000 1.0000 1.0000)T x =

算法设计与分析课程大作业

题目作业调度问题及算法分析 学院名称:计算机与信息工程学院 专业名称:计算机科学与技术

目录 《算法设计与分析》课程大作业.................................................................... 错误!未定义书签。一.动态规划算法解决流水作业调度. (4) 1、问题描述 (4) 2、算法分析 (4) 3. 算法的描述 (5) 4、部分算法实现 (6) 5. 运行结果 (8) 6、时空效率分析 (8) 二.贪心算法解多机调度问题 (8) 1、问题描述 (8) 2、算法分析 (9) 3.部分算法实现 (9) 4.计算复杂性分析 (11) 5. 运行结果 (12) 三.回溯法解决批作业调度问题 (12) 1.问题描述 (12) 2.算法思想 (13) 3. 部分算法实现 (14) 4.运行结果 (15) 5.时间复杂性分析 (15) 四.作业调度算法比较 (16) 五.课程学习总结 (16)

摘要: 在现代企业中,作业调度已成为提高资源利用率、从而提高企业运行效益的关键环节之一。把各个作业分配到车间现有的设备上,并确定它们的先后次序,这是一项复杂的工作本文就作业调度排序问题进行了研究,通过对几个经典作业调度算法的分析讨论,总结了各个算法对作业调度的求解过程,并给出了每个算法的复杂度及性能分析。 关键词:作业调度;动态规划;贪心算法;回溯法;

一.动态规划算法解决流水作业调度 1、问题描述 给定n 个作业,每个作业有两道工序,分别在两台机器上处理。一台机器一次只能处理一道工序,并且一道工序一旦开始就必须进行下去直到完成。一个作业只有在机器1上的处理完成以后才能由机器2处理。假设已知作业i 在机器j 上需要的处理时间为t[i,j]。流水作业调度问题就是要求确定一个作业的处理顺序使得尽快完成这n 个作业。 2、算法分析 直观上,一个最优调度应使机器M1没有空闲时间,且机器M2的空闲时间最少。在一般情况下,机器M2上会有机器空闲和作业积压2种情况。 在一般情况下,机器M1开始加工S 中作业时,机器M2还在加工其他作业,要等时间t 后才可利用。将这种情况下完成S 中作业所需的最短时间记为T(S,t)。流水作业调度问题的最优值为T(N,0)。 由流水作业调度问题的最优子结构性质可知, )}},{({min )0,(1i i n i b i N T a N T -+=≤≤(1)

西安电子科技大学出版社计算方法上机答案

西安电子科技大学出版社《计算方法》任传祥等编著第九章计算方法上机参考答案 实验一,算法一 #include #include double I0=log(6)/log(5),I1; int n=1; main () { while(1) { I1=1.0/(n)-I0*5.0; printf("%d %lf\n", n,I1); if(n>=20) break; else I0=I1; n++; } } 实验一,算法二 #include #include double I0=(1/105.0+1/126.0)/2,I1; int n=20; main () { printf("%d %lf\n", n,I0); while(1) { I1=1.0/(5.0*n)-I0/5.0; printf("%d %lf\n", n-1,I1); if(n<2) break; else I0=I1; n--; } } 实验二,二分法

#include #include #define esp 1e-3 double f(double x); main () { double a=1,b=2,x; while(fabs(b-a)>esp) { x=(a+b)/2; printf("x=%lf\n",x); if(f(x)==0) break; else if(f(x)*f(a)<0)b=x; else a=x; } } double f(double x) { return pow(x,3)-x-1; } 实验二,牛顿迭代法 #include #include double f(double x); double f1(double x); #define esp 1e-3 void main() {double x0 = 1.5, x1; x1 = x0 - f(x0) / f1(x0); printf("x=%lf\n", x1); x0 = x1; x1 = x0 - f(x0) / f1(x0); printf("x=%lf\n", x1); while (fabs(x1 - x0)>esp){ x0 = x1; x1 = x0 - f(x0) / f1(x0); printf("x=%lf\n", x1);} } double f(double x) {return pow(x, 3) - x - 1;} double f1(double x) {return 3 * x*x - 1;}

西交计算方法A上机大作业

计算方法A 上机大作业 1. 共轭梯度法求解线性方程组 算法原理:由定理3.4.1可知系数矩阵A 是对称正定矩阵的线性方程组Ax=b 的解与求解二次函数1()2 T T f x x Ax b x =-极小点具有等价性,所以可以利用共轭梯度法求解1()2 T T f x x Ax b x = -的极小点来达到求解Ax=b 的目的。 共轭梯度法在形式上具有迭代法的特征,在给定初始值情况下,根据迭代公式: (1)()()k k k k x x d α+=+ 产生的迭代序列(1)(2)(3)x x x ,,,... 在无舍入误差假定下,最多经过n 次迭代,就可求得()f x 的最小值,也就是方程Ax=b 的解。 首先导出最佳步长k α的计算式。 假设迭代点()k x 和搜索方向()k d 已经给定,便可以通过()()()() k k f x d φαα=+的极小化 ()()min ()()k k f x d φαα=+ 来求得,根据多元复合函数的求导法则得: ()()()'()()k k T k f x d d φαα=?+ 令'()0φα=,得到: ()() ()()k T k k k T k r d d Ad α=,其中()()k k r b Ax =- 然后确定搜索方向()k d 。给定初始向量(0)x 后,由于负梯度方向是函数下降最快的方向,故第一次迭代取搜索方向(0) (0)(0)(0)()d r f x b Ax ==-?=-。令 (1)(0)00x x d α=+ 其中(0)(0)0(0)(0) T T r d d Ad α=。第二次迭代时,从(1) x 出发的搜索方向不再取(1)r ,而是选取(1) (1)(0)0d r d β=+,使得(1)d 与(0)d 是关于矩阵A 的共轭向量,由此可 求得参数0β:

西安交大《管理心理学B》作业高分答案

第一次作业 三、主观题(共14道小题) 21. 管理心理学的研究重点是组织管理中具体的社会、心理现象,以及()、群体、()、组织中的具体心理活动的规律性。 答:个体,领导 22. 现场实验又称为() 答:自然实验法 23. 霍桑实验发现并证实了()的存在 答:“非正式组织” 24. 超Y理论是由()和()提出来的。 答:莫尔斯,洛希 25. 投射是一种通过()的方法而达到()的目的。 答案:以己度人,心理防御 26. 挫折是人们在有目的的活动中遇到了无法克服或自以为是无法克服的障碍和干扰,其()和()不能满足时所产生的消极的情绪反应。 参考答案:需要,动机 27. 名词解释:观察法--- 答案: 观察法,是在未受控制的日常生活中,了解和分析人的言行、表情等,借此来判断被观察者心理活动的一种研究方法。 28. :复杂人假设--- 答案:复杂人假设是指人是很复杂的,人们的需要与潜在的欲望多种多样,而且这些需要的模式也是随着年龄与发展阶段的变迁,随着所扮演的角色的变化,随着所处境遇及人际关系的演变而不断变化的。 29. 名词解释:知觉防御--- 答案:知觉防御是指人们对不利于自己的信息会视而不见或加以歪曲,以达到防御的目的。 30. 名词解释:角色知觉--- 答案:角色知觉是指人对于自己所处的特定的社会与组织中的地位的知觉。 31. 名词解释:心理疏导--- 答案:心理疏导是指运用一定的心理诱导的策略和方法使受挫者在别人引导下发挥内在潜力,达到消除心理障碍、明确前进方向、排除不良情绪和行为的目的。 32. 麦格雷戈关于人性假定的论述是什么?

答案:(1)管理的理论与管理者的观念是第一位的,而管理的政策与具体措施是第二位的,不能本末倒置,也不能简单混同、不加区分。 (2)强调在管理中要着重开发人力资源,发觉人的“潜在力量”。 (3)管理人员采取哪种理论假定要看具体情况,但是所持理论的观点要旗帜鲜明。 33. 一个完整的角色知觉过程应该包括哪些成分? 答案:一个完整的角色知觉过程应该包括以下四个成分:角色认知、角色行为、角色期望、角色评价。 角色认知是指一个人对自己应该在社会与组织中所处地位的认识。 角色行为是指一个人按照特定的社会与组织所赋予角色的特定的行为模式而进行的行为。角色期望是指他人对一个人所应承担角色的希望与寄托。 角色评价是指他人对一个人的角色扮演的评论与估价。 其中,角色认知与角色行为是角色扮演者主观方面的因素;而角色期望与角色评价是指他人对角色扮演者的反馈信息,属于客观方面的因素。角色知觉作为复杂的社会认知与社会知觉中的一个方面,只有在主客观因素相互作用的条件下,才能最后完整、正确地形成。 34. 生活压力源具体包括哪些方面? 答案:生活压力源指应激起源于与员工个人生活有关的因素,具体包括四个方面: (1)重要人员的影响。包括员工家庭成员、师长、邻里或亲朋好友的期望与态度。 (2)个人生活事件的影响。包括结婚、离婚,家庭成员的生产、死亡等个人生活经历中的突发事件、重大变化,这些事件足以扰乱人们的生理与心理稳定。 (3)生活方式的变化。主要体现为现代生活的节奏加快,使人们产生不适感,以及消费导向的迷惘感的压力、对生活质量的高期望值与实际生活之间的差异造成的失望感和压力等。(4)经济收入压力。一方面,收入低会产生生活中入不敷出的压力;另一方面,收入高的人则可能有请客、救助,甚至道德等方面的压力。 第二次作业 三、主观题(共14道小题) 21. 人们对不利于自己的信息会视而不见或加以歪曲,以达到防御目的是指(). 答案:知觉防御 22. 自我认识的内容包括以下三个方面:物质自我、社会自我和()。 答案:精神自我 23. 形成个性的原因基本上可以归结为两个方面:()和()。 答:遗传因素,环境因素 24. 马斯洛的需要层次理论将人的需要分为了五个层次:()、安全需要、爱的需要、()和()。 答案:生理需要,尊重需要,自我实现需要

2017西电电院软件技术基础上机大作业答案

说明 每个实验题目含有一个main函数和一些函数,与实验题目相关的基本运算的函数定义和main函数定义的代码在附录以及对应的文件夹中给出,供上机实验参考使用。对于每个题目,只需要根据题目要求设计算法,补充函数定义,然后对程序进行编译、调试。

实验一线性表 一、实验目的 1.熟悉线性表的顺序和链式存储结构 2.掌握线性表的基本运算 3.能够利用线性表的基本运算完成线性表应用的运算 二、实验内容 1.设有一个线性表E={e1, e2, … , e n-1, e n},设计一个算法,将线性表逆置,即使元素排列次序颠倒过来,成为逆线性表E’={ e n , e n-1 , … , e2 , e1 },要求逆线性表占用原线性表空间,并且用顺序表和单链表两种方法表示,分别用两个程序来完成。(文件夹:顺序表逆置、单链表逆置) 思路1:对于顺序表,使用一个结构体,结构体中包含一个数组,来储存顺序表里的信息,同时还有一个表示位置的变量来储存该顺序表的当前位置,便于循环遍历,在交换的时候,其本质上只是使得该顺序表上的DATA实现逆序,在顺序表中等于对于数组的内容实现交换逆序。 思路2:对于线性表,使用结构体,包含data,用来储存线性表里该节点的信息,同时还有一个nest指针用于指向下一个节点,在计算机内部根据地址指向实现一个链表结构,当实现该线性表逆序的时候,我们先对该线性表进行循环遍历得到该线性表中节点的个数,然后从头开始遍历把线性表中每个节点的data都存储在一个数组里面,对于数组中的元素实现逆序交换,得到一个逆序后的数组然后循环遍历线性表对于线性表的每一个元素逐个重新赋值,实现线性表的逆置。 2.已知由不具有头结点的单链表表示的线性表中,含有三类字符的数据元素(字母、数字和其他字符),试编写算法构造三个以循环链表表示的线性表,使每个表中只含有同一类的字符,且利用原表中的结点空间,头结点可另辟空间。(文件夹:分解单链表) 思路3:根据每个对应的字符的值进行判断,如果该字符的值在“a”-“z”或者在“A”-“Z”之间的话,那么就插入字符循环链表中,如果在“0”-“9”之间,就插入到数字循环链表中,如果都不是,就插入到other循环链表中,对于单链表中的每一个节点逐个判断。 实验二栈和队列 一、实验目的 1.熟悉栈和队列的顺序和链式存储结构 2.掌握栈和队列的基本运算 3.能够利用栈和队列的基本运算完成栈和队列应用的运算 二、实验内容 1.设单链表中存放有n个字符,试编写算法,判断该字符串是否有中心对称的关系,例如xyzzyx是中心对称的字符串。(提示:将单链表中的一半字符先依次进栈,然后依次出栈与单链表中的另一半字符进行比较。)(文件夹:判字符串中心对称) 思路4:设置一个栈结果,将单链表中的元素逐个添加到栈中,入栈操作,栈有先进后出的特点,因此栈底元素对应链表的第一个元素,栈顶元素对应链表的最后一个元素,刚好是链表的逆置,不断的出栈得到当前的栈顶元素与链表对应的元素进行比较,如果有一俩个值不

西安交通大学计算方法A实验报告

实验一 矩阵的分解 一、实验目的 掌握矩阵的分解原理和一般方法,学会利用矩阵分解直接求解线性方程组。 二、实验内容 求矩阵() 2020 =ij A α?的T LDL 分解与Cholesky 分解,其中 ,min(,),ij i i j i j i j α=?=? ≠? 。 三、问题分析 1. Cholesky 分解 Cholesky 分解是针对被分解矩阵为对称正定的情况给出的。 分解步骤如下: 11g =1111/y b g =,1111i i g g α= 2i n = ; DO 2j n = jj g = IF 0jj g < STOP ,JUMP TO (5) DO 1i j n =+ 1 1j ij ik kj k ij jj g g g g α-=??- ? ? ?=∑ ji ij g g = 1 1j i ik k k i jj b g y y g -=??- ? ? ?=∑ END DO END DO

2. T LDL 分解 T LDL 分解是针对Cholesky 分解中的开平方运算进行的改进。 分解步骤如下: 11i i r α=,1111/i i r r r =,11y b = 1i n = DO 2i n = DO j i n = 1 1i ij ij ik kj k r l r α-=??=- ??? ∑ /ji ij ii l r r = 1 1i i i ik k k y b l b -=??=- ??? ∑ END DO END DO 四、matlab 求解 分别写出T LDL 分解和Cholesky 分解的函数程序gaijinsqrt.m 和.cholesky m ,调用格 式如下: 1. [index,x,r]=gaijinsqrt(A,b) 参数说明: A 和b 分别是线性代数方程组Ax =b 的系数矩阵和右端向量;输出x 为解向量。 [index,x,g]=Cholesky(A,b) 参数说明: A 和b 分别是线性代数方程组Ax =b 的系数矩阵和右端向量;输出x 为解向量。 然后写出主程序2homework .m 如下: %生成矩阵A A=zeros(20,20); for i=1:20 for j=1:20 if i~=j if i>j A(i,j)=j; else A(i,j)=i; end

西安电子科技大学平时作业-计算方法

《计算方法》平时作业 一 选 择(每题3分,合计42分) 1. x* = 1.732050808,取x =1.7320,则x 具有 B 位有效数字。 A 、3 B 、4 C 、5 D 、6 2. 取7 3.13≈(三位有效数字),则 ≤-73.13 B 。 A 、30.510-? B 、20.510-? C 、10.510-? D 、0.5 3. 下面_ D _不是数值计算应注意的问题。 A 、注意简化计算步骤,减少运算次数 B 、要避免相近两数相减 C 、要防止大数吃掉小数 D 、要尽量消灭误差 4. 对任意初始向量) 0(x 及常向量g ,迭代过程g x B x k k +=+)()1(收敛的充分必要条件是_ C_。 A 、11< B B 、1<∞ B C 、1)(

西电最优化大作业

最优化大作业 学院电子工程学院 专业 学号 姓名

1.第一题 分别用牛顿法和变尺度法求解优化问题. Minf(x)=x12-2x1x2+4x22+x1-3x2. 牛顿法 初始点选择 [2 2]T 迭代步骤 已知目标函数f(X)及其梯度g(X),Hesee矩阵G(X),终止限ε.(1)选定初始点X0;计算f0=f(X0),g0=g(X0);置k=0. (2)计算Hesee矩阵 (3)由方程G k P k=-g k解出P k。 (4)计算X k+1=X k+P k,f k+1=f(X k+1),gk+1=g(X k+1). (5)判别终止条件是否满足,若满足,则打印结果。否则令k=k+1,转(2). 实验结果如下:

变尺度法 初始点选择 [0 0]T 迭代步骤 (1)选定初始点X0;计算F0=F(X0),G0=G(X0);选定初始矩阵H0,要求H0对称正定。置k=0 (2)计算搜索方向P K=-H K G K. (3)作直线搜索X K=1=ls(X K+1),S K=X K+1-X K,y k=g k+1-g k。 (4)判别终止条件是否满足:若满足,则X k+1就是所求的极小点,打印,结束。否则转(5)。 (5)计算H K+1=H K+E K.

(6)K=K+1.转(2)。 实验结果如下: 2.第二题 利用外点法和内点法解下列约束问题. minf(x)=(x1-3)2+(x2-2)2 s.t. h(x)=x1+x2-4≤0 外点法 初始点选择 [2 1]T 迭代步骤 给定终止限ε(可取ε=6- 10).

(1).选定初始点0X ,惩罚因子01>M (可取11=M ). 惩罚因子放大系数10=C ,置1=k . (2).假设已获得迭代点1-k X ,以1-k X 为初始点,求解无约束问题 ),(min k M X F . 设其最优点为k X . (3).若εα≤)(X M k 则k X 就是所要求的最优解,打印输出))(,(k k X f X ,结束; 否则转至过程(4). (4).置,1,1+==+k k CM M k k 转至过程(2). 实验结果如下: 内点法 初始点选择 [2 1]T

相关文档
最新文档