文档库 最新最全的文档下载
当前位置:文档库 › MATLAB Ex 1 - Matrices & Arrays

MATLAB Ex 1 - Matrices & Arrays

MATLAB Ex 1 - Matrices & Arrays
MATLAB Ex 1 - Matrices & Arrays

MATLAB Exercise 1 - Matrices & Arrays

1. The distance traveled by a ball falling in the air is given by the equation

20012

x x v t at =++ Use MATLAB to calculate the position of the ball at time t=5s if 010x m =, 015/v m s =, and 29.81/sec a m =-

2. Suppose that 3x =, 4v =. Use MATLAB to evaluate the following expression:

1) 22log()x v + 2) 3) 243v π 4) |sin 2|v x e

根号sqrt 绝对值 abs abs(sin(2*x))*exp(v)

5) 6) x 7) x - 8) eps 9) 34x v --

finding the function of absolute value.

Select Matlab Help in the toolbar, then select Index and input exponential(指数) , finding the exponential function .

Remark :From above example we know, the name of Matlab function is always the abbreviation of its term.

3. 4/2

4\2

4. 1) Try to input a vector d = [23, 20, 17, 14, 11, 8, 5, 2] in different ways. Use numel to count

the number of elements in d.

numel(d)=8

2) Please input matrix 1234246836912a ?? ?= ? ???

at least in three different methods.

5.

1) Compute the size of a.

Select Matlab Help in the toolbar, then select Index and input size , understand the different applications of this function

2) Show the value of a(2,3)? Obtain a subarray b which is composed by the 1st and 3rd

columns of a. b=[a(:,1),a(:,3)]

3) Obtain an new matrix c by exchanging the 2nd and 3rd rows of a.

c=[a(1,:);a(3,:);a(2,:)]

4) Obtain a vector x which is the last column of a. (end ) x=a(:,end)

5) Replace the value of a(1,1) with 0. a(1,1)=0

6) Input

a ( 10 ) 从左下开始往上数,右拐向下,依次反复

a ( 10 ) = 20 赋值

a ( 10 )

and observe what happen.

7)Input

a ( 2, : )

a ( :, 3 )

a (:, :)

a (:, 2 : 3)

a (:)

2

3

2

4

6

3

6

9

20

8

12

a (2 : 3) 就是2 3 a (11 :12)就是8 12 a (1 : 4)是0 2 3 2

8)Add a new column to a to form a 3×5 matrix a35, add a new row to a as its 1st row to

form a 4×4 matrix a44. a35=[a,fix(10*rand(3,1))] a44=[a;fix(10*rand(1,4))] 9)Input a ( 20 ) = 100; a and observe what happen. Input d = a’; d and compare the

value of a with d.(其实是没有a(20)的)a的转置

10)Input e = a ([1 3]; : )

11)*Input help format to study “format”

In command window input help format

Display the value of pi in short / long format.

Display 0.5 in short e / rat format

12)*In help windows seach fprintf to study “fprintf”

Display the value of pi as an integer / exponential format / at the second new line

13)Input a 3×5 matrix newmatrix, compare the results after the following commands

a .* newmatrix

a * newmatirx

a .+ newmatrix

a + newmatrix

a ^ newmatrix

a .^newmatrix

6.Try to solve for x in the equation Ax = B where

1211

232,1

1010

A B

????

? ?

==

? ?

? ?

-

????

. Compare the

command A\B and A/B, try to explain the result.

Select Matlab Help in the toolbar, then select Index and input / (or \), distinguish the difference between them (corresponding to Exercise 3. ).

7. Set A = round (10*rand(6)). Let us change the 6th column A so as to make the matrix

singular (奇异). B = A ’; A (:, 6) = -sum (B (1 : 5, : ) )’

Fix 是向0靠拢取整 例如fix(3.2)=3 fix(3.7)=3,fix(-3.7)=-3

而round 是取整 round(3.2)=3 round(3.7)=4 round(-3.7)=-4

1) Set x = ones (6,1) and compute A*x . Explain why do we know A must be singular.

就是产生一个6行1列的全为1的矩阵

2) Set C = round ( 10*rand (6 ) ). Check whether AC=CA, why?

help round, understand the effect of this function.

8. Set A = magic (8). Compute its sum of elements on each row, column and diagonal respectively.

M = magic(n)

生成一个n*n 的矩阵,矩阵元素是由整数1到n^2组成的并且任何行任何列的和都相等,阶数n 必须是大于等于3的标量。 三阶幻方为:

M = magic(3)

M =

8 1 6

3 5 7

4 9 2

in command window input help magic to understand how to construct the magic matrix

9. Examine the following statements by MATLAB, and show whether they are true.

1) If A ≠0 and AC = AD, then C = D;

2) If A and B are nonsingular (可逆), then 111()

A B A B ---+=+ 3) For any 3×3 matrices A and B, 222()2A B A AB B +=++

4) A+A ? is a symmetric matrix. (对称)

10. * Genetrite some spetial matrices

1) Generate a symmetric matrix (对称阵) by using function randn and operators … +;

2) Genetrate a upper matrix with positive diagonal elements by using functions round , rand ,

diag , triu and abs .

11. * Some tests

test1 = linspace (1, 11, 6)

test2 = linspace (1, 11, 5)

num_test1 = numel (test1)

[ i ] = find (test1 > 4)

test1 ( find (test1 ==3)) = 0

test = [test1; 1:2:11]

test (:, 2) = [ ]

Magic = magic (5)

Magic_diag = diag (Magic, 0) Magic_diag = diag (Magic, 1) Magic_diag = diag (Magic, -1) help clc

clc

help clear

clear test test1

clc

用MATLAB解线性规划

