第一篇:上机习题2教案
实验二
基本矩阵操作
实验目的:
① 掌握matlab变量和数据操作;
② 掌握matlab矩阵的创立、拆分及特殊矩阵;
③ 掌握matlab运算,掌握matlab在矩阵分析中的应用,掌握稀疏矩阵的存储方式和创建方法;
④ 了解字符串处理函数。
实验要求:给出程序和实验结果。实验内容:
1、利用列向量1,2,3,10建立一个范得蒙矩阵A,并利用位于矩阵A的奇数
T行偶数列的元素建立一个新的矩阵B,须保持这些元素的相对位置不变。
2、矩阵的基本运算与点运算的区别。
3、给出矩阵的两种存储方式的联系和区别,这两种存储方式在实际应用中主要应用于具有什么特点的矩阵?
4.将字符串'very good'转换为等值的整数。
5.按水平和竖直方向分别合并下述两个矩阵:
6.分别删除第5题两个结果的第2行。
7.分别将第5题两个结果的第2行最后3列的数值改为[11 12 13]。8.
分别查看第5题两个结果的各方向长度。9.
分别判断pi是否为字符串和浮点数。
10.分别将第5题两个结果均转换为29的矩阵。11.计算第5题矩阵A的转置。
12.分别计算第5题矩阵A和B的A+B、A.* B和AB。13.判断第5题矩阵A和B中哪些元素值不小于4。
14.分别用函数strcat()和矩阵合并符合并如下字符串:' The picture is '和' very good '。
15.创建字符串数组,其中元素分别为‘Picture ’和'Pitch '。16.在第14题结果中查找字符串'e'。17.在第15题结果中匹配字符串'Pi'。
18.将十进制的50转换为二进制的字符串;将十六进制的字符串‘50’转换为三
进制的整数。
实验结果:
1.x=1:10 x =
A=Vander(x)B=A(1:2:9,2:2:10)2.矩阵的基本运算中A*B,A列长度必须和矩阵B的行长度一致。而点乘运算如A.*B则两矩阵必须具有相同长度,除非其中之一是标量。
3.矩阵的两种存储方式分别是满矩阵存储和稀疏矩阵存储。两种存储方式可以互相转化,满矩阵存储方式是MATLAB默认的存储方式。稀疏矩阵只有少数的元素非零,如果稀疏矩阵采用满矩阵存储方式会浪费很多存储空间。4.x=double('very good')x =
118
114
121
5.A=[1 0 0;1 1 0;0 0 1];B=[2 3 4;5 6 7;8 9 10];C=[A B] D=[A;B] 6.C(2,:)=[] D(2,:)=[] 7.C(2,4:1:6)=[11,12,13] C =
0
0
0
0
0
D(2,1:1:3)=[11,12,13] D =
0
0
0
0
8.c=size© d= Size(D)9.ischar(pi)ans =
0 Isfloat(pi)ans =
10.e=replace(C,2,9)f=replace(D,2,9)11.A=[1 0 0;1 1 0;0 0 1] a=transpose(A)A =
0
0
0
0
0
a=
0
0
0
0
0 12.A=[1 0 0;1 1 0;0 0 1] B=[2 3 4;5 6 7;8 9 10] h=A+B I=A.*B J=AB A =
0
0
0
0
0
B =
h =
I =
0
0
0
0
0
J =
13.a=A>=4 a =
0
0
0
0
0
0
0
0
0
>> b=B>=4 b =
0
0 14.a='The picture is ';>> b=' very good';>> c=strcat(a,b)c =
The picture is very good 或c=[a b] 15.c=char('Picture','Pitch')c =
Picture Pitch
16.str='The picture is very good.';index=strfind(str,'e')17.x=strmatch('pi',strvcat('pi''picture''pitch'))x =
18.(1)dec2bin([50])
ans =
110010(2)
Num=Str2num(['50']);dec2base(Num,3)
第二篇:Java上机实习题2
Java上机实习题
完成课本P162 第10,14(用application),15题
要求:计算器应具备基本功能,具有相应按键(数字键+功能键),能进行加、减、乘、除运算,并得出结果。
文字编辑器具备基本功能,例如:修改,保存等功能。
各题目在界面上不做统一规定,大家自行设计。美观,实现的功能越多得分也越高,但基本功能一定要实现。
作业的检查: 上机时会随机抽查10-15人,进行评分。此成绩是平时成绩的重要部分,记录到最终成绩中。
第三篇:上机习题3教案(范文模版)
实验三 MATLAB7.0基本编程
实验目的:
① 掌握脚本和函数;
② 掌握matlab中的变量和M文件的流控制语句; ③ 掌握函数的设计和实现。
实验要求:给出程序和实验结果。实验内容: 一、一个三位整数各位数字的立方和等于该数本身则称该数为水仙花数。输出全部水仙花数。
二、从键盘输入若干个数,当输入10时结束输入,求这些数的平均值和它们之和。
三、求[1000,2000]之间第一个能被17整除的整数。
四、若一个数等于它的各个真因子之和,则称该数为完数,如6=1+2+3,所以6是完数。求[1,10000]之间的全部完数。
五、Fibonacci数列定义如下:
f1=1 f2=1 fnfn1fn2,(n2)
求Fibonacci数列的第20项。
六、设计一个猜数游戏。首先由计算机产生[1,100]之间的随机整数,然后由用户猜测所产生的随机数。根据用户猜测的情况给出不同提示,如猜测的数大于产生的数,则显示“High”,小于则显示“Low”,等于则显示“You won”,同时退出游戏。用户最多可以猜7次。实验结果:
一、一个三位整数各位数字的立方和等于该数本身则称该数为水仙花数。输出全部水仙花数。
程序如下: for m=100:999 m1=fix(m/100);%求m的百位数字 m2=rem(fix(m/10),10);%求m的十位数字 m3=rem(m,10);%求m的个位数字 if m==m1*m1*m1+m2*m2*m2+m3*m3*m3 disp(m)end end 153 370 371 407
二、从键盘输入若干个数,当输入0时结束输入,求这些数的平均值和它们之和。程序如下: sum=0;cnt=0;val=input('Enter a number(end in 0):');while(val~=0)sum=sum+val;cnt=cnt+1;val=input('Enter a number(end in 0):');end if(cnt > 0)sum mean=sum/cnt end Enter a number(end in 0):45 Enter a number(end in 0):65 Enter a number(end in 0):342 Enter a number(end in 0):45 Enter a number(end in 0):67 Enter a number(end in 0):12 Enter a number(end in 0):0 sum = 576
mean =
三、求[100,200]之间第一个能被21整除的整数。程序如下: for n=100:200 if rem(n,21)~=0 continue end break end n n = 105
四、若一个数等于它的各个真因子之和,则称该数为完数,如6=1+2+3,所以6是完数。求[1,500]之间的全部完数。for m=1:500 s=0;for k=1:m/2 if rem(m,k)==0 s=s+k;end end if m==s disp(m);end end 6 28 496
五、Fibonacci数列定义如下:
f1=1 f2=1 fnfn1fn2,(n2)
求Fibonacci数列的第20项。编写程序为: for i=3:20;
f(1)=1;
f(2)=1;
f(i)=f(i-1)+f(i-2);end >> f f =
Columns 1 through 7 8
3 5 4
Columns 8 through 14
144
233
377
Columns 15 through 20
610
987
1597
2584
4181
6765
六、设计一个猜数游戏。首先由计算机产生[1,100]之间的随机整数,然后由用户猜测所产生的随机数。根据用户猜测的情况给出不同提示,如猜测的数大于产生的数,则显示“High”,小于则显示“Low”,等于则显示“You won”,同时退出游戏。用户最多可以猜7次。
命令如下:
a=fix(rand(1)*100+1);k=1;for k=1:7 n=input('输入一个1-100的整数:n=');if n>a disp('High');elseif n 补充: 例3-1 分别建立命令文件和函数文件,将华氏温度f转换为摄氏温度c。程序1: 首先建立命令文件并以文件名f2c.m存盘。M文件建立如下: clear;%清除工作空间中的变量 f=input('Input Fahrenheit temperature:');c=5*(f-32)/9 然后在MATLAB的命令窗口中输入f2c,将会执行该命令文件,执行情况为: Input Fahrenheit temperature:73 c = 22.7778 程序2: 首先建立函数文件f2c.m。function c=f2c(f)c=5*(f-32)/9 然后在MATLAB的命令窗口调用该函数文件。>> clear;y=input('Input Fahrenheit temperature:');x=f2c(y)Input Fahrenheit temperature:70 c = 21.1111 x = 21.1111 例3-2 输入x,y的值,并将它们的值互换后输出。程序如下: x=input('Input x please.'); y=input('Input y please.');z=x;x=y;y=z;disp(x);disp(y);Input x please.34 Input y please.54 54 34 例3-3 求一元二次方程ax2 +bx+c=0的根。程序如下: a=input('a=?');b=input('b=?');c=input('c=?');d=b*b-4*a*c;x=[(-b+sqrt(d))/(2*a),(-b-sqrt(d))/(2*a)];disp(['x1=',num2str(x(1)),',x2=',num2str(x(2))]);a=?1 b=?7 c=?9 x1=-1.6972,x2=-5.3028 例3-4 计算分段函数的值。 程序如下: x=input('请输入x的值:');if x<=0 y=(x+sqrt(pi))/exp(2);else y=log(x+sqrt(1+x*x))/2;end y 请输入x的值:5 y = 1.1562 例3-5 输入一个字符,若为大写字母,则输出其对应的小写字母;若为小写字母,则输出其对应的大写字母;若为数字字符则输出其对应的数值,若为其他字符则原样输出。 c=input('请输入一个字符','s');if c>='A' & c<='Z' disp(char(abs(c)+abs('a')-abs('A')));elseif c>='a'& c<='z' disp(char(abs(c)-abs('a')+abs('A')));elseif c>='0'& c<='9' disp(abs(c)-abs('0'));else disp(c);end 请输入一个字符O O 例3-6 某商场对顾客所购买的商品实行打折销售,标准如下(商品价格用price来表示): price<200 没有折扣 200≤price<500 3%折扣 500≤price<1000 5%折扣 1000≤price<2500 8%折扣 2500≤price<5000 10%折扣 5000≤price 14%折扣 输入所售商品的价格,求其实际销售价格 建立m文件且以eg.m命名: price=input('请输入商品价格');switch fix(price/100)case {0,1} %价格小于200 rate=0;case {2,3,4} %价格大于等于200但小于500 rate=3/100;case num2cell(5:9)% rate=5/100;case num2cell(10:24)% rate=8/100;case num2cell(25:49)% rate=10/100;otherwise % rate=14/100;end price=price*(1-rate)% eg 请输入商品价格390 price = 378.3000 >> eg 请输入商品价格23090 price = 价格大于等于500但小于1000 价格大于等于1000但小于2500 价格大于等于2500但小于5000 价格大于等于5000 输出商品实际销售价格 9 1.9857e+004 例3-7 矩阵乘法运算要求两矩阵的维数相容,否则会出错。先求两矩阵的乘积,若出错,则自动转去求两矩阵的点乘。程序如下: A=[1,2,3;4,5,6];B=[7,8,9;10,11,12];try C=A*B;catch C=A.*B;end C lasterr %显示出错原因 C = 40 55 72 ans = Error using ==> mtimes Inner matrix dimensions must agree.n已知 y12i1,当n=100时,求y的值。i1 程序如下: y=0;n=100;for i=1:n y=y+1/(2*i-1);10 end y y = 3.2843 例3-10 写出下列程序的执行结果。s=0;a=[12,13,14;15,16,17;18,19,20;21,22,23];for k=a s=s+k;end disp(s');39 48 57 66 例3-14 编写函数文件求半径为r的圆的面积和周长。 编写m文件并命名为fcircle.m如下: function [s,p]=fcircle(r)%FCIRCLE calculate the area and perimeter of a circle of radii r %r 圆半径 %s 圆面积 %p 圆周长 s=pi*r*r;p=2*pi*r;circle(2)ans = 12.5664 例3-15 利用函数文件,实现直角坐标(x,y)与极坐标(ρ,θ)之间的转换。 函数文件tran.m: function [rho,theta]=tran(x,y)rho=sqrt(x*x+y*y);theta=atan(y/x);在命令窗体输入命令: x=input('Please input x=:');y=input('Please input y=:');[rho,the]=tran(x,y);rho the Please input x=:5 Please input y=:7 rho = 8.6023 the = 0.9505 例3-16 利用函数的递归调用,求n!。n!本身就是以递归的形式定义的: 显然,求n!需要求(n-1)!,这时可采用递归调用。递归调用函数文件factor.m如下: function f=factor(n)if n<=1 f=1;else f=factor(n-1)*n;%递归调用求(n-1)!end 在命令窗体输入: factor(9)ans = 362880 >> factor(67)ans = 3.6471e+094 例3-17 nargin用法示例。 函数文件charray.m: function fout=charray(a,b,c)if nargin==1 fout=a;elseif nargin==2 fout=a+b;elseif nargin==3 fout=(a*b*c)/2;end 在命令窗体中输入: x=[1:3];>> y=[1;2;3];>> charray(x)ans = 3 >> charray(x,y')ans = 6 >> charray(x,y,3)ans = 21 例3-18 全局变量应用示例。 先建立函数文件wadd.m,该函数将输入的参数加权相加。function f=wadd(x,y)global ALPHA BETA f=ALPHA*x+BETA*y;在命令窗口中输入: global ALPHA BETA ALPHA=1;BETA=2;s=wadd(1,2)s = 5 14 《文献检索》上机实习题(一) 注意事项: 写清班级、学号、姓名,每次上机结束,以书面形式交上机实习报告。 题目: 1、利用图书馆网站上的“书目查询” 查看我院图书馆收藏的2002年之后的《三国演义》有几种,分别记录书名、出版社和出版年代。 2、通过“书目查询”查找索取号为“I24/7”的图书,记录书名、责任者、出版社,并通过浏览图书馆网站上的《图书分类简表》,找到分类号“I24”代表的图书类别是什么。 3、登陆中国知网(CNKI): 账户名:dx0606密码:hbjgxy(也可直接点击“IP登录”) 从中国知网首页下载CAJ格式浏览器(CAJViewer浏览器]),利用搜索引擎搜索下载PDF格式阅读器(最常用的是Adobe Reader 阅读器),方便下载论文全文及阅读之用。 练习题: (1)精确检索题名中包含“企业资源管理”的文献,记录检索结果条数,并记录其中任意一篇论文的相关信息,包括中文题名、作者、作者单位。 (2)精确检索著者为“吴敬琏”发表的文章,记录检索结果条数,并记录其中任意一篇文章的题名、文献来源和发表时间。 (3)在“中国优秀硕士学位论文全文数据库”中检索题名中包含“图书馆知识管理”的硕士学位论文,记录检索结果条数,并记录其中任意一篇学位论文的相关信息,包括中文题名、作者、作者单位、导师等。 (4)在 “中国博士学位论文全文数据库”检索论文题名中包含“建筑”的天津大学的博士论文。记录结果条数,并记录其中一篇的论文题名、作者、导师姓名及学科专业名称。 (5)精确检索2009年题名中包含“建筑工程”的会议论文,记录检索结果条数,并记录其中任意一篇学位论文的相关信息,包括中文题名、作者、作者单位、会议名称、会议地点等。 (6)在“中国重要报纸全文数据库”中检索关于“上海世博会”的新闻报道,记录时间最新一篇的新闻标题、刊登报纸、发表时间、版号。 (7)在“中国专利数据库”中精确检索关键词中包含“电子计算机”的专利,记录检索结果条数,并记录其中任意一项专利的专利名称、专利权人等。 要求:下载本题检索出的任意一篇论文的两种格式文件,分别使用CAJ阅读器和PDF阅读器打开,体会各自功能。 一、用记事本新建一个文本文件,将本班的M名学生在本学期的N门考试课的成绩(要求用假想分数,并要求将自己的每门课的分数定在96分以上,放在第一列;而将别人的大多数课程的分数都定在96分以下)输入到这个文件中,建议按如下形式存放(注:20≤M≤50、5≤N≤8,下文以M=4,N=3为例): 学号姓名英语VB数学 1我自已969899 2李某919667 3王某755856 4赵某586777 二、将本学期的N门课程及其学分(16学时为1个学分)输入到另一个数据文件(文件类型同上题)中,建议如下列形式存放: 编号课程名称课程学分 1英语5.0 2vb程序设计4 3数学4.5三、请编写一个简单的学生成绩管理程序,要求完成以下功能: 1)根据以上两文件内容分别计算每个学生N门课的加权平均分(保留2位小数,4舍5入),按平均 分排列名次,平均分相同则名次并列,如第1、2、2、4、5、5、7…名。用VB创建一个数据文件,存放班级的成绩表,建议按以下形式存放。 学号姓名英语C程序设计数学平均成绩名次 1张某76898980.52 2李某91966778.23 3王某75585688.81 4赵某58677768.54 2)分别统计全班每门课的平均分,并计算各分数段(60分以下;60~69;70~79;80~89;90 分以上)的学生人数。用VB创建一个新的数据文件,在该文件中存放数据的格式如下: 范围.英语VB......>=9035.......80-891012....................................3)打印每名学生成绩条(并将结果存放到用VB创建的一个新的数据文件中)。 4)打印所有存在不及格课程学生的名单(含学号、不及格课程名称、课程的学分及成绩)。 5)打印优等生名单(学号、N门课成绩、平均分名次) 优等生条件: a)平均分 90分 b)名次在本班位于前三名 c)平均分85分,并且有二门课的成绩都 95分 选做内容:打印每门课成绩分布图 说明:所有输出结果应写入用VB创建的文件中,格式要整齐,并有适当的文字说明。实习报告要求:应包括分析设计与说明、部分过程(函数)的源程序清单、程序调试过程中遇到的问题及解决方法,有待改善或改进的意见,对本次实习的意见与建议、收获等。其中原始数据及程序运行的结果应作为附录附于实习报告之后。第四篇:文献检索上机实习题(一)
第五篇:2011级VB上机实习题