数学实验上机汇总未完成

数学实验上机汇总未完成
数学实验上机汇总未完成

数学实验上机作业整理∈hyd

实验一

1. 计算球体体积(半径r=5) r=5;v=(4/3)*pi*r^3 v =523.5988

2.设矩阵1234567891023416A ?? ?

= ?

???

(1)提取A 的第2列赋值给B;

A=[1 2 3 4 5;6 7 8 9 10;2 3 4 1 6];B=A(:,2) B =

2 7 3

(2)提取A 的第2行前3个数给C ;

A=[1 2 3 4 5;6 7 8 9 10;2 3 4 1 6];C=A(2,[1,2,3])

C =

6 7 8

(3)提取A 第1,3行和2, 4列相交位置元素构成子矩阵D ; A=[1 2 3 4 5;6 7 8 9 10;2 3 4 1 6];D=A([1,3],[2,4]) D =

2 4

3 1

(4)构造矩阵E 使得E 的结构为:132213C E D C ????

?= ?

?? A=[1 2 3 4 5;6 7 8 9 10;2 3 4 1 6];E=[D [C;C]] E =

2 4 6 7 8 3

1

6

7

8

(5)把A 中间的8换为0; A(2,3)=0;A A =

1 2 3 4 5 6 7 0 9 10 2 3 4 1 6 (6)去掉A 的第2行;

A=[1 2 3 4 5;6 7 8 9 10;2 3 4 1 6]; A(2,:)=[] A =

1 2 3 4 5 2 3 4 1 6 3.写出完成下列操作的命令

(1) 建立10阶单位矩阵A;

A=eye(10)

(2)建立5×6的随机矩阵A ,其元素为[100,200]范围内的随机数;

A=rand(5,6)*100+100

(3)将A 对角线元素加30

A+eye(5,6)*30

4.(选做题)设有分块矩阵333223E R A O S ?????

=?

???

,其中E,R,O,S 分别为单位矩阵、随机矩阵、零矩阵和对角矩阵,试通过数值计算验证2

2

E

R RS A O S +??

=?

???

。 S=[1 1;1 1]; E=eye(3);R=rand(3,2); O=zeros(2,3); [E R;O S]^2

[E R+R*S;O S^2]

实验二

1.设矩阵1215346562A -?? ?

= ? ?-??

(1)求A 的秩、A 的每个元素3次方;

A=[1 2 -1;5 34 6;-5 6 2];

rank (A)

B=A.*A.*A

ans =

3

B =

1 8 -1

125 39304 216

-125 216 8

(2)随机生成与A同维数矩阵B,把B分解为分子、分母矩阵;

B=rand(3,3);

[N,D] = rat(B)

N =

321 717 215

125 1493 1324

8 115 338

D =

394 785 772

138 **** ****

63 1179 353

(3)求A中所有元素的最大值、平均值、总和;

max(max(A))

ans =34

mean(mean(A))

ans =5.5556

sum(sum(A))

ans =50

(4)求A的逆矩阵,A的行列式。

inv(A)

ans =

-0.1290 0.0403 -0.1855 0.1613 0.0121 0.0444 -0.8065 0.0645 -0.0968

det(A)

ans =

-248

2. 求解下列线性方程组的解

1231231

242232101238

x x x x x x x x +-=??

-+=??+=? A=[4 2 -1;3 -1 2;12 3 0];

B=[2;10;8];

x=A\B x =

-6.0000 26.6667 27.3333

3. 用初等行变换方法计算求解下列线性方程组(提示:初等行变换用rref 指令)

123412341

244223221012338

x x x x x x x x x x x +-+=??

-+-=??++=?

A=[4 2 -1 1;3 -1 2 -2;12 3 0 3]; B=[2;10;8];[rank(A),rank([A,B])]

ans =

3 3

rref([A,B])

ans =

1.0000 0 0 3.0000 -6.0000 0 1.0000 0 -11.0000 26.6667 0 0 1.0000 -11.0000 27.3333

4. 设2

11/(1),y x =+2

2exp(/2),y x =-3sin 2y x =,4y =,x 为[-2,2]内10个数

值的等差数组,利用点运算计算y1+y2,y1y2,y3/y1,2

(541)/2y y y -。

x=linspace(-2,2,10); Y1=zeros(1,10) Y2=zeros(1,10) Y3=zeros(1,10) Y4=zeros(1,10) for i=1:10

y1(i)=1/(1+x(i)^2); y2(i)=exp(-x(i)^2/2); y3(i)=sin(2*x(i)); y4(i)=sqrt(4-x(i)^2); Y1(i)=y1(i)+y2(i); Y2(i)=y1(i)*y2(i); Y3(i)=y3(i)/y1(i);

Y4(i)=(5*y4(i)-y1(i))/y2(i)^2; end Y1 Y2 Y3 Y4

5. (选做题)已知2

3

63

1222...2S =+++++,求S 值。

n=0:63;S=sum(2.^n) S =

1.8447e+19

6. (选做题)已知2

3

1222...2n

S =+++++,尝试编写函数function 。

function average=Unitled2(vector) average=0;

for i=0:vector average=2^(i)+average; End

Unitled2(2) ans = 7

实验三

1.请分别用for 结构和while 结构设计一段程序,计算n!

function s=forword(n) s=1;

for i=1:n s=s.*i; end

function s=whileword(n) s=1; i=1;

while i<=n s=s*i; i=i+1; end

2.产生20个[0,100]间随机数(整数),输出其中小于平均值的偶数。

r=randi([0,100],1,20); mr=mean(r); k=1;

for i=1:20

