文档库 最新最全的文档下载
当前位置:文档库 › matlab2012实验1参考答案

matlab2012实验1参考答案

matlab2012实验1参考答案
matlab2012实验1参考答案

MATLAB 实验一 MATLAB 数值计算

试验报告说明:

1 做试验前请先预习,并独立完成试验和试验报告。

2 报告解答方式:将MATLAB 执行命令和最后运行结果从命令窗口拷贝到每题的题目下面,请将报告解答部分的底纹设置为灰色,以便于批阅。

3 在页眉上写清报告名称,学生姓名,学号,专业以及班级。 3 报告以Word 文档书写。

文档命名方式: 学号+姓名+_(下划线)+试验几.doc 如:110400220张三_试验1.doc 4 试验报告doc 文档以附件形式发送到maya_email@https://www.wendangku.net/doc/0e13416057.html, 。凡文档命名不符合规范,或者发送方式不正确,不予登记。

5 每次试验报告的最后提交期限:下次试验课之前。

一 目的和要求

1 熟练掌握MATLAB 变量的使用

2 熟练掌握矩阵的创建

3 熟练掌握MATLAB 的矩阵和数组的运算

4 使用元胞数组和结构数组

二 试验内容

1 创建矩阵(必做)

1.1使用直接输入,from:step:to ,linspace ,logspace 等方式创建矩阵。

1.2 输入矩阵12342

46836

9

12a ??

?= ? ??

?

1.2-1)分别使用全下标和单下标达方式取出元素“8”

>>a=[1 2 3 4;2 4 6 8;3 6 9 12]

>> a(2,4) %全下标方式 >> a(11) % 单下标方式

1.2-2)分别用不同的方式从矩阵a 中取出子矩阵??

???

?1286

4

3

2

%方法一:全下标方式 a([2,3],[1 2 4])

%方法二:单下标方式 a([2 5 11;3 6 12])

% 方法三:利用逻辑向量 l1=logical([0 1 1])

l2=logical([1 1 0 1]) a(l1,l2)

1.2-3)分别写出以下的执行结果:

a ( :, 3 ) a (:,end) a (:, 2 : 3) a ([1 3], : )

a (:) a (2 : 3) a([2 3 4])

本题解答略,希望大家熟练掌握数组运算中 : end 的用法以及 全下标,单下标等方式

2 矩阵的运算(必做)

2.1使用format 命令,将 pi 分别用short 和long 格式显示其值。

>> format short >> pi ans = 3.1416 >> format long >> pi ans =

3.14159265358979

2.2 设3x =, 4v =。利用MA TLAB 分别计算下面的表达式::

1) 2

2

log()x v + 2)

(2)

x v -

>> x=3; >> v=4;

>> log(x^2+v^2)

ans =

3.21887582486820

>> sqrt(x-3)/(x-2*v)^2 %此处,注意 / 和 \ 的使用区别,有同学混淆了 ans = 0

2.3 计算函数)4sin(1110

)(22

t e

z

t f t

--=的值,其中t 的范围从0到pi ,步长

0.1pi ;Z 为0.707。)(1t f 为0)(1≥t f 的部分,计算)(1t f 的值。

t=0:0.1*pi:pi;

z=0.707;

f=10*exp(-2*t).*sin(4*t)/sqrt(1-z^2) %或f=10/sqrt(1-z^2)*exp(-2*t).*sin(4*t)

l=(f>=0); % 关系运算,返回l 为逻辑向量 f1=f(l) % 利用逻辑向量l 取出f 中满足要求的元素

%也可以用此指令代替:

% li=find(f>0) %找出大于0元素的下标 % f1=f(li) ;

2.4 设A=[1 2 1; 2 4 2; 2 1 1]; B=[3 1 2; 1 2 2; 3 1 4]; C=A+i*B. 利用MATLAB 观察下列表达式的结果:1) C ’ 和 C .’ 2) A ’ 和 A .’ 3)A*B 和A .*B (注意比较’ 和.’的区别)

求解过程略。注意区别:’ 是共轭转置,.’是非共轭转置。 * 是矩阵乘,.*是数组乘。 2.5利用MATLAB 求解线性方程组。(思考:可以用几种方法实现)

???

??=+=++=++4

2032153y x z y x z y x a=[1 3 1;2 1 3; 1 1 0]

b=[15 20 4]' %注意符号 ' ,也可以写成b=[15;20;4], 注意符号 ;漏写则不是列向量 a\b %此处注意 / 和\ 的区别。 %解法二:

a=[1 3 1;2 1 3; 1 1 0] b=[15 20 4]'

inv(a)*b %此处,注意顺序,有同学写b*inv(a) 思考:错误在哪里?

%解法三

a=[1 3 1;2 1 3; 1 1 0] b=[15 20 4]'

a^-1*b

% 此题考用数值方法求解方程组。采用符号方法,解题如下: eq1=sym('x+3*y+z=15'); eq2=sym('2*x+y+3*z=20'); eq3=sym('x+y=4');

[x,y,z]=solve(eq1,eq2,eq3)

2.6 分别创建两个3*3的矩阵A=round(10*rand(3)) ,B=round(20*rand(3))-10,利用MATLAB 求B

A AB

1

-。

>> A=round(10*rand(3)),B=round(20*rand(3))-10 A =

10 5 5 2 9 0 6 8 8 B =

-1 8 -2 2 5 9

6 -6 8

>> det(A*inv(B))*det(A)/det(B) %或det(A/B)*det(A)/det(B)

% 或 det(A*B^(-1))*det(A)/det(B) 此题注意右除 / 和左除 \ 区别,有同学混淆。 ans =

2.34277384423157

4 多维数组

创建下面的矩阵????

??=43

21

A ,??????=1413

1211B ,??

?

???=2423

2221