用MATLAB 优化工具箱解线性规划 命令:x=linprog (c ,A ,b ) 2、模型: beq AeqX b AX ..min =≤=t s cX z 命令:x=linprog (c ,A ,b ,Aeq,beq ) 注意:若没有不等式:b AX ≤存在,则令A=[ ],b=[ ]. 若没有等式约束, 则令Aeq=[ ], beq=[ ]. 3、模型: VUB X VLB beq AeqX b AX ..min ≤≤=≤=t s cX z 命令:[1] x=linprog (c ,A ,b ,Aeq,beq, VLB ,VUB ) [2] x=linprog (c ,A ,b ,Aeq,beq, VLB ,VUB, X0) 注意:[1] 若没有等式约束, 则令Aeq=[ ], beq=[ ]. [2]其中X0表示初始点 4、命令:[x,fval]=linprog(…) 返回最优解x及x处的目标函数值fval. 例1 max 6543216.064.072.032.028.04.0x x x x x x z +++++= 85003.003.003.001.001.001.0..654321≤+++++x x x x x x t s 70005.002.041≤+x x 10005.002.052≤+x x 90008.003.063≤+x x 6,2,10 =≥j x j 解 编写M 文件小xxgh1.m 如下: c=[-0.4 -0.28 -0.32 -0.72 -0.64 -0.6]; A=[0.01 0.01 0.01 0.03 0.03 0.03;0.02 0 0 0.05 0 0;0 0.02 0 0 0.05 0;0 0 0.03 0 0 0.08]; b=[850;700;100;900]; Aeq=[]; beq=[]; vlb=[0;0;0;0;0;0]; vub=[]; [x,fval]=linprog(c,A,b,Aeq,beq,vlb,vub) min z=cX b AX t s ≤..1、模型:

重庆邮电大学-软件技术基础--实验报告(耿道渠)

《软件技术基础》实验报告 实验名称:顺序表的操作 班级学号姓名 第9 周星期 2 、5,6 节成绩 一、实验目的: 1、掌握顺序表结构的实现方式; 2、掌握顺序表常用算法的实现; 3、熟悉利用顺序表解决问题的一般思路; 4、参照给定的顺序表的程序样例,验证给出的顺序表的常见算法,领会顺序表结构的优点和不足。 二、实验内容: 1、设计一个静态数组存储结构的顺序表,要求编程实现如下任务:(1)建立一个顺序表,首先依次输人整数数据元素(个数根据需要键盘给定)。 (2)删除指定位置的数据元素(指定元素位置通过键盘输入),再依次显示删除后的顺序表中的数据元素。 (3)查找指定数据的数据元素(指定数据由键盘输入),若找到则显示位置,若没有找到则显示0。 2、使用顺序表实现一个电话本的管理程序,电话本中的每条记录包括学号、姓名、手机号码和固定电话四项。要求实现菜单、初始化、添加、删除和显示等功能。 三、实验结果:

四、实验中遇到的问题及解决方法: 第一次编写C++,感觉力不从心,回去多看看PPT。

五、实验心得体会: 对顺序表的一些常用语句不熟悉,对顺序表的整体思路理解不深刻以后要加强练习 附:源程序(自行编写或修改的程序。若为修改程序请注明修改部分的功能,若为书上实例则可不附。) #include #include #include #include #define MAXSIZE 20 using namespace std; int num; typedef struct { string student_number; string name; string tel; string home_phone; int id; } TEL; void shuaxin(TEL *); void delet(TEL *);

实验室常用器材使用方法及注意事项

实验室常用器材使用方法及注意事项

实验室常见仪器使用方法及注意事项 一、常见的仪器 (一)初中化学实验常见仪器 反应容器可直接受热的:试管、蒸发皿、燃烧匙、坩埚等能间接受热的:烧杯、烧瓶、锥形瓶(加热时,需加石棉网) 常存放药品的仪器:广口瓶(固体)、细口瓶(液体)、滴瓶 (少量液体)、集气瓶(气体) 用加热仪器:酒精灯 计量仪器:托盘天平(称固体质量)、量筒(量液体体积) 仪分离仪器:漏斗 取用仪器:药匙(粉末或小晶粒状)、镊子(块状或较大颗粒)、胶头滴管(少量液体) 器夹持仪器:试管夹、铁架台(带铁夹、铁圈)、坩埚钳其它仪器:长颈漏斗、石棉网、玻璃棒、试管刷、水槽 不能加热:量筒、集气瓶、漏斗、温度计、滴瓶、表面皿、广口瓶、细口瓶等 1、试管 (1)、用途: a、在常温或加热时,用作少量试剂的反应容器。 b、溶解少量固体。 c、收集少量气体的容器 d、用于装置成小型气体的发生

器。 (2)、注意事项: a、加热时外壁必须干燥,不能骤热骤冷,一般要先均匀受热,然后才能集中受热, 防止试管受热不均而破裂。 b、加热时,试管要先用铁夹夹持固定在铁架台上(短时间加热也可用试管夹夹持)。 试管夹应夹在的中上部(或铁夹应夹在离试管口的1/3处)。c、加热固体时,试管口要略向下倾斜,且未冷前试管不能直立,避免管口冷凝水倒流 使试管炸裂。 d、加热液体时,盛液量一般不超过试管容积的1/3(防止液体受热溢出),使试管与桌面 约成45°的角度(增大受热面积,防止暴沸),管口不能对着自己或别人(防止液体喷出伤人)。反应时试管内的液体不超过试管容积的1/2。 2、烧杯用途:①溶解固体物质、配制溶液,以及溶液的稀释、浓缩 ②也可用做较大量的物质间的反应 注意事项:受热时外壁要干燥,并放在石棉网上使其受热均匀(防止受热不均使烧杯炸裂), 加液量一般不超过容积的1/3(防止加热沸腾使液体外溢)。