if (mod(r(i),2)==0)&(r(i)

3.当n 分别为100时,求下列各式的值(提示:使用点运算、sum 求和、prod 累乘)

(1) 11111

1...(1)234n n

+-+-++-

i=1:100;

a1=sum((-1).^(i+1)./i) ans =0.6882

(2) 1

1111

1...(1)35721

n n +-+-++--

a2=sum((-1).^(i+1)./(2.*i-1)) ans =0.7829

(3)1111 (41664)

4n ++++

a3=sum(1./(4.^i))

ans =0.3333

(4)224466(2)(2)

(

)()()...()133557

(21)(21)n n n n ??????-+,

a4=prod((2.*i).*(2.*i)./(2.*i-1)./(2.*i+1))

Ans=1.5669

4.画分段函数

2sin 033

2sin 3

2cos 23x x y x x x ππ

π

ππππ

?≤<

???=≤

?≤≤??

其中:0:/100:2x ππ=

clear; close;

x=0:(pi/100):(2*pi); x1=0:(pi/100):(2/3*pi); plot(x1,sin(pi/3.*x1)) hold on

x2=(2/3*pi):(pi/100):(pi); plot(x2,sin(x2)) hold on

x3=(pi):(pi/100):(2*pi); plot(x3,cos((2/3)*pi),':ro') 5.(选做题)设0.5()sin()6

x

f x e

x π

-=+,求30

()S f x dx π

=

?

,要求用阶梯法,将区

间[0,3]π分为n 等分计算(例如n=1000)。

syms x;

S=int(exp(-0.5*x)*sin(x+pi/6),x,0,3*pi); S=vpa(S,6)

实验四

1. 设2

3sin (0.5)cos 1x

y x x

=+

+,在0~2x π=区间取等间隔101个点,绘制函数的曲线。

x=linspace(0,2*pi,101);

y=(0.5+(3.*sin(x)./(1+x.^2))).*cos(x); plot(x,y)

2.在02x π≤≤区间内,绘制曲线0.52sin(2)x

y e

x π-=。

x=linspace(0,2*pi,101);

y=2.*(exp(-0.5.*x)).*sin(2*pi.*x); plot(x,y)

3.用fplot 函数绘制()cos(tan())f x x π=。

fplot('sin(tan(pi*x))',[-pi,pi])

4.绘制极坐标曲线5sin(210)

[0,2]ρθθπ=+∈。

t=0:0.01:2*pi; polar(t,5*sin(2+10*t));

5.生成10000×1的正态随机数矩阵,绘制直方图,要求30×1个长条。

x=randn(10000,1); hist(x,30);

6.绘制曲线2

cos(3)sin x t t t y t t

ππ=?-≤≤?

=?

t=-pi:pi/30:pi;

plot(t.*cos(3*t),t.*sin(t).^2)

7.已知2

1y x =,2cos(2)y x =,312y y y =?,完成下列操作:

(1) 在同一坐标系下用不同颜色和线型绘制三条曲线,并在右上角给加入曲线说明; (2) 以子图形式绘制三条曲线(subplot)。

x=linspace(0,10,30) y1=x.^2; y2=cos(2.*x); y3=(y1).*(y2); plot(x,y1,'ro'); hold on ; plot(x,y2,'bx'); plot(x,y3,'ys');

x=linspace(0,10,30) y1=x.^2; y2=cos(2.*x); y3=(y1).*(y2);

subplot(2,2,1),plot(x,y1),axis([0,2*pi,-1,1]),title('y1'); subplot(2,2,2),plot(x,y2),axis([0,2*pi,-1,1]),title('y2');

subplot(2,2,3),plot(x,y3),axis([0,2*pi,-1,1]),title('y3');

8.绘制分段函数曲线

04246()56821

8

x x x f x x

x x ≤<≤

=?-≤

要求:

(1) 设置坐标轴范围为:横坐标范围为[0,10],纵坐标范围为[0,2.5]; (2) 给图形加上标题“分段函数曲线”;

(3) 给X,Y 轴分别添加说明“Variable X ”和”Variable Y ” (4)

用鼠标在给分段曲线每段添加图形说明

x=0:0.01:4; y1=sqrt(x); plot(x,y1,'b'); hold on; x=4:0.01:6; y2=2;

plot(x,y2,'g'); x=6:0.01:8; y3=5-x./2; plot(x,y3,'r'); x=8:0.01:10; y4=1;

plot(x,y4,'y'); axis([0,10,0,2.5]); xlabel('variable

X');

ylabel('variable Y'); title('分段函数曲线');

gtext('y1');gtext('y2');gtext('y3');gtext('y4');

实验五

1.作2

2

z x y =-的三维图形

i. 网状图 ii. 曲面图

要求:使用subplot 并排放置上面两幅图形。

xa=-2:0.2:2; ya=xa;

[x,y]=meshgrid(xa,ya); z=x.^2-y.^2;

subplot(1,2,1),mesh(x,y,z); subplot(1,2,2),surf(x,y,z);

2.绘制空间曲线

22264

x y z y z ?++=?

+=?

线

8cos 4

2sin 0242sin x t y t t z t

π=??

=≤≤??

=-?

t=linspace(0,2*pi,1000); x=8.*cos(t);

y=4*sqrt(2).*sin(t); z=(-y);

plot3(x,y,z);

3.(选作)使用subplot 在同一窗口中绘制图形

要求: iii. 窗口中子图

安排模板为:

iv. 第1个区域绘制曲线y=sin 2

(x), 且限定x 轴范围为[0,2pi],y 轴范围为[-1,1];

v. 第2个区域绘制曲线y=cos(x),且限定x 轴范围为[0,2pi],y 轴范围为[-1,1];

vi. 第3个区域绘制曲线y=sin(x)/cos(x),且限定x 轴范围为[0,2pi],y 轴范围为[-40,40];

vii. 第4个区域绘制曲线y=cos(x)/sin(x),且限定x 轴范围为[0,2pi],y 轴范围为[-40,40];

viii.

第5个区域绘制曲线y=2cos(x)sin(x),且限定x 轴范围为[0,2pi],y 轴范围为[-2,2];

ix.

第6个区域用fplot 函数绘制()cos(tan())f x x π=, 且限定x 轴范围为[0,pi];

x.

所有子图要求有标题,有格线。

subplot(2,2,1),plot(x,sin(x).^2),axis([0,2*pi,-1,1]),grid on ,title('y=sin(x)^2'); subplot(4,4,3),plot(x,cos(x)),axis([0,2*pi,-1,1]),grid on ,title('y=cos(x)'); subplot(4,4,4),plot(x,sin(x)./cos(x)),axis([0,2*pi,-40,40]),grid on ,title('y=sin(x)./cos(x)');

subplot(4,4,7),plot(x,cos(x)./sin(x)),axis([0,2*pi,-40,40]),grid on ,title('y=cos(x)./sin(x)');

subplot(4,4,8),plot(x,2.*cos(x)./sin(x)),axis([0,2*pi,-2,2]),grid on ,title('y=2.*cos(x)./sin(x)');

subplot(2,1,2),fplot('cos(tan(pi.*x))',[0,pi]),grid on ,title('y=cos(tan(pi.*x)');

离散数学上机实验1

实验1 1实验内容 (1)求任意一个命题公式的真值表。 (2)利用真值表求任意一个命题公式的主范式。 (3)利用真值表进行逻辑推理。 注:(2)和(3)可在(1)的基础上完成。 2实验目的 真值表是命题逻辑中的一个十分重要的概念,利用它几乎可以解决命题逻辑中的所有问题。例如,利用命题公式的真值表,可以判断命题公式的类型、求命题公式的主范式、判断两命题公式是否等价,还可以进行推理等。 本实验通过编写一个程序,让计算机给出命题公式的真值表,并在此基础上进行命题公式类型的判定、求命题公式的主范式等。目的是让学生更加深刻地理解真值表的概念,并掌握真值表的求解方法及其在解决命题逻辑中其他问题中的应用。 3算法的主要思想 利用计算机求命题公式真值表的关键是:①给出命题变元的每一组赋值;②计算命题公式在每一组赋值下的真值。 真值表中命题变元的取值具有如下规律:每列中0 和1 是交替出现的,且0 和1 连续出现的个数相同。n 个命题变元的每组赋值的生成算法可基于这种思想。 含有n个命题变元的命题公式的真值的计算采用的方法为“算符优先法”。 为了程序实现的方便,约定命题变元只用一个字母表示,非、合取、析取、蕴含和等价联结词分别用!、&、|、-、+来表示。 算符之间的优先关系如表1-1所示: 表1-1算符优先级

优先算法,我们采用两个工作栈。一个称作OPTR,用以寄存运算符;另一个称作OPND,用以寄存操作数或运算结果。算法的基本思想是: (1)首先设置操作数栈为空栈,符号“@”为运算符的栈底元素; (2)调用函数Divi(exp,myopnd)得到命题公式包含的命题变元序列myopnd (按字典序排列,同一个命题变元只出现一次); (3)依次读入命题公式中的每个字符,若是命题变元则其对应的赋值进OPND 栈,若是运算符,则和OPTR栈的栈顶运算符比较后作相应操作,直至整个命题公式求值完毕。

数学实验上机汇总未完成

数学实验上机作业整理∈hyd 实验一 1. 计算球体体积(半径r=5) r=5;v=(4/3)*pi*r^3 v =523.5988 2.设矩阵1234567891023416A ?? ? = ? ??? (1)提取A 的第2列赋值给B; A=[1 2 3 4 5;6 7 8 9 10;2 3 4 1 6];B=A(:,2) B = 2 7 3 (2)提取A 的第2行前3个数给C ; A=[1 2 3 4 5;6 7 8 9 10;2 3 4 1 6];C=A(2,[1,2,3]) C = 6 7 8 (3)提取A 第1,3行和2, 4列相交位置元素构成子矩阵D ; A=[1 2 3 4 5;6 7 8 9 10;2 3 4 1 6];D=A([1,3],[2,4]) D = 2 4 3 1 (4)构造矩阵E 使得E 的结构为:132213C E D C ???? ?= ? ?? A=[1 2 3 4 5;6 7 8 9 10;2 3 4 1 6];E=[D [C;C]] E = 2 4 6 7 8 3 1 6 7 8

(5)把A 中间的8换为0; A(2,3)=0;A A = 1 2 3 4 5 6 7 0 9 10 2 3 4 1 6 (6)去掉A 的第2行; A=[1 2 3 4 5;6 7 8 9 10;2 3 4 1 6]; A(2,:)=[] A = 1 2 3 4 5 2 3 4 1 6 3.写出完成下列操作的命令 (1) 建立10阶单位矩阵A; A=eye(10) (2)建立5×6的随机矩阵A ,其元素为[100,200]范围内的随机数; A=rand(5,6)*100+100 (3)将A 对角线元素加30 A+eye(5,6)*30 4.(选做题)设有分块矩阵333223E R A O S ????? =? ??? ,其中E,R,O,S 分别为单位矩阵、随机矩阵、零矩阵和对角矩阵,试通过数值计算验证2 2 E R RS A O S +?? =? ??? 。 S=[1 1;1 1]; E=eye(3);R=rand(3,2); O=zeros(2,3); [E R;O S]^2 [E R+R*S;O S^2] 实验二 1.设矩阵1215346562A -?? ? = ? ?-?? (1)求A 的秩、A 的每个元素3次方; A=[1 2 -1;5 34 6;-5 6 2];

离散数学实验报告

《离散数学》实验报告专业网络工程 班级 姓名 学号 授课教师 二 O 一六年十二月

目录 实验一联结词的运算 实验二根据矩阵的乘法求复合关系 实验三利用warshall算法求关系的传递闭包实验四图的可达矩阵实现

实验一联结词的运算 一.实验目的 通过上机实验操作,将命题连接词运算融入到C语言的程序编写中,一方面加强对命题连接词运算的理解,另一方面通过编程实现命题连接词运算,帮助学生复习与锻炼C语言知识,将理论知识与实际操作结合,让学生更加容易理解与记忆命题连接词运算。 二.实验原理 (1) 非运算, 符号:? ,当P=T时 ,?P为F, 当P=F时 ,?P为T 。 (2) 合取, 符号: ∧ , 当且仅当P与Q的真值同为真,命题P∧Q的真值才为真;否则,P∧Q的真值为假。 (3) 析取, 符号: ∨ , 当且仅当P与Q的真值同为假,命题P∨Q的真值才为假;否则,P∨Q的真值为真。 (4) 异或, 符号: ▽ , 当且仅当P与Q的真值不同时,命题P▽Q的真值才为真;否则,P▽Q的真值为真。 (5) 蕴涵, 符号: →, 当且仅当P为T,Q为F时,命题P→Q的真值才为假;否则,P→Q 的真值为真。 (6) 等价, 符号: ? , 当且仅当P,Q的真值不同时,命题P?Q的真值才为假;否 则,P→Q的真值为真。 三.实验内容 编写一个程序实现非运算、合取运算、析取运算、异或运算、蕴涵运算、等价运算。四.算法程序 #include void main() { printf("请输入P、Q的真值\n"); int a,b; scanf("%d%d",&a,&b); int c,d; if(a==1) c=0; else c=1; if(b==1) d=0; else d=1; printf("非P、Q的结果为%d,%d\n",c,d);

数学实验作业

练习2﹒1 画出下列常见曲线的图形(其中a=1,b=2,c=3)。 1. 立方抛物线y = 解: x=-4:0.1:4; y=x.^(1/3); plot(x,y) -4 -3-2-101234 0.20.40.60.811.21.4 1.6 2.高斯曲线2 x y e -= 解: fplot('exp(-x^2)',[-4,4])

-4 -3 -2 -1 1 2 3 4 00.10.20.30.40.50.60.70.80.9 1 3、笛卡儿曲线23 3 2 2 33,(3)11at at x y x y axy t t = = +=++ 解:ezplot('x^3+y^3-3*x*y',[-4,4])

-4 -3-2-1 01234 -4-3-2-10123 4x y x 3+y 3-3 x y = 0 或:t=-4:0.1:4; x=3*t./(1+t.^2); y=3*t.^2./(1+t.^2); plot(x,y)

-1.5 -1-0.500.51 1.5 00.5 1 1.5 2 2.5 3 4、蔓叶线233 2 2 2 ,()11at at x x y y t t a x = = = ++- 解:t=-4:0.1:4; x=t.^2./(1+t.^2); y=t.^3,/(1+t.^2); y=t.^3./(1+t.^2); plot(x,y)

00.10.20.30.40.50.60.70.80.91 -4 -3-2-10123 4 或: ezplot('y .^2-x.^3/(1-x)',[-4,4])

《数学建模与数学实验》上机报告

《数学建模与数学实验》上机报告(第 1 次) 一、上机训练目的、题目或内容(简述综述)等 题目一:数学软件(MathType5.2、MATLAB 、Maple、Mathematica4.0、LINGO8.0)安装调试;基本命令使用(变量赋值、定义函数、过程控制、绘图命令、拟合、线性规划、非线性规划);高等数学实验(绘图,极限,求导,积分,解微分方程);线性代数实验(矩阵基本运算,线性方程组求解,解超定方程组,优化命令)。调试运行给定的两个程序: 题目二: 1、以两种方式打开MATLAB 工作窗口,进入MATLAB 6.0 的工作环境,并尝试用不同的方式退出。(这个在报告里面说明方法就可以) 2、尝试、熟悉MATLAB 6.0 的各栏菜单以及各个工具栏的功能。(自己掌握,报告里面就不写了) 3、绘制函数y=cos(5x+2)/sin(3x+1) 的图像,并求解当x=2 时的函数值。 4、练习并熟练掌握MATLAB 的帮助命令,学会利用MATLAB 的帮助信息。 5、求矩阵A=的行列式、逆的特征根;B=,解方程BX= 6、两个矩阵A=B=将矩阵改为3行3列的矩阵,作加、减、乘和除(左 除,右除)运算,同事运用数组运算法则进行运算,比较二者计算结果有何异同。 二、数学模型或求解分析或算法描述程序命令图形等 题目一: 1) c=[6,3,4]; A=[0,1,0]; b=[50]; Aeq=[1,1,1]; beq=[120]; vlb=[30,0,20]; vub=[]; [x,fval]=linprog(c,A,b,Aeq,beq,vlb,vub) 2) function f=fun3(x); f=-x(1)-2*x(2)+(1/2)*x(1)^2+(1/2)*x(2)^2 x0=[1;1]; A=[2 3 ;1 4]; b=[6;5]; Aeq=[];beq=[]; VLB=[0;0]; VUB=[]; [x,fval]=fmincon('fun3',x0,A,b,Aeq,beq,VLB,VUB) 题目二: 3. x=2; y=cos(5*x+2)./sin(3*x+1) x=[-10:0.01:10]; y=cos(5*x+2)./sin(3*x+1); plot(x,y)