C 4.1将它们合并为一个322??的多维数组 ABC A=[1 2;3 4] B=[11 12;13 14] C=[5 6;7 8] ABC(:,:,1)=A; ABC(:,:,2)=B;

ABC(:,:,3)=C;

或者:ABC=cat(3,A,B,C)

4.2提取ABC 矩阵元素‘22’。 ABC(1,2,3) %下标 或者:ABC(11); %索引

4.3将ABC 矩阵重排为3行,2列,2页 reshape(ABC,[3,2,2])

4.4分别提取A,B,C 矩阵的第2列,组成一个32?数组ABC2 ABC2=cat(2,A(:,2),B(:,2),C(:,2)) 或者: ABC2=[A(:,2),B(:,2),C(:,2)]

5 字符串

5.1 创建字符串。写出执行结果: str='hello matlab!', abs(str) double(str)

ss1=strvcat('this','is','a','','book') ss2=char('this','is','a','','book') ss3=str2mat('this','is','a','','book') 6元胞数组和结构数组的使用

学生信息存放在下列的表格中

6.1 创建元胞数组

1)将每个学生的姓名以字符串形式存储,并将所有的字符串存入一个元胞数组

name={'Mike';'Nancy';'Emily'}

2)将每个学生的学号以字符串形式存储,并将所有的字符串存入一个字符矩阵

id=['1001';'1002';'1003']

3)将学生的所有成绩存放在一个二维数组中

score=[67,83,90;70 78 86;85,80,92]

4)将1)2) 3)中创建的数组合并到一个元胞数组中

stuCell={name,id,score}

5)从4)中创建的元胞中提取所有学生的数学成绩。

stuCell{3}(:,2)

1创建结构数组,将表格信息保存在结构数组student中。

方法一:

student=struct('name',{'Mike','Nancy','Emily'},'id',{'1001','1002','1003'},'score',{[67,83,90],[70,78, 86],[85,80,92]})

思考:

student=struct('name',{'Mike','Nancy','Emily'},'id',['1001','1002','1003'],'score',[[67,83,90],[70,78,8 6],[85,80,92]])

显示结果是什么?错在哪里。

方法二:

student(1)=struct('name','Mike','Id','1001','score',[67 83 90]);

student(2)=struct('name','Nancy','Id','1002','score',[70 78 86]);

student(3)=struct('name','Emily','Id','1003','score',[85 80 92])

方法三:

student(1).name=('Mike')

student(1).id=’1001’

student(1).score=[67 83 90]

student(2).name=('Nancy')

student(2).id=’1002’

student(2).score=[70 78 86]

student(3).name=('Emily')

student(3).id=’1003’

student(3).score=[85 80 92];

2 用disp命令或者fprintf命令打印李四的成绩信息,显示格式如下:×××(姓名)的语文成绩:×××是: ×××

方法一:

fprintf('%s的语文成绩是%d\n',student(2).name,student(2).score(1));

方法二:

str=[student(2).name,'的语文成绩是:',num2str(student(2).score(1))]; disp(str)

思考:str=[student(2).name,'的语文成绩是:', student(2).score(1)];

disp(str)

显示结果将是什么?

Matlab上机实验答案

Matlab上机实验答案 实验一 MATLAB运算基础 1. 先求下列表达式的值,然后显示MATLAB工作空间的使用情况并保存全部变量。 >> z1=2*sin(85*pi/180)/(1+exp(2)) z1 = >> x=[2 1+2i; 5]; >> z2=1/2*log(x+sqrt(1+x^2)) z2 = - + + -

>> a=::; >> z3=(exp.*a)-exp.*a))./2.*sin(a++log(+a)./2) (>> z33=(exp*a)-exp*a))/2.*sin(a++log(+a)/2)可以验证z3==z33,是否都为1) z3 = Columns 1 through 5 + + + + + Columns 6 through 10 + + + + + Columns 11 through 15 + + + + + Columns 16 through 20 + + + + +

Columns 21 through 25 + + + + + Columns 26 through 30 + + + + + Columns 31 through 35 + + + + + Columns 36 through 40 + + + + + Columns 41 through 45 + + + + + Columns 46 through 50

+ + + + + Columns 51 through 55 + + + + + Columns 56 through 60 + + + + + Column 61 + (4) 2 2 4 2 01 112 2123 t t z t t t t t ?≤< ? =-≤< ? ?-+≤< ? ,其中t=0:: >> t=0::; >> z4=(t>=0&t<1).*(t.^2)+(t>=1&t<2).*(t.^2-1)+(t>=2&t<3).*(t.^ 2-2.*t+1) z4 =

海大-EDA实验1参考答案

Laboratory Exercise 1 Switches, Lights, and Multiplexers ED实验参与答案 Part1 library ieee; use ieee.std_logic_1164.all; entity part1 is port(SW:in std_logic_vector(17 downto 0); LEDR:out std_logic_vector(17 downto 0)); end part1; architecture Behavior of part1 is begin LEDR <= SW; end Behavior; part2 library ieee; use ieee.std_logic_1164.all; --a 2 to 1 multiplexer entity entity mux21 is port(in_x, in_y, in_s:in std_logic; out_m:out std_logic); end mux21; --a 2 to 1 multiplexer architecture architecture structural of mux21 is signal u, v:std_logic; begin u <= in_x and (not in_s); v <= in_y and in_s ; out_m <= u or v ; end structural;