计算机软件基础实验报告

实验一选择结构程序设计 一、实验目的 1、掌握关系运算符和逻辑运算符的使用方法及其表达式的应用。 2、掌握分支语句的使用。 3、结合程序掌握一些简单的算法。 二、实验内容 1、在VC6.0中,实现输入3个整数,按大小顺序输出。 2、在VC6.0中,编写程序,当输入字符A时,输出America;输入字符B时,输出Britain;输入字符C时,输出China;输入其它字符时,输出France(要求使用switch语句实现)。 3、给出一百分制成绩,要求输出成绩等级’A’,’B’,’C’,’D’,’E’.90分以上为’A’,80~89分为’B’, 70~79分为’C’,60~69分为’D’,60分以下为’E’。 三、实验环境 1、一台能正常启动的个人计算机 2、安装有VC6.0软件 四、实验步骤 1、启动VC6.0,创建一个新的C程序文件。 2、在创建的C程序文件中输入相应的代码。 3、保存程序 4、运行程序 输入3个整数,按大小顺序输出的问题,程序代码如下: #include main() { int a,b,c,t; printf("请输入三个整数:") ; scanf("%d%d%d",&a,&b,&c) ; if(a main() { char x; printf("请输入一个字符:");

用matlab求解线性规划问题

一、实验目的: 了解Matlab 的优化工具箱,能利用Matlab 求解线性规划问题。 二、实验内容: 线性规划的数学模型有各种不同的形式,其一般形式可以写为: 目标函数: n n x f x f x f z +++= 2211m in 约束条件: s n sn s s n n b x a x a x a b x a x a x a ≤+++≤+++ 221 11 1212111 s n tn t t n n d x c x c x c d x c x c x c =+++=+++ 221 11 1212111 0,,,21≥n x x x 这里 n n x f x f x f z +++= 2211称为目标函数,j f 称为价值系数,T n f f f f ),,,(21 =称为价值向量,j x 为求解的变量,由系数ij a 组成的矩阵 ??????????=mn m n a a a a A 1111 称为不等式约束矩阵,由系数ij c 组成的矩阵 ??????????=sn s n c c c c C 1111 称为等式约束矩阵,列向量 T n b b b b ),,,(21 =和T n d d d d ),,,(21 =为右端向量,条件0≥j x 称为非负约束。一个向量T n x x x x ),,,(21 =,满足约束条件,称为可行解或可行点,所有可行点的集合称为 可行区域,达到目标函数值最大的可行解称为该线性规划的最优解,相应的目标函数值称为最优目标函数值,简称最优值。 我们这里介绍利用Matlab 来求解线性规划问题的求解。 在Matlab 中有一个专门的函数linprog()来解决这类问题,我们知道,极值有最大和最小两种,但求z 的极大就是求z -的极小,因此在Matlab 中以求极小为标准形式,函数linprog()的具体格式如下: X=linprog(f,A,b) [X,fval,exitflag,ouyput,lamnda]=linprog(f,A,b,Aeq,Beq,LB,UB,X0,options) 这里X 是问题的解向量,f 是由目标函数的系数构成的向量,A 是一个矩阵,b 是一个向量,A ,b 和变量x={x1,x2,…,xn}一起,表示了线性规划中不等式约束条件,A ,b 是系数矩阵和右端向量。Aeq 和Beq 表示了线性规划中等式约束条件中的系数矩阵和右端向量。LB 和UB 是约束变量的下界和上界向量,X0是给定的变量的初始值,options 为控制规划过程的参数系列。返回值中fval 是优化结束后得到的目标函数值。exitflag=0表示优化结果已经超过了函数的估计值或者已声明的最大迭代次数;exitflag>0表示优化过程中变量收敛于解X ,exitflag<0表示不收敛。output 有3个分量,iterations 表示优化过程的迭代次数,cgiterations 表示PCG 迭代次数,algorithm 表示优化所采用的运算规则。lambda 有4个分量,

化学实验室基本操作

化学实验室基本操作 化学实验室基本操作2010-07-24 11:54一、常用仪器的主要用途和使用 方法 反应容器:试管、燃烧匙、烧杯、锥形瓶、集气瓶 存放容器:集气瓶(气体)、细口瓶(液体)、广口瓶(固体)、滴瓶(少量液体) 计量仪器:托盘天平(称固体质量)、量筒(量液体体积) 取用仪器:镊子(块状或较大颗粒)、药匙或纸槽(粉末或小颗粒)、胶头滴 管(少量液体) 夹持容器:试管夹、坩埚钳、铁架台(带铁圈、铁夹) 其它仪器:漏斗、长颈漏斗、分液漏斗、石棉网、玻璃棒、水槽、试管刷 可直接加热的:试管、蒸发皿、燃烧匙 能间接加热的(需垫石棉网):烧杯、烧瓶、锥形瓶 加热仪器:酒精灯 1.烧杯圆柱状玻璃容器,杯口有便于倒出液体的嘴。 常用的有25mL、50mL、100 mL、250 mL、500 mL等 (1)用于大量物质的溶解和配制溶液或者进行化学反应的容器,也常用于接 过滤后的液体。 (2)实验时盛放液体的量不超过烧杯容积的1/2,以防搅拌时溅出。 (3)向烧杯中注入液体的时候,应沿烧杯内壁或玻璃棒引流。

(4)加热时要垫石棉网,也防受热不均而使其破裂。烧杯不能用作加热固体试剂。 2.试管 (1)用于少量物质的溶解或发生化学反应的仪器,也常用于制取或收集少量气体。 (2)振荡试管的方法:手持试管、手腕摆动。 3)实验时盛放液体量不能超过试管容积的1/3,以防振荡或加热时溅出。可直接加热。 (4)用试管夹或者铁夹固定时,要从试管底部向上套,夹持在试管的中上部(或离管口1/3的部位)。 3.蒸发皿 (1)用于溶液的蒸发、结晶 2)蒸发过程中需用玻璃棒不断搅拌,防止液体由于局部温度过高而飞溅 3)当溶液的量减少只有大量晶体析出时,停止加热并放至石棉网上,以防晶体飞溅 (4)取放蒸发皿,要用坩埚钳夹持 4.集气瓶 (1)用于收集气体、短时间贮存气体、用做物质在气体中的燃烧的反应器 (2)在收集气体或贮存气体时,要用毛玻璃片盖住瓶口。 5、试剂瓶 试剂瓶包括滴瓶、细口瓶、广口瓶等。分为无色和棕色两种。