汇编语言上机实验十2015李中

实验十输入/输出与中断实验 一、实验目的 1.掌握输入/输出与中断指令的使用方法; 2.掌握中断向量表的结构及使用方法; 3.掌握INT 指令的使用方法; 4.掌握BIOS 中断功能调用的使用方法; 5.掌握DOS 功能调用的使用方法。 二、实验要求 1.了解INT 指令与CALL 指令的不同点; 2.会用DEBUG 观察中断向量表; 3.会用DEBUG 的T 和P 命令执行INT 指令; 4.会用INT 10H、INT 16H 编制程序; 5.会用DOS 功能调用的02H、09H 功能编制程序 三、实验题目 1. 编制程序。利用IBM PC BIOS 功能调用的INT 16H 功能,编制一个从键盘上接收若干个字符串的程序。 2.编制程序。利用IBM PC BIOS 功能调用的INT 10H 功能,编制一个在屏幕上指定位置显示若干个字符串的程序。 四、实验思路 1调用INT16号功能实现输入字符,并且用int10号功能实现显示字符,并且将字符保存到data开始的内存单元中,如果不是ctrl+c的话循环输入输出,是的话结束程序.

2用INT10中03功能读出当前光标位置,然后保存当前的光标位置,只有用INT10中的02号功能设置要显示字符的位置,调用INT10的0E号功能循环显示字符,遇到结尾符号0的时候结束输出,然后恢复光标位置,调用INT10的1号功能恢复光标类型,用INT10的2号功能设置光标位置,使光标位置回到起点,结束程序. PUSH DX;保存当前光标位置 PUSH CX;保存光标类型 MOV DX,1020H;设置光标位置 MOV AH,02H INT 10H;设置光标位置 五、实验程序 1 DSEG SEGMENT;数据段开始 DATA DB 80 DUP (0);存储数据的单元 DSEG ENDS ;数据段结束 CSEG SEGMENT;代码段开始 ASSUME CS:CSEG,DS:DSEG;段假设 START: MOV AX,DSEG MOV DS,AX;段地址初始化