--a eight-bit wide 2 to 1 multiplexer library ieee; use ieee.std_logic_1164.all; --eight-bit wide 2 to 1 multiplexer entity entity mux21_8bit is port( SW: in std_logic_vector (17 downto 0); --SW: in std_logic_vector (15 downto 8); --SW: in std_logic_vector (17 downto 17); LEDR: out std_logic_vector (7 downto 0)); end mux21_8bit; --eight-bit wide 2 to 1 multiplexera rchitecture architecture Structural of mux21_8bit is component mux21 port(in_x, in_y, in_s:in std_logic; out_m:out std_logic); end component; begin U1:mux21port map (in_x=>SW(0), in_y=>SW(8), in_s=>SW(17), out_m=>LEDR(0)); U2:mux21port map (in_x=>SW(1), in_y=>SW(9), in_s=>SW(17), out_m=>LEDR(1)); U3:mux21port map (in_x=>SW(2), in_y=>SW(10), in_s=>SW(17), out_m=>LEDR(2)); U4:mux21port map (in_x=>SW(3), in_y=>SW(11), in_s=>SW(17), out_m=>LEDR(3)); U5:mux21port map (in_x=>SW(4), in_y=>SW(12), in_s=>SW(17), out_m=>LEDR(4)); U6:mux21port map (in_x=>SW(5), in_y=>SW(13), in_s=>SW(17), out_m=>LEDR(5)); U7:mux21port map (in_x=>SW(6), in_y=>SW(14), in_s=>SW(17), out_m=>LEDR(6)); U8:mux21port map (in_x=>SW(7), in_y=>SW(15), in_s=>SW(17), out_m=>LEDR(7)); end Structural; part3 library ieee; use ieee.std_logic_1164.all; --a 2 to 1 multiplexer entity entity mux21 is port(in_x, in_y, in_s:in std_logic; out_m:out std_logic);

MATLAB全部实验及答案

MATLAB全部实验及答案 实验一、MATLAB基本操作 实验内容及步骤 4、有关向量、矩阵或数组的一些运算 (1)设A=15;B=20;求C=A+B与c=a+b? (2)设A=[1 2 3;4 5 6;7 8 9],B=[9 8 7;6 5 4;3 2 1];求A*B与 A.*B? A*B就是线代里面的矩阵相乘 A.*B是对应位置的元素相乘(3)设a=10,b=20;求i=a/b=0.5与j=a\b=2? (4)设a=[1 -2 3;4 5 -4;5 -6 7] 请设计出程序,分别找出小于0的矩阵元素及其位置(单下标、全 下标的形式),并将其单下标转换成全下标。 clear,clc a=[1 -2 3;4 5 -4;5 -6 7]; [x,y]=find(a<0); c=[]; for i=1:length(x) c(i,1)=a(x(i),y(i)); c(i,2)=x(i); c(i,3)=y(i); c(i,4)=(y(i)-1)*size(a,2)+x(i); end c

(5)在MATLAB命令行窗口运行A=[1,2;3,4]+i*[5,6;7,8];看结果如何?如果改成运行A=[1,2;3,4]+i[5,6;7,8],结果又如何?前面那 个是虚数矩阵,后面那个出错 (6)请写出完成下列计算的指令: a=[1 2 3;3 4 2;5 2 3],求a^2=?,a.^2=? a^2= 22 16 16 25 26 23 26 24 28 a.^2= 1 4 9 9 16 4 25 4 9 (7)有一段指令如下,请思考并说明运行结果及其原因 clear X=[1 2;8 9;3 6]; X( : ) 转化为列向量 (8)使用三元组方法,创建下列稀疏矩阵 2 0 8 0 0 0 0 1 0 4 0 0 6 0 0 0 方法一: clear,clc

Matlab上机实验

Matlab 上机实验 一、 实验目的 1、 掌握绘制MATLAB 二维、三维和特殊图形的常用函数; 2、 熟悉并掌握图像输入、输出及其常用处理的函数。 二、 实验内容 1 绘制函数的网格图和等高线图。42 2cos cos y x ye x z +-= 其中x 的21个值均匀分布在[-5,5]范围,y 的31个值均匀分布在[0,10],要求将产生的网格图和等高线图画在同一个图形窗口上。 2 绘制三维曲面图,使用纯铜色调色图阵进行着色,并进行插值着色 处理。?????===s z t s y t s x sin sin cos cos cos 230,20ππ≤≤≤≤t s 3 已知 ???????>++≤+=0),1ln(210,22x x x x e x y π 在-5<=x<=5区间绘制函数曲线。 4 已知y1=x2,y2=cos(2x),y3=y1*y2,其中x 为取值-2π~2π的等差数列(每次增加0.02π),完成下列操作: a) 在同一坐标系下用不同的颜色和线型绘制三条曲线,给三条曲线添加图例; b) 以子图形式,分别用条形图、阶梯图、杆图绘制三条曲线,并分别给三个图形添加标题“y1=x^2”,“y2=cos(2x)”和“y3=

y1*y2”。 5 在xy 平面内选择区域[][],,-?-8888 ,绘制函数 z =的三 种三维曲面图。 6 在[0,4pi]画sin(x),cos(x)(在同一个图象中); 其中cos(x)图象用红色小圆圈画.并在函数图上标注 “y=sin(x)”, “y=cos(x)” ,x 轴,y 轴,标题为“正弦余弦函数图象”. 7 分别用线框图和曲面图表现函数z=cos(x)sin(y)/y ,其中x 的取值为 [-1.5pi,1.5pi],y=x ,要求:要有标题、坐标轴标签 8 有一组测量数据满足-at e =y ,t 的变化范围为0~10,用不同的线型和标记点画出a=0.1、a=0.2和a=0.5三种情况下的曲线,并加入标题和图列框(用代码形式生成) 9 2 2y x xe z --=,当x 和y 的取值范围均为-2到2时,用建立子窗口 的方法在同一个图形窗口中绘制出三维线图、网线图、表面图和带渲染效果的表面图 10 x= [66 49 71 56 38],绘制饼图,并将第五个切块分离出来。 11 用sphere 函数产生球表面坐标,绘制不通明网线图、透明网线图、表面图和带剪孔的表面图。 12 以自己的个人画像或照片(JPG)为对象,读入该图像并了解图像的信息,同时利用所学函数对其进行灰度、二值、旋转及缩放等处理,并以PNG 形式输出。