实验一:MATLAB软件入门(2015版)

实验一:MATLAB 软件入门 一、 实验目的及意义 [1] 熟悉MATLAB 软件的用户环境; [2] 了解MATLAB 软件的一般目的命令; [3] 掌握MATLAB 数组操作与运算函数; [4] 掌握MATLAB 软件的基本绘图命令; [5] 掌握MATLAB 语言的几种循环、条件和开关选择结构。 通过该实验的学习,使学生能灵活应用MATLAB 软件解决一些简单问题,能借助MATLAB 软件的绘图功能,对函数的特性进行探讨,广泛联想,大胆猜想,发现进而证实其中的规律。 二、实验内容 1.MATLAB 软件的数组操作及运算练习; 2.直接使用MATLAB 软件进行作图练习; 3.用MATLAB 语言编写命令M-文件和函数M-文件。 三、实验步骤 1. 在D 盘建立一个自己的文件夹; 2.开启软件平台——MATLAB ,将你建立的文件夹加入到MATLAB 的搜索路径中。 3.利用帮助了解函数max, min, sum, mean, sort, length ,rand, size 和diag 的功能和用法。 4.开启MATLAB 编辑窗口,键入你编写的M 文件(命令文件或函数文件); 5.保存文件(注意将文件存入你自己的文件夹)并运行; 6.若出现错误,修改、运行直到输出正确结果; 7.写出实验报告,并浅谈学习心得体会。 四、实验要求与任务 根据实验内容和步骤,完成以下具体实验,要求写出实验报告(实验目的→问题→算法与编程→计算结果或图形→心得体会) 1.设有分块矩阵??????=????223 22333S O R E A ,其中E,R,O,S 分别为单位阵、随机阵、零阵和对角阵,试通过数值计算验证??????+= 22S 0RS R E A 。 2.某零售店有9种商品的单件进价(元)、售价(元)及一周的销量如表1.1,问哪种商品的利润最大,哪种商品的利润最小;按收入由小到大,列出所有商品及其收入;求这一周该10种商品的总收入和总利润。 表1.1

《机能实验学》教学大纲

《机能实验学》教学大纲 课程编码:03230010。 学分:4.5。 总学时:80学时。 先修课程:人体解剖学、生物化学、生理学、病理学、病理生理学、药理学。 适应专业:临床医学、口腔医学、预防医学。 教材: 1、《生理科学实验教程》,丁报春主编,2006年版,人民卫生出版社. 参考教材: 2、胡还忠. 医学机能学实验教程,北京:科学出出版社,2007年, 3、秦晓群,邓汉武,邓恭华等. 机能实验学.北京:世界图书出版公司,2002. 4、郑恒. 医学机能实验学. 北京:中国医药科技出版社,2003. 5、尢家騄,朱新裘,马建中. 机能实验学.长沙:湖南科技出版,2004. 一、课程地位、目的和任务 (一)课程的地位机能学科包括生理学、病理生理学及药理学,将此三门学科的实验内容有机融合起来形成的一门综合实验学科——机能实验学,是我校教学改革的重要成果。机能实验学包括三部分:机能学基础实验、机能学综合实验和学生创新性实验。机能学基础实验是通过经典的生理学、病理生理学及药理学实验,培养学生掌握基本实验技术和方法,熟悉和掌握各种实验仪器和手术器械的使用,独立完成实验操作、结果分析、实验报告等,为学习机能综合实验打下坚实的基础;机能学综合实验是以消化系统、循环系统、呼吸系统和泌尿系统为主线,将每一系统的生理、药理、病理生理的内容有机融合成为综合性实验,通过观察动物在正常状态下其功能活动规律、复制某些疾病的急性动物模型后观察其病理状态下功能活动的改变并探讨分析疾病发生发展过程和机制、自行选择和利用某些药物及手段进行治疗并分析其药物学作用原理及其作用机制等,这一贴近临床和理论联系实际的实验模式,以达到培养和提高学生综合全面分析解决问题的能力,求实、严谨的科学作风和基本科研素质,及协作、互助的团队精神。 (二)课程的目的 1.人体机能学是研究人体机能活动规律的科学,机能实验学的主要目的是通过了解机能实验学的任务、内容、研究方法与发展,加强学生对机能实验学基本知识的认识,重点培养学生基本技术和基本技能,增加学生自己动脑、动手的机会,培养学生基本科研素

软件技术基础教学大纲资料