(完整版)离散数学实验指导书及其答案

实验一命题逻辑公式化简 【实验目的】加深对五个基本联结词(否定、合取、析取、条件、双条件)的理解、掌握利用基本等价公式化简公式的方法。 【实验内容】用化简命题逻辑公式的方法设计一个表决开关电路。 实验用例:用化简命题逻辑公式的方法设计一个 5 人表决开关电路,要求 3 人以上(含 3 人)同意则表决通过(表决开关亮)。 【实验原理和方法】 (1)写出5人表决开关电路真值表,从真值表得出5 人表决开关电路的主合取公式(或主析取公式),将公式化简成尽可能含五个基本联结词最少的等价公式。 (2)上面公式中的每一个联结词是一个开关元件,将它们定义成 C 语言中的函数。 (3)输入5人表决值(0或1),调用上面定义的函数,将5人表决开关电路真值表的等价公式写成一个函数表达式。 (4)输出函数表达式的结果,如果是1,则表明表决通过,否则表决不通过。 参考代码: #include int vote(int a,int b,int c,int d,int e) { // 五人中任取三人的不同的取法有10种。 i f( a&&b&&c || a&&b&&d || a&&b&&e || a&&c&&d || a&&c&&e || a&&d&&e || b&&c&&d || b&&c&&e || b&&d&&e || c&&d&&e) return 1; else return 0; } void main() { i nt a,b,c,d,e; printf(" 请输入第五个人的表决值(0 或1,空格分开):"); scanf ("%d%d%d%d%d",&a,&b,&c,&d,&e); i f(vote(a,b,c,d,e)) printf(" 很好,表决通过!\n"); else printf(" 遗憾,表决没有通过!\n"); } // 注:联结词不定义成函数,否则太繁 实验二命题逻辑推理 【实验目的】加深对命题逻辑推理方法的理解。【实验内容】用命题逻辑推理的方法解决逻辑