MATLAB)课后实验答案[1]

实验一 MATLAB 运算基础 1. 先求下列表达式的值,然后显示MATLAB 工作空间的使用情况并保存全部变量。 (1) 0 12 2sin851z e =+ (2) 221ln(1)2 z x x =++,其中2 120.45 5i x +??=? ?-?? (3) 0.30.330.3sin(0.3)ln , 3.0, 2.9,,2.9,3.022a a e e a z a a --+= ++=-- (4) 2242011 122123t t z t t t t t ?≤=0&t<1).*(t.^2)+(t>=1&t<2).*(t.^2-1)+(t>=2&t<3) .*(t.^2-2*t+1)

4. 完成下列操作: (1) 求[100,999]之间能被21整除的数的个数。 (2) 建立一个字符串向量,删除其中的大写字母。 解:(1) 结果: m=100:999; n=find(mod(m,21)==0); length(n) ans = 43 (2). 建立一个字符串向量例如: ch='ABC123d4e56Fg9';则要求结果是: ch='ABC123d4e56Fg9'; k=find(ch>='A'&ch<='Z'); ch(k)=[] ch =

Matlab实验五分支结构程序设计答案

实验五分支结构程序设计 实验内容 (1)从键盘输入一个数,将它反向输出,例如输入693,输出为396 >> clear >> format long g s=input('s=') n=fix(log10(s)); A=0; for i=1:n a=fix(s/10^n); x=fix(mod(s,10^i)/10.^(i-1)); A=A+x*10^(n+1-i); end A+a s=693 s = 693 ans = 396 (2)输入一个百分制成绩,要求输出成绩等级A,B,C,D,E其中90-100位A,80-89为B,70-79为C,60-69为D,60以下为E 1)分别用if语句和switch语句实现 2)输入百分制成绩后要判断成绩的合理性,对不合理的成绩应输出出错信息 If语句 >> a=input('输入成绩') if a>=90&a<=100 disp('A 成绩合理'); elseif a>=80&a<90 disp('B 成绩合理'); elseif a>=70&a<80 disp('C 成绩合理');

elseif a>=60&a<70 disp('D 成绩合理'); elseif a<60 disp('E 成绩合理'); else disp('成绩错误') end 输入成绩98 a = 98 A 成绩合理 >> a=input('输入成绩') if a>=90&a<=100 disp('A 成绩合理'); elseif a>=80&a<90 disp('B 成绩合理'); elseif a>=70&a<80 disp('C 成绩合理'); elseif a>=60&a<70 disp('D 成绩合理'); elseif a<60 disp('E 成绩合理'); else disp('成绩错误') end 输入成绩148 a = 148 成绩错误 switch语句 >> a=input('输入成绩') switch a; case num2cell(0:59) disp('E 成绩合理'); case num2cell(60:69) disp('D 成绩合理'); case num2cell(70:79) disp('C 成绩合理'); case num2cell(80:89) disp('B 成绩合理'); case num2cell(90:100) disp('A 成绩合理'); otherwise disp('成绩错误'); end

matlab上机实验指导书

MATLAB应用基础实验指导书

第一章 MATLAB及其工作环境介绍 (1) 1.1 MATLAB简介 (1) 1.2 MATLAB的工作环境介绍 (1) 1.3 MATLAB的基本管理命令 (4) 第二章 MATLAB的数值计算功能 (5) 2.1 变量与赋值语句 (5) 2.2 MATLAB矩阵 (5) 2.3 MATLAB表达式 (10) 2.4 MATLAB常用数学函数 (11) 2.5 矩阵的基本运算 (12) 2.6 数组运算 (16) 2.7 多项式及其运算 (17) 第三章 MATLAB程序设计入门 (19) 3.1 M文件 (19) 3.2 数据的输入输出 (21) 3.3 全局变量和局部变量 (23) 3.4 程序流程控制 (23) 第四章 MATLAB的符号运算功能 (28) 4.1 建立符号对象 (28) 4.2 符号算术运算 (29) 4.3 符号微积分运算 (32) 4.4 符号函数的可视化 (34) 第五章 MATLAB的可视化功能 (37) 5.1 二维图形 (37) 5.2绘制三维图形 (42) 5.3 特殊坐标图形 (44) 5.4 图形句柄 (45)

第一章 MATLAB及其工作环境介绍 1.1 MATLAB简介 MATLAB是matrix和laboratory前三个字母的缩写,意思是实验室矩阵。MATLAB 语言是一种广泛应用于工程计算及数值分析领域的新型高级语言,自1984年由美国MathWorks公司推向市场以来,经过十多年的发展与完善,MATLAB已发展成为由MATLAB语言、MATLAB工作环境、MATLAB图象处理系统、MATLAB数学函数库和MATLAB 应用程序接口五大部分组成的集数值计算、图形处理、程序开发为一体的功能强大的体系。MATLAB由“主包”和三十多个扩展功能和应用学科性的工具箱组成。 MATLAB具有以下基本功能: ●数值计算功能 ●符号计算功能 ●图形处理及可视化功能 ●可视化建模及动态仿真功能 MATLAB语言是以矩阵计算为基础的程序设计语言,语法规则简单易学。其指令格式与数学表达式非常相近,用MATLAB编写程序犹如在便笺上列写公式和求解,因而被称为“便笺式”的编程语言。另外,MATLAB还具有功能丰富和完备的数学函数库及工具箱,大量繁杂的数学运算和分析可通过调用MATLAB函数直接求解,大大提高效率,其程序编译和执行速度远远超过了传统的C和FORTRAN语言,因而用MATLAB 编写程序,往往可以达到事半功倍的效果。在图形处理方面,MATLAB可以给数据以二维、三维乃至四维的直观表现,并在图形色彩、视角、品性等方面具有较强的渲染和控制能力,使技术人员对大量原始数据的分析变得轻松和得心应手。 MATLAB的上述特点,使它深受工程技术人员及科技专家的欢迎,并成为应用学科计算机辅助分析、设计、仿真、教学等领域不可缺少的基础软件。目前MATLAB已成为国际上公认的最优秀的科技应用软件。 1.2 MATLAB的工作环境介绍 一、MATLAB的工作环境