软件技术基础》教学大纲 课程编号: 23000840 适用专业:电子信息类(非计算机专业) 学时数: 40学分数: 2.5 开课学期:第4 学期 先修课程: 《C 语言》 考核方式:笔试(闭卷) 执笔者:沈晓峰编写日期:2015 年3月审核人(教学副院长): 一、课程性质和目标授课对象:电子信息工程专业大学二年级本科生课程类别:学科拓展课程教学目标: 本课程是针对工科电子信息类本科生开设的一门学科拓展课程。着重培养学生在软件设计领域的基本素质,基本方法和设计理念。授课对象为大学二年级学生,课程任务是通过本课程的学习和相关实验的练习,使学生掌握数据结构、操作系统等软件技术的基本理论知识,具有一定的软件开发能力。 二、教学内容和要求 1、课堂理论教学要求和学时安排(32 学时) 1) C 程序设计(4 学时) (1)C 语言回顾,指针的基本概念、运算方法和使用( 2 学时)。 (2)结构体的基本概念和使用方法(2 学时)。 2)数据结构(20 学时) (1)数据结构的基本概念(2 学时):理解数据结构的基本概念;理解线性和非线性结构的概念。 (2)线性数据结构(9 学时):理解表、栈、队列等线性数据结构的概念,存储方式及基于不同存储方式的相关操作的实现方法。 a. 理解表的概念及顺序表的存储特点,掌握其创建、插入、删除等实现方法(2 学时); b. 掌握单链表、双链表、循环链表的创建、插入、删除方法( 2 学时); c. 理解栈的概念及结构特点,掌握顺序栈及链栈的出栈、入栈操作的实现方法 (2 学时); d. 理解队列的概念及特点,掌握顺序、循环队列的创建、出队、入队、判空、判满等操作。掌握链 队列的创建及出队、入队(2 学时); e. 理解数组的概念及二维数组的存放方式,掌握对称矩阵及稀疏矩阵的压缩存储方法 (1 学时)。

计算机软件技术基础实验报告Word版

计算机软件基础实验报告 姓名学号实验目的 1. 掌握C语言程序设计方法,并学会上机调试。 2. 熟悉Huffman编码源程序,并构造Huffman树。 实验内容 1.试设计一算法,从包括n个元素的数组中,求最大和最小元素,并使得当n 个元素为有序排列时,元素之间的比较次数仅为n-1次。 2.在给出的Huffman编码源程序基础上,要求画出Huffman树,求出与等长编 码相比时的压缩比。 实验要求 1.根据实验内容编写算法,并用 C 语言进行程序设计。 2. 将所编程序在计算机上调试通过,并全面测试。 实验结果 1.以一个含有8个元素的一维数组{1,2,3,5,7,8,9,12}为例,设计程序如下: #include int maxArray(int x ,int y); int minArray(int x ,int y); int main(void) { int i = 0 ; int array[8]={ 1,2,3,5,7,8,9,12} ; printf; do { scanf("%d",&array[i]); i++; } while(i < 8); int maxTemp = array[0]; int minTemp = array[0]; int maxIndex = 0; int minIndex = 0; for(i=1;i<8;i++)

maxTemp = maxArray(array[i] , maxTemp); minTemp = minArray(array[i] , minTemp); } for(i=0;i<8;i++) { if (maxTemp == array[i]) { maxIndex = i; } if (minTemp == array[i]) { minIndex = i; } } printf; return 0; } 运行结果如下: 2.Huffman编码源程序 #include #include #include #include #include typedef struct {unsigned int weight; //结点权值 unsigned int parent,lchild,rchild; //结点的父指针,左右孩子指针 }HTNode,*HuffmanTree; //动态分配数组存储哈夫曼树 typedef char **HuffmanCode; //动态分配数组存储哈夫曼编码表 void CreateHuffmanTree(HuffmanTree &,unsigned int*,int ); //生成哈夫曼树 void HuffmanCoding(HuffmanTree,HuffmanCode &,int ); //对哈夫曼树

运用Matlab进行线性规划求解实例

8.2 线性规划 线性规划是处理线性目标函数和线性约束的一种较为成熟的方法,目前已经广泛应用于军事、经济、工业、农业、教育、商业和社会科学等许多方面。 8.2.1 基本数学原理 线性规划问题的标准形式是: ????? ??????≥=+++=+++=++++++=0,,,min 21221122222121112 121112211n m n mn m m n n n n n n x x x b x a x a x a b x a x a x a b x a x a x a x c x c x c z ΛΛΛΛΛΛΛΛΛΛΛΛΛΛΛΛΛ 或 ???? ?????=≥===∑∑==n j x m i b x a x c z j n j i j ij n j j j ,,2,1,0,,2,1,min 1 1ΛΛ 写成矩阵形式为: ?? ???≥==O X b AX CX z min 线性规划的标准形式要求使目标函数最小化,约束条件取等式,变量b 非负。不符合这几个条件的线性模型可以转化成标准形式。 MATLAB 采用投影法求解线性规划问题,该方法是单纯形法的变种。 8.2.2 有关函数介绍 在MATLAB 工具箱中,可用linprog 函数求解线性规划问题。 linprog 函数的调用格式如下: ●x=linprog(f,A,b):求解问题minf'*x ,约束条件为A*x<=b 。 ●x=linprog(f,A,b,Aeq,beq):求解上面的问题,但增加等式约束,即Aeq*x=beq 。若没有不等式约束,则令A=[ ],b=[ ]。 ●x=linprog(f,A,b,Aeq,beq,lb,ub):定义设计x 的下界lb 和上界ub ,使得x 始终在该范围内。若没有等式约束,令Aeq=[ ],beq=[ ]。 ●x=linprog(f,A,b,Aeq,beq,lb,ub,x0):设置初值为x0。该选项只适用于中型问题,默认时大型算法将忽略初值。 ●x=linprog(f,A,b,Aeq,beq,lb,ub,x0,options):用options 指定的优化参数进行最小化。 ●[x,fval]=linprog(…):返回解x 处的目标函数值fval 。 ●[x,lambda,exitflag]=linpro g(…):返回exitflag 值,描述函数计算的退出条件。 ●[x,lambda,exitflag,output]=linprog(…):返回包含优化信息的输出参数output 。 ●[x,fval,exitflag,output,lambda]=linprog(…):将解x 处的拉格朗日乘子返回到