数学建模作业——实验1

数学建模作业——实验1 学院:软件学院 姓名: 学号: 班级:软件工程2015级 GCT班 邮箱: 电话: 日期:2016年5月10日

基本实验 1.椅子放平问题 依照1.2.1节中的“椅子问题”的方法,将假设中的“四腿长相同并且四脚连线呈正方形”,改为“四腿长相同并且四脚连线呈长方形”,其余假设不变,问椅子还能放平吗?如果能,请证明;如果不能,请举出相应的例子。 答:能放平,证明如下: 如上图,以椅子的中心点建立坐标,O为原点,A、B、C、D为椅子四脚的初始位置,通过旋转椅子到A’、B’、C’、D’,旋转的角度为α,记A、B两脚,C、D两脚距离地面的距离为f(α)和g(α),由于椅子的四脚在任何位置至少有3脚着地,且f(α)、g(α)是α的连续函数,则f(α)和g(α)至少有一个的值为0,即f(α)g(α)=0,f(α)≥0,g(α)≥0,若f(0)>0,g(0)=0,

则一定存在α’∈(0,π),使得 f(α’)=g(α’)=0 令α=π(即椅子旋转180°,AB 边与CD 边互换),则 f(π)=0,g(π)>0 定义h(α)= f(α)-g(α),得到 h(0)=f(0)-g(0)>0 h(π)=f(π)-g(π) <0 根据连续函数的零点定理,则存在α’∈( 0,π),使得 h(α’)= f(α’)-g(α’)=0 结合条件f(α’)g(α’)=0,从而得到 f(α’)=g(α’)=0,即四脚着地,椅子放平。 2. 过河问题 依照1.2.2节中的“商人安全过河”的方法,完成下面的智力游戏:人带着猫、鸡、米过河,船除需要人划之外,至多能载猫、鸡、米之一,而当人不在场时,猫要吃鸡、鸡要吃米,试设计一个安全过河的方案,并使渡河的次数尽量的少。 答: 用i =1,2,3,4分别代表人,猫,鸡,米。1=i x 在此岸,0 =i x 在对岸, ()4321,,,x x x x s =此岸状态,()43211,1,1,1x x x x D ----=对岸状态。安全状态集合为 :

计算方法上机实验报告

《计算方法》上机实验报告 班级:XXXXXX 小组成员:XXXXXXX XXXXXXX XXXXXXX XXXXXXX 任课教师:XXX 二〇一八年五月二十五日