C实验报告1参考答案范文

《高级语言程序设计》实验报告 班级: 学号: 姓名: 成绩: 实验1熟悉Visual C++6.0环境及运行C 程序 一、实验目的 1.掌握在Visual C++6.0环境下C 程序的建立、编辑、编译和执行过程。 2.掌握C 程序的最基本框架结构,完成简单程序的编制与运行。 3.了解基本输入输出函数scanf()、printf ()的格式及使用方法。 4.掌握发现语法错误、逻辑错误的方法以及排除简单错误的操作技能。 二、实验内容 1.下列程序的功能是:从键盘输入两个数a 和b ,求它们的平方和,并在屏幕上输出。输入该C 程序,编译并运行之,记下屏幕的输出结果,以文件名sy1_1.c 保存。 #include main() { int a,b,sum; /*定义整型变量a 、b 、sum */ printf("Please Input a,b \n "); /*输出提示信息*/ scanf("%d%d",&a,&b); /*从键盘输入两个整数分别赋予a 和b*/ sum=a*a+b*b; /*赋值语句,把a 2+b 2的结果赋给变量sum*/ printf("%d*%d+ %d*%d=%d\n",a,a,b,b,sum); /*输出语句*/ } (1)下列程序的功能为:计算x*y 的值并将结果输出。试纠正程序中存在的错误,以实现其功能。程序以文件名sy1_2.c 保存。 #include main main () { int x=2;y=3;a int x=2;y=3;a ;