实验室常用检验仪器操作规范

检验仪器操作规范 1. 仪器分类和作业规范 理化检验仪器(序号从4.1-4.30) 4.1原子吸收仪 4.2离子色谱仪 4.3 pH/电导率仪(或其他pH计及电导率仪) 4.4电光分析天平 4.5电子天平/电子分析天平 4.6浊度仪 4.7糖度计 4.8余氯测定仪 4.9分光光度计 4.10阿贝折射仪 4.11低速台式离心机 4.12定氮仪 4.13密度/比重/浓度计 4.14比色管 4.15电热恒温干燥箱 生化检验仪器(序号从4.31-4.40) 4.31自动立式压力蒸汽灭菌锅 4.32生物显微镜 4.33生化培养箱 4.34霉菌培养箱 其他(序号从4.61-4.70) 4.61激光粒子计数器

备注:以下仪器操作规范按仪器分类顺序编写 4.1原子吸收仪 4.1.1. 准备工作: a)接通仪器主机电源,再接通计算机及打印机电源。打开电脑,待 Win dows95 屏幕 左下角显示Start将箭头指向Start,并点击。联机正常后出示 Aawinlab,点击 打开。 b)将空白溶液置于自动进样器位置1上,标准溶液于2上,试样溶液 在其他编码位置上。 c)打开氩气钢瓶,并调节为300-450Kpa d)接通石墨炉冷却水系统电源。 4.1.2. 编制程序: 工作前将下列主要工作页的必要参数一一输入。分别为仪器页、校正页、石墨炉页。 4.1.3. 进行自动分析: 箭头指向Workspace并点击它,出现下图所示的对话框,然后点击 Calibrate 进行校正曲线,完毕点击An alyze Samples 进行试样的测 ^定。 备注:作结束后如需存储文件,点击File上的Save,显示Save Method As窗口,在Method Name^栏上打上方法名字,并点击0K 4.1.4. 关机: 工作结束后点击Automated Analysis Control 窗口的Flush Sampler ,冲洗 进样系统;退出软件,关掉主机就、计算机、打印机、冷却水系统和石墨炉电 源;关紧氩气钢瓶。 4.2离子色谱仪 4.2.1.仪器 离子色谱仪、移液管、滤纸(0.45 卩m、 4.2.2.试剂 阴离子淋洗液、阳离子淋洗液、甲烷磺酸 4.2.3.操作方法 a)洗液的配置: 1. 阴离子淋洗液的配置:

软件技术基础实验一

软件技术基础实验一单链表的各种基本运算的实现

单链表的各种基本运算的实现 一. 实验目的: 1. 熟悉c语言上机环境; 2. 实现单链表的创建; 3. 掌握单链表的基本操作:插入、删除、输出等运算; 二. 实验内容: 编写一个程序,实现单链表的各种基本操作,并在此基础上设计一个主程序完成如下功能: 1.初始化单链表: 2 .依次采用头插法插入从文件中读取的多个元素; 3. 输出单链表; 4. 在第四个元素位置上插入从文件中读取的单个元素; 5. 删除该单链表的从文件中指定序数的元素; 三. 完整的源程序 #include #include #include #include #define max 10 #define num 6 int a[20]; int i; typedef struct link { int data; struct link *next; }link;