前言 通过进行多次的上机实验,我们结合课本上的内容以及老师对我们的指导,能够较为熟练地掌握Newton 迭代法、Jacobi 迭代法、Gauss-Seidel 迭代法、Newton 插值法、Lagrange 插值法和Gauss 求积公式等六种算法的原理和使用方法,并参考课本例题进行了MATLAB 程序的编写。 以下为本次上机实验报告,按照实验内容共分为六部分。 实验一: 一、实验名称及题目: Newton 迭代法 例2.7(P38):应用Newton 迭代法求 在 附近的数值解 ,并使其满足 . 二、解题思路: 设'x 是0)(=x f 的根,选取0x 作为'x 初始近似值,过点())(,00x f x 做曲线)(x f y =的切线L ,L 的方程为))((')(000x x x f x f y -+=,求出L 与x 轴交点的横坐标) (') (0001x f x f x x - =,称1x 为'x 的一次近似值,过点))(,(11x f x 做曲线)(x f y =的切线,求该切线与x 轴的横坐标) (') (1112x f x f x x - =称2x 为'x

的二次近似值,重复以上过程,得'x 的近似值序列{}n x ,把 ) (') (1n n n n x f x f x x - =+称为'x 的1+n 次近似值,这种求解方法就是牛顿迭代法。 三、Matlab 程序代码: function newton_iteration(x0,tol) syms z %定义自变量 format long %定义精度 f=z*z*z-z-1; f1=diff(f);%求导 y=subs(f,z,x0); y1=subs(f1,z,x0);%向函数中代值 x1=x0-y/y1; k=1; while abs(x1-x0)>=tol x0=x1; y=subs(f,z,x0); y1=subs(f1,z,x0); x1=x0-y/y1;k=k+1; end x=double(x1) K 四、运行结果: 实验二:

实验一熟悉汇编语言上机环境.pdf

实验一熟悉汇编语言上机环境 一、实验目的 熟悉在微机上建立、汇编、连接、调试和运行汇编语言程序的全过程。 二、实验要求 1.仔细阅读本实验教程的第一章和第二章; 2.学会使用EDIT建立汇编语言源程序文件; 3.学会使用MASM将汇编语言源程序编译为目标程序的两种方法; 4.学会使用LINK将目标程序连接为可执行程序的两种方法; 5.学会使用DEBUG中的U、D、G命令。 三、实验举例 【例3.1】 编辑、汇编、连接、执行下列程序,观察实验结果。 【程序功能】该程序的功能是利用BIOS功能调用,从键盘上接收若干个字符,并将它们的ASCII码与键盘扫描码以十六进制的形式显示出来,当按下+键时,停止程序的执行。 【步骤一】 用EDIT编辑源程序,并以EXAM1.ASM为文件名存入磁盘。 程序清单如下: SSEG SEGMENT STACK STK DB 80H DUP(?) SSEG ENDS CSEG SEGMENT ASSUME CS:CSEG,SS:SSEG HTOA PROC NEAR ;该子程序的功能是将AL内容转换为ASCII码 AND AL,0FH CMP AL,10 JC HTOA1 ADD AL,07 HTOA1: ADD AL,30H RET HTOA ENDP BHTOA PROC NEAR ;该子程序的功能是将AL内容转换为ASCII码 PUSH CX MOV CH,AL MOV CL,04 SHR AL,CL CALL HTOA MOV AH,AL MOV AL,CH CALL HTOA POP CX RET BHTOA ENDP DISASC PROCN EAR ;该子程序的功能是在光标处显示AL中的字符 PUSH AX

离散数学实验报告

离散数学实验报告(实验ABC) 专业班级 学生姓名 学生学号 指导老师 完成时间

目录 第一章实验概述..................................... 错误!未定义书签。 实验目的....................................... 错误!未定义书签。 实验内容....................................... 错误!未定义书签。 实验环境....................................... 错误!未定义书签。第二章实验原理和实现过程........................... 错误!未定义书签。 实验原理....................................... 错误!未定义书签。 建立图的邻接矩阵,判断图是否连通 ............ 错误!未定义书签。 计算任意两个结点间的距离 ................... 错误!未定义书签。 对不连通的图输出其各个连通支 ................ 错误!未定义书签。 实验过程(算法描述)........................... 错误!未定义书签。 程序整体思路 ............................... 错误!未定义书签。 具体算法流程 ................................ 错误!未定义书签。第三章实验数据及结果分析........................... 错误!未定义书签。 建立图的邻接矩阵并判断图是否连通的功能测试及结果分析错误!未定义书签。 输入无向图的边 .............................. 错误!未定义书签。 建立图的连接矩阵 ............................ 错误!未定义书签。 其他功能的功能测试和结果分析................... 错误!未定义书签。 计算节点间的距离 ............................ 错误!未定义书签。 判断图的连通性 .............................. 错误!未定义书签。 输出图的连通支 .............................. 错误!未定义书签。 退出系统 .................................... 错误!未定义书签。第四章实验收获和心得体会........................... 错误!未定义书签。

MATLAB实验上机所用word(数值计算篇)

第三章数值计算 3.1LU分解和恰定方程组的解 Matlab矩阵的分解形式主要有:三角分解、正交化、特征值分解。 3.1.1LU三角分解、行列式和逆 1、LU分解是利用Gaussian列主元消去法进行的。为了保证主元消去策略的实施, 一般来说,必须对被分解矩阵实施行置换因此有:LU=PA 式中L为主对角元 为1的下三角矩阵,U是上三角矩阵,P是由0或1组成的行置换矩阵:[L U P]=lu(A) 2、A-1=U-1L-1P Matlab根据以上算法编制了相应的指令: det(a) 求矩阵a的行列式 inv(a) 求矩阵a的逆矩阵 3.1.2恰定方程组的解 在求解方程式,尽量不要使用inv(a)*b指令,而应采用a\b,后者计算速度比前者快,精确度高。 【例3.1.2-1】“求逆”法和“左除”法解恰定方程的性能对比 (1) randn('state',0); A=gallery('randsvd',100,2e13,2); %产生条件数为2e13的100阶随机矩阵x=ones(100,1); b=A*x; (2) tic xi=inv(A)*b; ti=toc (3) tic;xd=A\b;td=toc; 3.1.3矩阵特征值和矩阵函数 矩阵A与向量x相乘,即表示矩阵对向量的变换(transformation),一般说来,向量在变换的作用下将发生旋转(rotation),反射(reflection)和放大缩小。但对于任何一个矩阵来说,中存在那么一些特殊的向量,再对其变化的作用下,向量的方向不变,而仅长短发生变化。这种向量就是所谓的特征向量(eigenvector),它满足方程 Ax=λx 3.1.3.1特征值和特征向量的求取 d=eig(a) 仅仅计算a的特征值 [v d]=eig(a) 计算矩阵a的特征向量阵v和特征对角阵d,使av=vd成立。 【例3.1.3.1-1】简单实阵的特征值问题。 A=[1,-3;2,2/3];[V,D]=eig(A) V = 0.7746 0.7746

汇编语言上机实验汇总

汇编语言程序设计的实验环境及实验步骤 知识提要: 1、汇编语言源程序编写好以后, (1) 编辑源程序(生成 .ASM (2) 汇编源程序(.ASM → .OBJ (3) 连接目标程序(.OBJ → .EXE (4) 调试可执行程序(使用调试程序Debug 调试生成的.EXE 文件) (5) 运行程序输出结果。 2、 Windows 环境下的汇编语言集成编程环境的使用 实验一 汇编语言上机实验(一) 一、实验要求和目的 1、掌握汇编语言程序设计的基本方法和技能; 2、熟练掌握使用全屏幕编辑程序EDIT 编辑汇编语言源程序; 3、熟练掌握宏汇编程序MASM 的使用; 4、熟练掌握连接程序LINK 的使用。 二、软硬件环境 1、硬件环境:微机CPU 486以上,500MB 以上硬盘,32M 以上内存; 2、软件环境:装有MASM 、DEBUG 、LINK 等应用程序。 三、实验内容与步骤 1、实验内容 编写程序,判断一个年份是否是闰年。 2、实验步骤 汇编语言程序设计上机过程如图1.1所示。 图1.1 汇编语言程序上机过程 (一)用编辑程序EDIT 建立汇编语言源程序文件(ASM 文件)

建议源程序存放的目录名为MASM中,MASM子目录在D盘的根目录下。 可以在DOS模式下用编辑程序EDIT.EXE建立汇编语言源程序文件ABC.ASM,注意文件名的扩展名必须是.ASM。也可以在Windows 2000或者在Windows XP环境下鼠标单击“开始”→“运行”,在“运行”中输入“CMD”进入DOS模式,运行EDIT软件,例如:C:\documents and settings\administrator>cd\ *进入C盘根目录 C:\>d: *进入D盘 D:\>md masm *在D盘创建MASM文件夹D:\>cd masm *进入MASM文件夹 D:\masm>edit run.asm *建立run源文件 进入EDIT的程序编辑画面时,编写程序,判断一个年份是否是闰年的汇编语言源程序,输入汇编语言源程序如下: DATA SEGMENT INFON DB 0DH,0AH,'Please input a year: $' Y DB 0DH,0AH,'This is a leap year! $' N DB 0DH,0AH,'This is not a leap year! $' W DW 0 BUF DB 8 DB ? DB 8 DUP(?) DATA ENDS STACK SEGMENT 'stack' DB 200 DUP(0) STACK ENDS CODE SEGMENT ASSUME DS:DATA,SS:STACK,CS:CODE START: MOV AX,DATA MOV DS,AX LEA DX,INFON MOV AH,9 INT 21H LEA DX,BUF MOV AH,10 INT 21H MOV CL, [BUF+1] LEA DI,BUF+2 CALL DATACATE CALL IFYEARS JC A1 LEA DX,N MOV AH,9 INT 21H JMP EXIT A1: LEA DX,Y MOV AH,9 INT 21H EXIT: MOV AH,4CH INT 21H DATACATE PROC NEAR

北理工数学实验作业

一. 1. 1/e 2. 3 3.1 4.e3 5. ∞ 6. 0 7.∞ 8.0 9.1/2 10.0 11.e2c12.不存在13. 1/12 Matlab实验过程: 1.1/exp(1) syms n; f=(1-1/n)^n; limit(f,n,inf) ans = 1/exp(1) 2.3 syms n; f=(n^3+3^n)^(1/n); limit(f,n,inf) ans = 3 3. 1 syms n; f=(1+sin(2*n))/(1-cos(4*n)); limit(f,n,pi/4) ans = 1 4.e^3 syms x; f=(1+cos(x))^(3*sec(x)); limit(f,x,pi/2) ans = exp(3) 5.inf syms x; f=(x^2)*exp(1/(x^2));

limit(f,x,0) ans = Inf 6.0 syms x; f=(x^2-2*x+1)/(x^3-x); limit(f,x,1) ans = 7.inf syms x; f=((2/pi)*atan(x))^x; limit(f,x,+inf) ans = Inf 8.0 syms x y; f=(1-cos(x^2+y^2))/((x^2+y^2)*exp(x^2+y^2)); limit(limit(f,x,0),y,0) ans = 9.1/2 syms x; f=(1-cos(x))/(x*sin(x)); limit(f,x,0) ans = 1/2 10.0 syms x;

f=atan(x)/(2*x); limit(f,x,inf) ans = 11.exp(2*c) syms c; f=sym('((x+c)/(x-c))^x'); limit(f,'x',inf) ans = exp(2*c) 12.极限不存在 syms x; f=cos(1/x); limit(f,x,0) ans = limit(cos(1/x), x = 0) 13.1/12 syms x; f=1/(x*log(x)^2)-1/(x-1)^2; limit(f,x,1) ans = 1/12 二.观察函数logbx,当b=1/2,1/3,1/4和b=2,3,4时函数的变化特点,总结logbx的图形特点。

数学实验期末考试上机考试

2014-2015学年第一学期数学实验上机试卷 一、上机操作题 1. 画出以下函数图形(要求写出程序和结果): ⑴ 3411()2 1 x x x f x x x ?++≥=? +>求 ⑵22(sin )(1cos )x a t t d y y a t dx =-??=-? 求 ⑶ 2cos (sin )'x y x y =求 ⑷22 2''02 1 (,),x y x y x y u u x y e u u x +==?=?求及 结果:⑴ ⑵ ⑶ ⑷ 4. 计算下列积分(要求写出程序和计算结果): ⑴ 211ln 11x dx x x +--? ⑵2220sec 2tan x dx x π+?

(3) 2,02}x x ≤≤≤?? 2其中D={(x,y):y (4) 2221 L dl x y z ++?其中L 为空间螺旋线cos ,sin ,(02,0)x a t y a t z bt t b π===≤≤> . (5) 222()S x y z dS ++?? 其中S 是球2222x y z az ++=. (6) 22S x dydz y dzdx +?? 其中S 为球面2222()()()x a y b z c R -+-+-=的外侧. 结果:⑴ ⑵ ⑶ ⑷ ⑸ ⑹ 5. 判断以下级数的敛散性: ⑴ 1()21n n n n +∞ =+∑ ⑵ 12n n n x n +∞ =∑ 结果:⑴ ⑵ 6. 用两种以上的方法求解下列方程组: 1234234 1242342344331733 x x x x x x x x x x x x x -+-=??-+=-?? ++=??-++=-? 结果: 二、写出解题的思想,计算过程和程序,结果及分析等内容. ⑴在某化学反应里,由实验得到生成物的浓度y 与时间t 有如下关系,求浓度与时间的关系的拟合函数.(30分) ⑵某公司刊登广告:“现有一栋住宅楼,每套只需自备七万元,其余由公司贷款,贷款可分期偿还,每月只需800元,十年还清。”现在的问题是如果一次性付清该付多少(即该房屋的实际价格是多少)?如果贷款,买房人实际借了多少钱?(假设月利率为1%)(40分)

汇编语言上机实验

汇编语言程序设计的实验环境及实验步骤 知识提要: 1、汇编语言源程序编写好以后,必须经过下列几个步骤才能在机器上运行: (1) 编辑源程序(生成.ASM文件) (2) 汇编源程序(.ASM → .OBJ) (3) 连接目标程序(.OBJ → .EXE ) (4) 调试可执行程序(使用调试程序Debug调试生成的.EXE文件) (5) 运行程序输出结果。 2、Windows环境下的汇编语言集成编程环境的使用 实验一汇编语言上机实验(一) 一、实验要求和目的 1、掌握汇编语言程序设计的基本方法和技能; 2、熟练掌握使用全屏幕编辑程序EDIT编辑汇编语言源程序; 3、熟练掌握宏汇编程序MASM的使用; 4、熟练掌握连接程序LINK的使用。 二、软硬件环境 1、硬件环境:微机CPU 486以上,500MB以上硬盘,32M以上内存; 2、软件环境:装有MASM、DEBUG、LINK等应用程序。 三、实验内容与步骤 1、实验内容 编写程序,判断一个年份是否是闰年。 2、实验步骤 汇编语言程序设计上机过程如图1.1所示。 图1.1 汇编语言程序上机过程 (一)用编辑程序EDIT建立汇编语言源程序文件(ASM文件)

建议源程序存放的目录名为MASM中,MASM子目录在D盘的根目录下。 可以在DOS模式下用编辑程序EDIT.EXE建立汇编语言源程序文件ABC.ASM,注意文件名的扩展名必须是.ASM。也可以在Windows 2000或者在Windows XP环境下鼠标单击“开始”→“运行”,在“运行”中输入“CMD”进入DOS模式,运行EDIT软件,例如:C:\documents and settings\administrator>cd\ *进入C盘根目录 C:\>d: *进入D盘 D:\>md masm *在D盘创建MASM文件夹D:\>cd masm *进入MASM文件夹 D:\masm>edit run.asm *建立run源文件 进入EDIT的程序编辑画面时,编写程序,判断一个年份是否是闰年的汇编语言源程序,输入汇编语言源程序如下: DATA SEGMENT INFON DB 0DH,0AH,'Please input a year: $' Y DB 0DH,0AH,'This is a leap year! $' N DB 0DH,0AH,'This is not a leap year! $' W DW 0 BUF DB 8 DB ? DB 8 DUP(?) DATA ENDS STACK SEGMENT 'stack' DB 200 DUP(0) STACK ENDS CODE SEGMENT ASSUME DS:DATA,SS:STACK,CS:CODE START: MOV AX,DATA MOV DS,AX LEA DX,INFON MOV AH,9 INT 21H LEA DX,BUF MOV AH,10 INT 21H MOV CL, [BUF+1] LEA DI,BUF+2 CALL DATACATE CALL IFYEARS JC A1 LEA DX,N MOV AH,9 INT 21H JMP EXIT A1: LEA DX,Y MOV AH,9 INT 21H EXIT: MOV AH,4CH INT 21H DATACATE PROC NEAR

离散数学上机实验报告

离散数学上机实验报告

————————————————————————————————作者:————————————————————————————————日期: ?

《离散数学》 实验报告 姓名: 学号: 班级: ? 实验一连结词逻辑运算 一.实验目的 实现二元合取、析取、蕴涵和等价表达式的计算。熟悉连接词逻辑运算规则,利用程序语言实现逻辑这几种逻辑运算。

二.实验内容 从键盘输入两个命题变元P和Q的真值,求它们的合取、析取、蕴涵和等价四种运算的真值。要求对输入内容进行分析,如果不符合0、1条件需要重新输入,程序有良好的输入输出界面。 三.实验环境 使用Microsoft Visual C++6.0为编程软件,采用称C/C++语言为编程语言实现。 四.实验过程 1.算法分析: 合取:p,q都为1的时候为1,其他为0 析取:p,q都为0的时候为0,其他为1 蕴含:p为1,q为0时为0,其他为1 等价:p,q同真同假 2.程序代码: #include intmain() { ?int P,Q,a,b,c,d,p,q; printf(" P的值"); for(P=0;P<2;P++) ?{ ?for(Q=0;Q<2;Q++) ??printf("\t%d",P); ?} printf("\n Q的值"); for(P=0;P<2;P++) ?{ ??for(Q=0;Q<2;Q++) ?printf("\t%d",Q); ?} printf("\n 非P的值"); for(P=0;P<2;P++) { ?for(Q=0;Q<2;Q++) ?{ ??if(P==0)/*判断非P的值*/ ???p=1; ??else ??p=0; ???printf("\t%d",p); ?} ?}

数学实验作业汇总终审稿)

数学实验作业汇总 文稿归稿存档编号:[KKUY-KKIO69-OTM243-OLUI129-G00I-FDQS58-

(1)产生一个5阶魔方矩阵M:M=magic(5) (2)将矩阵M的第3行4列元素赋值给变量t:t=M(3,4) (3)将由矩阵M第2,3,4行第2,5列构成的子矩阵赋给变N:N=M(2:4,2:3:5) (4)将由矩阵M的前3行赋给变量N:N=M(1:3,:) (5)将由矩阵M的后3列赋给变量N:N=M(:,end:-1:end-2) (6)提取M的主对角线元素,并以这些对角线元素构成对角矩阵N:N=diag(diag(M))或N=tril(triu(M)) (7)随机产生1000个100以内的整数赋值给变量t:t=round(rand(1,1000)*100) (8)随机产生100*5个100以内的实数赋值给变量M:M=rand(100,5)*100 (1)删除矩阵M的第7个元素M(7)=[] (2)将含有12个元素的向量t转换成3*4的矩阵:reshape(t,3,4) (3)产生和M同样大小的单位矩阵:eye(size(M)) (4)寻找向量t中非零元素的下标:find(t) (5)逆序显示向量t中的元素:t(end:-1:1) (6)显示向量t偶数位置上的元素:t(2:2:end) (7)利用find函数,将向量t中小于10的整数置为0:t(find(t<10&rem(t,1)==0))=0(8)不用find函数,将向量t中小于10的整数置为0:t(t<10&rem(t,1)==0)=0 (9)将向量t中的0元素用机器0(realmin)来代替:t(find(t=0))=realmin (10)将矩阵M中小于10的整数置为0:M(find(M<10)&rem(M,1)==0)=0

离散数学上机实验报告

离 散 数 学 实 验 报 告 姓名: 学号: 班级:

离散数学实验报告 实验一真值计算 实验内容: 从键盘输入两个命题P和Q的真值,求它们的合取、析取、条件和双条件的真值。用C语言实现。 实验源程序和运行结果如下: #include "" void main() { char p,q,t; int p1,q1; cout<<"输入p,q的真值(F或T)"<>p>>q; if(p=='F') p1=0; else p1=1; if(q=='F') q1=0; else q1=1;

.\n选择2计算对称闭包...\n选择3用R+计算传递闭包...\n选择4用washall 计算传递闭包...\n计算结束后选择0退出\n"); scanf("%d",&t); switch(t) { case 1: { for(i=0;i

for(i=0;i

相关文档
最新文档