A=x*y a =x*y ; print ('a=%d",A); print f ("a=%d",a ); printf("\n"); } (2)下程序的功能为:求两数中的较大数据并输出。纠正程序中存在的错误,以实现其功能。程序以文件名 sy1_3.c 保存。 #include viod main() void main() { int a ,b , max; Scanf(“%d,%d ”,&a,&b); s canf(“%d,%d ”,&a,&b); Max=a; m ax=a; If (max main() { int x,y,total; /* 定义整型变量x,y,total*/ printf("Please input x,y ! "); /* 输出提示信息 */ scanf(“%d%d ”,&x,&y); /* 由键盘输入两个数分别赋予x 和y*/ total=x+y; /* 赋值语句 */ printf("%d + %d=%d\n",x,y,total); /* 输出两个整数的和 */ }

Matlab实验第一次实验答案

实验一Matlab使用方法和程序设计 一、实验目的 1、掌握Matlab软件使用的基本方法; 2、熟悉Matlab的数据表示、基本运算和程序控制语句 3、熟悉Matlab绘图命令及基本绘图控制 4、熟悉Matlab程序设计的基本方法 二、实验内容: 1、帮助命令 使用help命令,查找sqrt(开方)函数的使用方法; 解:sqrt Square root Syntax B = sqrt(X) Description B = sqrt(X) returns the square root of each element of the array X. For the elements of X that are negative or complex, sqrt(X) produces complex results. Remarks See sqrtm for the matrix square root. Examples sqrt((-2:2)') ans = 0 + 1.4142i 0 + 1.0000i

1.0000 1.4142 2、矩阵运算 (1)矩阵的乘法 已知A=[1 2;3 4]; B=[5 5;7 8]; 求A^2*B 解:A=[1 2;3 4 ]; B=[5 5;7 8 ]; A^2*B (2)矩阵除法 已知A=[1 2 3;4 5 6;7 8 9]; B=[1 0 0;0 2 0;0 0 3]; A\B,A/B 解:A=[1 2 3;4 5 6;7 8 9 ]; B=[1 0 0;0 2 0;0 0 3 ]; A\B,A/B (3)矩阵的转置及共轭转置

MATLAB上机实验(答案)

MATLAB工具软件实验(1) (1)生成一个4×4的随机矩阵,求该矩阵的特征值和特征向量。程序: A=rand(4) [L,D]=eig(A) 结果: A = 0.9501 0.8913 0.8214 0.9218 0.2311 0.7621 0.4447 0.7382 0.6068 0.4565 0.6154 0.1763 0.4860 0.0185 0.7919 0.4057 L = -0.7412 -0.2729 - 0.1338i -0.2729 + 0.1338i -0.5413 -0.3955 -0.2609 - 0.4421i -0.2609 + 0.4421i 0.5416 -0.4062 -0.0833 + 0.4672i -0.0833 - 0.4672i 0.4276 -0.3595 0.6472 0.6472 -0.4804 D = 2.3230 0 0 0 0 0.0914 + 0.4586i 0 0 0 0 0.0914 - 0.4586i 0 0 0 0 0.2275 (2)给出一系列的a值,采用函数 22 22 1 25 x y a a += - 画一组椭圆。 程序: a=0.5:0.5:4.5; % a的绝对值不能大于5 t=[0:pi/50:2*pi]'; % 用参数t表示椭圆方程 X=cos(t)*a; Y=sin(t)*sqrt(25-a.^2); plot(X,Y) 结果: (3)X=[9,2,-3,-6,7,-2,1,7,4,-6,8,4,0,-2], (a)写出计算其负元素个数的程序。程序: X=[9,2,-3,-6,7,-2,1,7,4,-6,8,4,0,-2]; L=X<0; A=sum(L) 结果: A =

水力学实验1-参考答案

水力学实验 参考答案 静水压强实验 1.同一静止液体内的测压管水头线是根什么线? 测压管水头指p z +,即静水力学实验仪显示的测压管液面至基准面的垂直高度。测压管水头线指测压管液面的连线。实验直接观察可知,同一静止液面内的测压管水头线是一根水平线。 2.当0?B p 时,试根据记录数据,确定水箱内的真空区域。 0?B p ,相应容器的真空区域包括以下三个部分: (1)过测压管2液面作一水平面,由等压面原理知,相对测压管2及水箱内的水体而言,该水平面为等压面,均为大气压强,故该平面以上由密封的水、气所占区域,均为真空区域。 (2)同理,过箱顶小不杯的液面作一水平面,测压管4中,该平面以上的水体亦为真空区域。 (3)在测压管5中,自水面向下深度某一段水柱亦为真空区域。这段高度与测压管2液面低于水箱液面的高度相等,亦与测压管4液面高于小水杯液面高度相等。 3.若再备一根直尺,试采用另外最简便的方法测定0γ。 最简单的方法,是用直尺分别测量水箱内通大气情况下,管5油水界面至水面和油水界面至油面的垂直高度h 和0h ,由式00h h w w γγ= ,从而求得0γ。 4.如测压管太细,对于测压管液面的读数将有何影响? 设被测液体为水,测压管太细,测压管液面因毛细现象而升高,造成测量误差,毛细高度由下式计算 γ θσd h cos 4= 式中,σ为表面张力系数;γ为液体容量;d 为测压管的内径;h 为毛细升高。常温的水,

m N 073.0=σ,30098.0m N =γ。水与玻璃的浸润角θ很小,可以认为0.1cos =θ。于是有 d h 7.29= (h 、d 均以mm 计) 一般来说,当玻璃测压管的内径大于10mm 时,毛细影响可略而不计。另外,当水质不洁时,σ减小,毛细高度亦较净水小;当采用有机下班玻璃作测压管时,浸润角θ较大,其h 较普通玻璃管小。 如果用同一根测压管测量液体相对压差值,则毛细现象无任何影响。因为测量高、低压强时均有毛细现象,但在计算压差时,互相抵消了。 5.过C 点作一水平面,相对管1、2、5及水箱中液体而言,这个水平面是不是等压面?哪一部分液体是同一等压面? 不全是等压面,它仅相对管1、2及水箱中的液体而言,这个水平面才是等压面。因为只有全部具有下列5个条件的平面才是等压面:(1)重力液体;(2)静止;(3)连通;(4)连通介质为同一均质液体;(5)同一水平面。而管5与水箱之间不符合条件(4),相对管5和水箱中的液体而言,该水平面不是水平面。 6、用该实验装置能演示变液位下的恒定水流吗? 关闭各通气阀门,开启底阀,放水片刻,可看到有空气由C 进入水箱。这时阀门的出流就是变液位下的恒定水流。因为由观察可知,测压管1的液面始终与C 点同高,表明作用于底阀上的总水头不变,故为恒定流动。这是由于液位的降低与空气补充使箱体表面真空度的减小处于平衡状态。医学上的点滴注射就是此原理应用的一例,医学上称这为马利奥特容器的变液位下恒定流。

MATLAB实验报告(1-4)

信号与系统MATLAB第一次实验报告 一、实验目的 1.熟悉MATLAB软件并会简单的使用运算和简单二维图的绘制。 2.学会运用MATLAB表示常用连续时间信号的方法 3.观察并熟悉一些信号的波形和特性。 4.学会运用MATLAB进行连续信号时移、反折和尺度变换。 5.学会运用MATLAB进行连续时间微分、积分运算。 6.学会运用MATLAB进行连续信号相加、相乘运算。 7.学会运用MATLAB进行连续信号的奇偶分解。 二、实验任务 将实验书中的例题和解析看懂,并在MATLAB软件中练习例题,最终将作业完成。 三、实验内容 1.MATLAB软件基本运算入门。 1). MATLAB软件的数值计算: 算数运算 向量运算:1.向量元素要用”[ ]”括起来,元素之间可用空格、逗号分隔生成行向量,用分号分隔生成列向量。2.x=x0:step:xn.其中x0位初始值,step表示步长或者增量,xn 为结束值。 矩阵运算:1.矩阵”[ ]”括起来;矩阵每一行的各个元素必须用”,”或者空格分开; 矩阵的不同行之间必须用分号”;”或者ENTER分开。2.矩阵的加法或者减法运算是将矩阵的对应元素分别进行加法或者减法的运算。3.常用的点运算包括”.*”、”./”、”.\”、”.^”等等。 举例:计算一个函数并绘制出在对应区间上对应的值。

2).MATLAB软件的符号运算:定义符号变量的语句格式为”syms 变量名” 2.MATLAB软件简单二维图形绘制 1).函数y=f(x)关于变量x的曲线绘制用语:>>plot(x,y) 2).输出多个图像表顺序:例如m和n表示在一个窗口中显示m行n列个图像,p表 示第p个区域,表达为subplot(mnp)或者subplot(m,n,p) 3).表示输出表格横轴纵轴表达范围:axis([xmax,xmin,ymax,ymin]) 4).标上横轴纵轴的字母:xlabel(‘x’),ylabel(‘y’) 5).命名图像就在subplot写在同一行或者在下一个subplot前:title(‘……’) 6).输出:grid on 举例1: 举例2:

河南城建学院MATLAB上机实验答案