/*初始化单链表*/ initlink(link *L) ( L= NULL; L= ( link *)malloc(sizeof(link)); /* 建立表头结点*/ L->next = NULL; L->data = 0; } void hcreat(link *L) /*头插法插入从文件中读取的多个元素*/ ( link *s; L->next=NULL; s=(struct link*)malloc(sizeof(struct link)); int i=0; FILE *fp; if((fp=fopen("h:\\a.txt”,"r"))==NULL) printf("error!\n"); printf("文件中的数为:\n"); while(!feof(fp)&& idata=a[i]; s->next=L->next; L->next=s; i++; } fclose(fp); } void print(link *L) /* 输出单链表*/ ( link *p=L->next; while(p!=NULL) ( printf ("%d ",p->data); p=p->next; } printf("\n"); int insert(link *L, int i) ( int j,m;

软件技术基础实验报告

《计算机软件技术基础》实验报告 专业_____________ 年级_____________ 学号_____________ 学生姓名_____________ 指导老师_____________ 南华大学计算机学院编

【实验报告】

I 实验要求 1.每次实验中有若干习题,每个学生至少应该完成其中的两道习题。 2.上机之前应作好充分的准备工作,预先编好程序,经过人工检查无误后,才能上机,以提高上机效率。 3.独立上机输入和调试自己所编的程序,切忌抄袭、拷贝他人程序。 4.上机结束后,应整理出实验报告。书写实验报告时,重点放在调试过程和小节部分,总结出本次实验中的得与失,以达到巩固课堂学习、提高动手能力的目的。 实验一线性表 【实验目的】 1.熟悉VC环境,学习如何使用C语言实现线性表的两种存储结构。 2.通过编程、上机调试,进一步理解线性表的基本概念,熟练运用C语言实现线性表基本操作。 3.熟练掌握线性表的综合应用问题。 【实验内容】 必做: 1.一个线性表有n个元素(n

软件基础实验报告

XX大学 软件技术基础 实验报告 姓名:xx 班级:自动化1105 学号:xx 成绩: 2013年11月05 日

实验一 vc++6.0基本环境与应用 实验题目:熟悉vc++6.0的实验环境 实验目的:掌握建立vc工程的方法,并学会编写简单的vc程序。 实验内容: 1,熟悉vc++界面。 启动VC++ 6.0中文版以后,屏幕上显示如图所示的开发环境。开发环境界面由标题栏、菜单栏、工具栏、项目工作区窗口、文档窗口、输出窗口及状态栏组成。每个窗口左上角均有最小化、最大化(还原)和关闭按钮。各类窗口相互独立,可进行打开、关闭、移动、极大、极小化控制以及改变窗口大小。 2 建立MFC应用程序 建一个VC++的MFC应用程序的过程可分为5个步骤: (1)创建项目

使用Files菜单下的“New”项,会弹出一个New的对话框,选中Projects 选项卡,对话框会列出一系列可以创建的项目类型(见图4.),下列出部分常用类型: ATL COM AppWizard(创建ATL应用程序) Custom AppWizard(创建自定义的应用程序) Database Project(创建数据库) DevStudio Add-in Wizard(创建自定义宏) ISAPI Extension Wizard(创建Internet服务器或过滤器) Makefile(创建Make文件) MFC AppWizard(dll)(创建MFC动态链接库) MFC AppWizard(exe)(创建MFC可执行程序) MFC AxtiveX ControlWizard(创建MFC控件程序) Win32 Dynamic Link Library(创建Win32动态链接库) Win32 Application(创建Win32程序) Win32 Console Application(创建Win32控制台程序)

电子科技大学软件技术基础实验报告2

电子科技大学通信与信息工程学院标准实验报告 (实验)课程名称软件技术基础实验 电子科技大学教务处制表

电子科技大学 实验报告 一、实验室名称:校公共机房 二、实验项目名称:链表程序设计 三、实验学时:4学时 四、实验原理: 使用VS2010等C语言集成开发环境(IDE),在微型计算机上对程序进行编辑、编译、连接与运行。通过上机练习掌握在链表的建立、插入删除等方法和过程。 五、实验目的: 1.熟练链表的概念和基本操作方法。 2.掌握课程平台使用方法。 六、实验内容: 上机完成链表的一系列操作,并用链表完成课后习题9,编程实验,调试运行程序并完成报告。 七、实验器材(设备、元器件): 硬件要求:普通pc机,1G内存,100G硬盘空间即可。 软件要求:Windows 7,包括C编译器的IDE。 八、实验步骤、实验编程与运行结果: 1.程序文件名为***.cpp,源程序清单如下: /*基础实验1,链表的建立,插入,删除*/ #include #include struct list

{ int info; struct list *next; }; struct list *Create(int *numnode) {//创建一个链表 struct list *head,*tail,*cnew; head=NULL; int num; printf("输入数据(以零结束):"); while(1) { scanf("%d",&num); if(num==0)//输入为零表示输入结束 break; cnew=(struct list*)malloc(sizeof(struct list)); cnew->info=num; cnew->next=NULL; if(head==NULL)//若为空则将头节点指向新节点 head=cnew; else tail->next=cnew;//将当前节点的next指向新的节点 tail=cnew; (*numnode)++; } return head; } void insert(struct list *h,int i,int x) { struct list *p,*t; int j; p=h; j=0; while(p!=NULL&&jnext; j++; }

用matlab求解线性规划问题

实验四 用MATLAB 求解线性规划问题 一、实验目的: 了解Matlab 的优化工具箱,能利用Matlab 求解线性规划问题。 二、实验内容: 线性规划的数学模型有各种不同的形式,其一般形式可以写为: 目标函数: n n x f x f x f z +++= 2211mi n 约束条件: s n sn s s n n b x a x a x a b x a x a x a ≤+++≤+++ 221 11 1212111 s n tn t t n n d x c x c x c d x c x c x c =+++=+++ 221 11 1212111 0,,,21≥n x x x 这里 n n x f x f x f z +++= 2211称为目标函数,j f 称为价值系数,T n f f f f ),,,(21 =称为价值向量,j x 为求解的变量,由系数ij a 组成的矩阵 ??????????=mn m n a a a a A 1111 称为不等式约束矩阵,由系数ij c 组成的矩阵 ??????????=sn s n c c c c C 1111 称为等式约束矩阵,列向量 T n b b b b ),,,(21 =和T n d d d d ),,,(21 =为右端向量,条件0≥j x 称为非负约束。一个向量T n x x x x ),,,(21 =,满足约束条件,称为可行解或可行点,所有可行点的集合称为 可行区域,达到目标函数值最大的可行解称为该线性规划的最优解,相应的目标函数值称为最优目标函数值,简称最优值。 我们这里介绍利用Matlab 来求解线性规划问题的求解。 在Matlab 中有一个专门的函数linprog()来解决这类问题,我们知道,极值有最大和最小两种,但求z 的极大就是求z -的极小,因此在Matlab 中以求极小为标准形式,函数linprog()的具体格式如下: X=linprog(f,A,b) [X,fval,exitflag,ouyput,lamnda]=linprog(f,A,b,Aeq,Beq,LB,UB,X0,options) 这里X 是问题的解向量,f 是由目标函数的系数构成的向量,A 是一个矩阵,b 是一个向量,A ,b 和变量x={x1,x2,…,xn}一起,表示了线性规划中不等式约束条件,A ,b 是系数矩阵和右端向量。Aeq 和Beq 表示了线性规划中等式约束条件中的系数矩阵和右端向量。LB 和UB 是约束变量的下界和上界向量,X0是给定的变量的初始值,options 为控制规划过程的参数系列。返回值中fval 是优化结束后得到的目标函数值。exitflag=0表示优化结果已经超过了函数的估计值或者已声明的最大迭代次数;exitflag>0表示优化过程中变量收敛于解X ,exitflag<0表示不收敛。output 有3个分量,iterations 表示优化过程的迭代次数,cgiterations 表示PCG 迭代次数,algorithm 表示优化所采用的运算规则。lambda 有4个分量,ineqlin 是线

程序设计基础实验内容

实验指导 实验一Visual C++6.0 开发环境使用 1.实验目的 (1 )熟悉Visual C++6.0 集成开发环境。 (2 )掌握 C 语言程序的书写格式和C语言程序的结构。 (3 )掌握 C 语言上机步骤,了解 C 程序的运行方法。 (4 )能够熟练地掌握 C 语言程序的调试方法和步骤 2. 实验内容 输入如下程序,实现两个数的乘积。 #include (stdio.h); int main() { x=10 ,y=20 p=prodct(x,t) printf("The product is : ",p) int prodct(int a ,int b ) int c c=a*b return c } (1 )在编辑状态下照原样键入上述程序。 (2 )编译并运行上述程序,记下所给出的出错信息。 (3 )再编译执行纠错后的程序。如还有错误,再编辑改正,直到不出现语法错误为止。3.分析与讨论 (1 )记下在调试过程中所发现的错误、系统给出的出错信息和对策。分析讨论成功或失败的原因。 (2 )总结C程序的结构和书写规则。 实验二数据类型、运算符和表达式 1.实验目的 (1 )理解常用运行符的功能、优先级和结合性。 (2 )熟练掌握算术表达式的求值规则。 (3 )熟练使用赋值表达式。 (4 )理解自加、自减运算符和逗号运算符 (5 )掌握关系表达式和逻辑表达式的求值 2.实验内容

(1 )整数相除 #include int main() { int a=5,b=7,c=100,d,e,f; d=a/b*c; e=a*c/b; f=c/b*a; printf("d=%d , e=%d ,f=%d\n",d,e,f); return 0; } (2 )自加、自减运算 #include int main() { int a=5,b=8; printf("a++=%d\n",a++); printf("a=%d\n",a); printf("++b=%d\n",++b); printf("b=%d\n",b); return 0; } (3 )关系运算和逻辑运算 #include int main() { int a=5,b=8,c=8; printf("%d,%d,%d,%d\n",a==b&&a==c,a!=b&&a!=c,a>=b&&a>=c,a<=b&& a<=c); printf("%d,%d\n",a<=b||a>=c,a==b||b==c); printf("%d,%d,%d,%d\n",!(a==b),!(a>=b),!(a>=c),!(a<=b)); return 0; } (1 )在编辑状态下输入上述程序。 (2 )编译并运行上述程序。 3.分析与讨论 (1 )整数相除有什么危险?应如何避免这种危险? (2 )分析a++ 和++a 的区别。 (3 )条件表达式和逻辑表达式的意义是什么,它们取值如何? (4 )如何比较两个浮点数相等?为什么? 实验三格式化输入输出函数的使用1.实验目的

用matlab求解线性规划问题

1 实验四 用MATLAB 求解线性规划问题 一、实验目的: 了解Matlab 的优化工具箱,能利用Matlab 求解线性规划问题。 二、实验内容: 线性规划的数学模型有各种不同的形式,其一般形式可以写为: 目标函数: n n x f x f x f z +++= 2211m i n 约束条件: s n sn s s n n b x a x a x a b x a x a x a ≤+++≤+++ 22111 1212111 s n tn t t n n d x c x c x c d x c x c x c =+++=+++ 22111 1212111 ,,,21≥n x x x 这里n n x f x f x f z +++= 2211称为目标函数, j f 称为价值系数, T n f f f f ) ,,,(21 =称为价值向 量, j x 为求解的变量,由系数 ij a 组成的矩阵 ???? ? ?????=mn m n a a a a A 1 111 称为不等式约束矩阵,由系数ij c 组成的矩阵 ???? ? ?????=sn s n c c c c C 1 111 称为等式约束矩阵,列向量T n b b b b ) ,,,(21 =和 T n d d d d ) ,,,(21 =为右端向量,条件 ≥j x 称为 非负约束。一个向量 T n x x x x ) ,,,(21 =,满足约束条件,称为可行解或可行点,所有可行点的集合称为 可行区域,达到目标函数值最大的可行解称为该线性规划的最优解,相应的目标函数值称为最优目标函数 值,简称最优值。 我们这里介绍利用Matlab 来求解线性规划问题的求解。 在Matlab 中有一个专门的函数linprog()来解决这类问题,我们知道,极值有最大和最小两种,但求z 的极大就是求z -的极小,因此在Matlab 中以求极小为标准形式,函数linprog()的具体格式如下: X=linprog(f,A,b) [X,fval,exitflag,ouyput,lamnda]=linprog(f,A,b,Aeq,Beq,LB,UB,X0,options) 这里X 是问题的解向量,f 是由目标函数的系数构成的向量,A 是一个矩阵,b 是一个向量,A ,b 和变量x={x1,x2,…,xn}一起,表示了线性规划中不等式约束条件,A ,b 是系数矩阵和右端向量。Aeq 和Beq 表示了线性规划中等式约束条件中的系数矩阵和右端向量。LB 和UB 是约束变量的下界和上界向量,X0是给定的变量的初始值,options 为控制规划过程的参数系列。返回值中fval 是优化结束后得到的目标函数值。exitflag=0表示优化结果已经超过了函数的估计值或者已声明的最大迭代次数;exitflag>0表示优化过

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