一熟悉Matlab工作环境 1、熟悉Matlab的5个基本窗口 思考题: (1)变量如何声明,变量名须遵守什么规则、是否区分大小写。 答:变量一般不需事先对变量的数据类型进行声明,系统会依据变量被赋值的类型自动进行类型识别,也就是说变量可以直接赋值而不用提前声明。变量名要遵守以下几条规则:?变量名必须以字母开头,只能由字母、数字或下划线组成。 ?变量名区分大小写。 ?变量名不能超过63个字符。 ?关键字不能作为变量名。 ?最好不要用特殊常量作为变量名。 (2)试说明分号、逗号、冒号的用法。 分号:分隔不想显示计算结果的各语句;矩阵行与行的分隔符。 逗号:分隔欲显示计算结果的各语句;变量分隔符;矩阵一行中各元素间的分隔符。 冒号:用于生成一维数值数组;表示一维数组的全部元素或多维数组某一维的全部元素。 (3)linspace()称为“线性等分”函数,说明它的用法。 LINSPACE Linearly spaced vector. 线性等分函数 LINSPACE(X1, X2) generates a row vector of 100 linearly equally spaced points between X1 and X2. 以X1为首元素,X2为末元素平均生成100个元素的行向量。 LINSPACE(X1, X2, N) generates N points between X1 and X2. For N < 2, LINSPACE returns X2. 以X1为首元素,X2为末元素平均生成n个元素的行向量。如果n<2,返回X2。 Class support for inputs X1,X2: float: double, single 数据类型:单精度、双精度浮点型。 (4)说明函数ones()、zeros()、eye()的用法。 ones()生成全1矩阵。 zeros()生成全0矩阵。 eye()生成单位矩阵。 2、Matlab的数值显示格式

数据库实验1-6参考答案

实验一SQL Server使用初步 一、实验目的 1、熟悉SQL Server2000的组成及基本功能。 2、掌握SQL Server2000的登录及注册。 3、掌握SQL Server2000企业管理器的使用方法。 4、熟悉查询分析器的基本使用。 二、实验预习 1、什么是数据库管理系统DBMS?你所知道的DBMS有哪些? 答:DBMS是位于用户和操作系统之间的一层数据管理软件。常见的DBMS主要有:Oracle、db2、SQL Server、MySQL、PostgreSQL、SQLite、Firebird等等。 2、SQL Server 2000(2005)的安装步骤? 答:以企业版安装为例,步骤为: 将企业版安装光盘插入光驱后,出现以下提示框。请选择“安装 SQL Server 2000 组件” 出现下面对话框后,选择 "安装数据库服务器" 。 选择 "下一步",然后选择 "本地计算机" 进行安装。 在 "安装选择" 窗口,选择 "创建新的SQL Server实例..."。对于初次安装的用户,应选用这一安装模式,不需要使用 "高级选项" 进行安装。 "高级选项" 中的内容均可在安装完成后进行调整。 在 "用户信息" 窗口,输入用户信息,并接受软件许可证协议。 在“安装定义”窗口,选择“服务器和客户端工具”选项进行安装。 在“实例名”窗口,选择“默认”的实例名称。 在“安装类型”窗口,选择“典型”安装选项,并指定“目的文件夹”。 在 "服务账号" 窗口,请选择 "对每个服务使用统一账户..." 的选项。 在 "身份验证模式" 窗口,选择 "混合模式..." 选项,并设置管理员"sa"账号的密码。 最后按“下一步”即可完成安装。 检测安装:如果安装成功,应该能成功启动SQL Server,并且能和SQL Server 客户端连接上。 可以通过服务管理器来进行启动。

MATLAB上机实验练习题答案

数学建模 MATLAB上机实验练习题 1、给出一个系数矩阵A[234;541;132],U=[123],求出线性方程组的一个精确解。 2、给出两组数据x=[00.30.81.11.62.3]’y=[0.820.720.630.600.550.50]’,我们可以简单的 认为这组数据在一条衰减的指数函数曲线上,y=C1+C2e-t通过曲线拟合求出这条衰减曲线的表达式,并且在图形窗口画出这条曲线,已知的点用*表示。 3、解线性方程 4、通过测量得到一组数据: 5、已知一组测量值 6、从某一个过程中通过测量得到: 分别采用多项式和指数函数进行曲线拟合。 7、将一个窗口分成四个子窗口,分别用四种方法做出多峰函数的表面图(原始数据法,临近 插值法,双线性插值法,二重三次方插值法) 8、在同一窗口使用函数作图的方法绘出正弦、余弦、双曲正弦、双曲余弦。分别使用不同的 颜色,线形和标识符。 9、下面的矩阵X表示三种产品五年内的销售额,用函数pie显示每种产品在五年内的销售额

占总销售额的比例,并分离第三种产品的切片。 X=19.322.151.6 34.270.382.4 61.482.990.8 50.554.959.1 29.436.347.0 10、对应时间矢量t,测得一组矢量y t00.30.8 1.1 1.6 2.3 y0.50.82 1.14 1.25 1.35 1.40 采用一个带有线性参数的指数函数进行拟合,y=a0+a1e-t+a2te-t,利用回归方法求出拟合函数,并画出拟合曲线,已知点用圆点表示。 11、请创建如图所示的结构数组(9分) 姓名编号指标 江明顺071023身高:176,体重:82 于越忠060134身高:168,体重:74 邓拓050839身高:182,体重:77 12、创建如图所示的元胞数组。(9分) 13、某钢材厂从1990年到2010年的产量如下表所示,请利用三次样条插值的方法计算1999年该钢材厂的产量,并画出曲线,已知数据用‘*’表示。要求写出达到题目要求的MATLAB 操作过程,不要求计算结果。 年份19901992199419961998200020022004200620082010 产量(万吨)75.99591.972105.711123.203131.669150.697179.323203.212226.505249.633256.344 14、在一次化学动力学实验中,在某温度下乙醇溶液中,两种化合物反应的产物浓度与反应时间关系的原始数据如下,请对这组数据进行三次多项式拟合,并画出拟合曲线,已知数据如下。 time=[2.55.07.510.013.017.020.030.040.050.060.070.0] res=[0.290.560.771.051.361.522.002.272.813.053.253.56]

实验08-1参考答案

实验八指针程序设计 班级:学号:姓名:评分: 一.【实验目的】 1、理解指针、地址和数组间的关系。 2、掌握通过指针操作数组元素的方法。 3、掌握数组名作为函数参数的编程方式。 4、进一步掌握C程序的调试方法和技巧。 二.【实验内容和步骤】 1、程序调试题 A.目标:进一步学习掌握程序调试的方法和技巧。 B.内容:有n个整数,使各数顺序往后循环移动m个位置(m void mov(int *, int, int); int main() { int m, n, i, a[80], *p; printf("Input n, m:"); scanf("%d%d",&n,&m); for(p=a,i=0;i0;j--) x[j]=x[j-1]; /* 调试时设置断点 */ x[0]=k; } } ②运行结果:(提示:通过屏幕截图,贴粘程序运行界面)。

Matlab上机实验答案 (1)

Matlab上机实验答案 实验一MATLAB运算基础 1. 先求下列表达式的值,然后显示MATLAB工作空间的使用情况并保存全部变量。 >> z1=2*sin(85*pi/200)/(1+exp(2)) z1 = 0.2375 >> x=[2 1+2i;-0.45 5]; >> z2=1/2*log(x+sqrt(1+x^2)) z2 = 0.7120 - 0.0253i 0.8968 + 0.3658i 0.2209 + 0.9343i 1.2041 - 0.0044i 2.9,,2.9, 3.0

>> a=-3.0:0.1:3.0; >> z3=(exp(0.3.*a)-exp(-0.3.*a))./2.*sin(a+0.3)+log((0.3+a)./2) (>> z33=(exp(0.3*a)-exp(-0.3*a))/2.*sin(a+0.3)+log((0.3+a)/2)可以验证z3==z33,是否都为1) z3 = Columns 1 through 5 0.7388 + 3.2020i 0.7696 + 3.2020i 0.7871 + 3.2020i 0.7920 + 3.2020i 0.7822 + 3.2020i Columns 6 through 10 0.7602 + 3.2020i 0.7254 + 3.2020i 0.6784 + 3.2020i 0.6206 + 3.2020i 0.5496 + 3.2020i Columns 11 through 20 0.4688 + 3.2020i 0.3780 + 3.2020i 0.2775 + 3.2020i 0.2080 + 3.2020i 0.0497 + 3.2020i

中南大学软件学院软件体系结构实验1 UML实验-参考答案

《UML实验》参考答案 1. 某酒店订房系统描述如下: (1) 顾客可以选择在线预订,也可以直接去酒店通过前台服务员预订; (2) 前台服务员可以利用系统直接在前台预订房间; (3) 不管采用哪种预订方式,都需要在预订时支付相应订金; (4) 前台预订可以通过现金或信用卡的形式进行订金支付,但是网上预订只能通过信用卡进行支付; (5) 利用信用卡进行支付时需要和信用卡系统进行通信; (6) 客房部经理可以随时查看客房预订情况和每日收款情况。 绘制该酒店订房系统的用例图。 参考答案: 顾客 在线预订房间 前台预订房间通过现金支付订金 通过信用卡支付订金 查看客房预订情况 查看每日收款情况 2. 根据以下场景绘制用例图: 某企业为了方便员工用餐,为企业餐厅开发了一个订餐系统(COS:Cafeteria Ordering System),企业员工可通过企业内联网使用该系统。该系统功能描述如下: (1) 企业的任何员工都可以查看菜单和今日特价; (2) 系统的顾客是注册到系统的员工,可以在线订餐(以下操作均需先登录)、注册工资支付、修改订餐信息和删除订餐信息,在注册工资支付时需要通过工资系统进行身份验证; (3) 餐厅员工是特殊的顾客,可以进行备餐(系统记录备餐信息)、生成付费请求和请求送餐,其中对于注册使用工资支付的顾客生成付费请求并发送给工资系统;

(4) 菜单管理员是餐厅员工的一种,可以管理菜单; (5) 送餐员也是餐厅员工的一种,可以打印送餐说明、记录送餐信息(如送餐时间)以及记录收费(对于没有注册工资支付的顾客,由送餐员收取现金后记录)。 参考答案: <> 查看菜单 查看今日特价 在线订餐 注册工资支付 修改订餐信息 删除订餐信息 备餐 生成付费请求 请求送餐 管理菜单 打印送餐说明 记录送餐信息 记录收费 注册 登录

matlab实验报告

实验报告 2. The Branching statements 一、实验目的: 1.To grasp the use of the branching statements; 2.To grasp the top-down program design technique. 二、实验内容及要求: 1.实验内容: 1).编写 MATLAB 语句计算 y(t)的值 (Write the MATLAB program required to calculate y(t) from the equation) ???<+≥+-=0 530 53)(2 2t t t t t y 已知 t 从-5到 5 每隔0.5取一次值。运用循环和选择语句进行计算。 (for values of t between -5 and 5 in steps of 0.5. Use loops and branches to perform this calculation.) 2).用向量算法解决练习 1, 比较这两个方案的耗时。 (tic ,toc 的命令可以帮助你完成的时间计算,请使用'help'函数)。 Rewrite the program 1 using vectorization and compare the consuming time of these two programs. (tic, toc commands can help you to finish the time calculation, please use the …help ? function). 2.实验要求: 在报告中要体现top-down design technique, 对于 3 要写出完整的设计过程。 三、设计思路: 1.用循环和选择语句进行计算: 1).定义自变量t :t=-5:0.5:5; 2).用循环语句实现对自变量的遍历。 3).用选择语句实现对自变量的判断,选择。 4).将选择语句置入循环语句中,则实现在遍历中对数据的选择,从而实现程序的功能。 2. 用向量法实现: 1).定义自变量t :t=-5:0.5:5; 2).用 b=t>=0 语句,将t>=0得数据选择出,再通过向量运算y(b)=-3*t(b).^2 + 5; 得出结果。 3).用取反运算,选择出剩下的数据,在进行向量运算,得出结果。 四、实验程序和结果 1.实验程序 实验程序:创建m 文件:y_t.m

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