上机实验二 数据类型

上机实验二 数据类型
上机实验二 数据类型

上机实验二数据类型、运算符与表达式

学号: 姓名:

一.实验目的

1.掌握C基本数据类型,学会如何定义一个整形、字符型和实型的常量和变量,以及对变量赋值;

2.掌握不同的类型数据之间赋值的规律;

3.掌握C算术运算符,以及包含这些运算符的表达式,特别是++和--运算符的使用;

4.掌握C算术运算符的基本概念、基本属性、运算规则。

5.掌握表达式的求值规则。

6.记录运行结果,回答问题。

二.实验内容

思考问题:数据类型、运算符、表达式等在C语句中充当什么成分?什么是标识符?整型、实型、字符型常量的书写法是怎样的?整型、实型、字符型变量怎样创建?字符串怎样表示?如何求表达式的值?混合表达式的求值规则是怎样的?

1.输入下列源程序,进行修改、编译、连接和运行。

程序:main ( )

{ char c1,c2;

c1=97; //1

c2=98; //2

printf("%c,%c\n",c1,c2);

printf("%d,%d\n",c1,c2);

}

运行结果是:

两行结果的不同是由什么引起的:

把注释1和注释2(即//1和//2)两行的赋值语句中,c1和c2分别赋值为400、500会产生什么结果,分析为什么。

2.输入下列源程序,进行修改、编译、连接和运行。分析++运算符。

程序:main ( )

{ int i,j,m,n;

i=8;

j=10;

m=++i;

n=j++;

printf("%d,%d,%d,%d \n", i, j, m, n);

}

运行结果是:

分析前++和后++的不同:

3.输入下列源程序,进行修改、编译、连接和运行。分析++和--运算符。

程序:main ( )

{ int i,j;

i=8;

j=10;

printf("%d,%d \n", i, j);

printf("%d,%d \n", i++, j--);

printf("%d,%d \n", i, j);

printf("%d,%d \n", ++ i, -- j);

}

运行结果是:

想一想i++和++i,j--和--j之间的不同之处?

4.求下列表达式的值,并编写程序,上机进行验证。

① x + a%3*(int)(x+y)%2/4 设x=2.5, a=7, y=4.7

程序:

②(float)(a+b)/2+(int)x%(int)y 设a=7,b=3,x=3.5,y=2.5

程序:

5.求下列表达式的值,并编写程序,上机进行验证。

设a=12, n=5。

①a+=a ②a-=2

③a*=2+3 ④a/=a+a

程序:

6.输入并运行下段程序:

main()

{

int x,y;

printf("Enter x=,y=? ");

scanf("%d%d",&x,&y);

x+=y;

y=x-y;

x-=y ;

printf("x=%d, y= %d ",x,y,);

}

在运行时向程序变量输入任意两个整数。查看输出结果,分析程序的功能。

7.输入并运行下段程序:

main()

{

int k, g;

k = 017; // k为八进制数

g = 111; // g 为十进制数

printf(“%d\t”, ++k); // 以十进制数输出k

printf(“%d\t”, -(k++)); // 以十进制数输出k

printf(“%d\t”, -k++); // 以十进制数输出k

printf(“%x\t“, g++); // 以16进制数输出g

printf(“%d\n“, -g--); // 以8进制数输出g

}

运行结果为:

如果将++分别改为--,结果为:

8.编一个程序,输入一个三位数据,在窗体打印输出其个位数,十位数和百数。

9.编写程序,从键盘输入梯形的上下底边长度和高,计算梯形的面积。

要求:输入不同的数值,查看程序运行结果是否正确。例如,输入3,4,5 或输入4.5,5.5,6。

提示: scanf(“%f”, &a)表示读取一个实数到变量a中。

华中科技大学c第2次上机作业

第二章上机实验 一、实验目的 ●学会编写选择结构的C++程序。 ●掌握if 语句的使用 ●掌握switch 语句的使用 ●学会编写简单的循环结构C++程序 二、实验内容 1.在vc环境下编写下述程序代码,编译调试其语法和逻辑错误,直至得到完全正确的结果。 #include using namespace std; int main(){ int a,b,c; int max,min; cout<<"请输入三个不等整数:\n"; cin>>a>>b>>c; if(a>b) max=a; min=b; else ; max=b; min=a; if(c>max) cout<

发系统给出很多条error信息,因此,发现一个错误并修改后最好重新编译一次,以便提高工作效率。 警告错误处理: 一般是触发了C/C++的自动规则,如将一个单精度(浮点)型数据赋给整型变量,需要系统将单精度型数据自动转换为整型,此时小数部分会丢失,因而系统给出警告信息,警告信息不会影响程序执行,本例可以通过强制转换去掉警告信息。 连接错误(linking error) 产生连接错误的原因可能是缺少所需的库文件或目标文件,或程序中调用的外部函数没有定义等,只要补充相应文档再重新建立即可。 逻辑错误 运行程序时,可能发现程序没有编译错误,而且也能执行,但执行结果不对,此时存在的就是逻辑错误。 ①编译上述程序,按照上面介绍的方法找出并修改其语法错误。 ②语法错误修改完毕后用下列四组数组分别测试其结果,看是否正确,如果不正确,请 使用下述调试手段修改。 数据一: 33 60 50 数据二: 33 22 10 数据三: 88 45 67 数据三: 88 45 30 调试过程:+ 首先,在源程序中可能出现错误的行上设置断点,方法是将光标移至该行,然后按F9键,或单击工具栏上的手形按钮(再按一次F9键或单击手形按钮将取消断点),此时该行左侧出现一个红色圆点,断点设置成功,如图就是在A行设置了断点。 然后选择【组建】|【开始调试】|【GO】菜单命令(也可直接单击工具栏上的图标),程序开始执行,但执行到断点处停止,这时选择【查看】|调试窗口|子菜单的Watch 和Variables两个菜单项,打开监视窗口和变量窗口来观察变量的值,分析并查找出错原因。 在Watch窗口加入max和min两个变量,进行监视。Watch窗口的每一行可以显示一个变量,其中左栏显示变量名,双击它可进行编辑;右栏显示变量的值。接下来可按F10键从断点位置处单步执行。通过单步执行(一条一条语句执行)可以看出我们所观察的变量的变化以及程序执行流程是否正确,如果不正确是由哪条语句引起的,因而有针对性的检查错误原因。例如在本例中,尽管a>b,在执行了if后面的{max=a; min=b; }后,通过单步执行发现仍然执行了else后面的{max=b; min=a; }所以当程序执行到箭头所指位置时,max=45, min=48,如图所示,与预期结果不相符,说明程序的流程有问题。此时再仔细分析源程序,发现问题在于else后多余的分号。

MATLAB数学实验第二版答案(胡良剑)

数学实验答案 Chapter 1 Page20,ex1 (5) 等于[exp(1),exp(2);exp(3),exp(4)] (7) 3=1*3, 8=2*4 (8) a为各列最小值,b为最小值所在的行号 (10) 1>=4,false, 2>=3,false, 3>=2, ture, 4>=1,ture (11) 答案表明:编址第2元素满足不等式(30>=20)和编址第4元素满足不等式(40>=10) (12) 答案表明:编址第2行第1列元素满足不等式(30>=20)和编址第2行第2列元素满足不等式(40>=10) Page20, ex2 (1)a, b, c的值尽管都是1,但数据类型分别为数值,字符,逻辑,注意a与c相等,但他们不等于b (2)double(fun)输出的分别是字符a,b,s,(,x,)的ASCII码 Page20,ex3 >> r=2;p=0.5;n=12; >> T=log(r)/n/log(1+0.01*p) Page20,ex4 >> x=-2:0.05:2;f=x.^4-2.^x; >> [fmin,min_index]=min(f) 最小值最小值点编址 >> x(min_index) ans = 0.6500 最小值点 >> [f1,x1_index]=min(abs(f)) 求近似根--绝对值最小的点 f1 = 0.0328 x1_index = 24 >> x(x1_index) ans = -0.8500 >> x(x1_index)=[];f=x.^4-2.^x; 删去绝对值最小的点以求函数绝对值次小的点 >> [f2,x2_index]=min(abs(f)) 求另一近似根--函数绝对值次小的点 f2 = 0.0630 x2_index = 65 >> x(x2_index) ans = 1.2500

上机实验 11 参考答案

上机实验11 指针与数组 一.实验目的 1. 掌握用下标、数组名或指针等不同方式引用数组元素; 2. 掌握数组名作函数参数的方法; 3.掌握常用的字符串处理函数和字符处理函数; 4.掌握用指针处理字符串的方法; 二.实验内容 【实验题1】程序填空:自定义函数del(s), 功能是删除字符串s中的数字字符, 要求使用字符处理函数isdigit()和字符串处理函数strcpy()。在主函数中输入1个字符串,然后调用函数del(), 用于删除其中的数字字符,并输出处理后的字符串。 提示:从字符串s的首字符开始, 到结束符’\0’之前为止,逐个检查第i个字符是否是数字字符,是则删除该字符——使用字符判别函数isdigit(s[i]), 如果s[i]是数字字符,该函数返回1,否则返回0. 难点:如何删除s的第i个字符?——使用字符串复制函数strcpy(), 将子串s+i+1(从字符s[i+1]开始的子串)复制到给s+i (从字符s[i]开始的子串),即strcpy(s+i, s+i+1)。 #include #include < ctype.h > #include void del( char *s); //line 4 函数声明 void main() { char str[80]; gets( str); //输入字符串str del(str ); //调用函数del(),删除str中的数字 puts(str); //输出字符串str } void del(char *s) //line 12 函数定义 { int i=0; while(s[i]!='\0') if(isdigit(s[i]) ) strcpy( s+i, s+i+1); // 如果字符s[i]是数字,用函数strcpy删除它 else i++; // 否则,继续查看下一个字符 } 运行程序,输入字符串"a1b2 #include

《计量经济学》上机实验答案过程步骤

实2:我国1978-2001年的财政收入(y )和国民生产总值(x )的数据资料如表2所示: 表2 我国1978-2001年财政收入和国民生产总值数据 试根据资料完成下列问题: (1)给出模型t t t u x b b y ++=10的回归报告和正态性检验,并解释回归系数的经济意义; (2)求置信度为95%的回归系数的置信区间; (3)对所建立的回归方程进行检验(包括估计标准误差评价、拟合优度检验、参数的显著性检验); (4)若2002年国民生产总值为亿元,求2002年财政收入预测值及预测区间(05.0=α)。 参考答案:

(1) t t x y 133561.06844.324?+= =)?(i b s =)?(i b t 941946.02 =R 056.1065?==σ SE 30991.0=DW 9607.356=F 133561.0?1 =b ,说明GNP 每增加1亿元,财政收入将平均增加万元。 (2))?()2(?02/00b s n t b b ?-±=α=±? )?()2(?1 2/11b s n t b b ?-±=α=±? (3)①经济意义检验:从经济意义上看,0133561.0?1 ?=b ,符合经济理论中财政收入随着GNP 增加而增加,表明GNP 每增加1亿元,财政收入将平均增加万元。 ②估计标准误差评价: 056.1065?==σ SE ,即估计标准误差为亿元,它代表我国财政收入估计值与实际值之间的平均误差为亿元。 ③拟合优度检验:941946.02 =R ,这说明样本回归直线的解释能力为%,它代表我国财政收入变动中,由解释变量GNP 解释的部分占%,说明模型的拟合优度较高。 ④参数显著性检验:=)?(1b t ?0739.2)22(025 .0=t ,说明国民生产总值对财政收入的影响是显著的。 (4)6.1035532002=x , 41.141556.103553133561.06844.324?2002=?+=y

运筹学上机实验指导书.

运筹学上机实验指导书 重庆交通大学管理学院

目录 绪论 运筹学上机实验软件简介 第一章运筹学上机实验指导 §1.1 中小型线性规划模型的计算机求解 §1.2 大型线性规划模型的编程计算机求解 §1.3线性规划的灵敏度分析 §1.4运输问题数学模型的计算机求解 §1.5目标规划数学模型的计算机求解 §1.6整数规划数学模型的计算机求解 §1.7 指派问题的计算机求解 §1.8最短路问题的计算机求解 §1.9最大流问题的计算机求解 第二章LINGO软件基础及应用 §2.1 原始集(primitive set)和派生集(derived set)与集的定义 §2.2 LINGO中的函数与目标函数和约束条件的表示 §2.3 LINGO中的数据 §2.4 LINDO简介

第三章运筹学上机实验及要求 实验一.中小型线性规划模型的求解与Lingo软件的初步使用实验二.中小型运输问题数学模型的Lingo软件求解。 实验三.大型线性规划模型的编程求解。 实验四.运输问题数学模型的Lingo编程求解。 实验五.分支定界法上机实验 实验六.整数规划、0-1规划和指派问题的计算机求解 实验七:最短路问题的计算机求解 实验八:最大流问题的计算机求解 实验九:运筹学综合实验

绪论 运筹学是研究资源最优规划和使用的数量化的管理科学,它是广泛利用现有的科学技术和计算机技术,特别是应用数学方法和数学模型,研究和解决生产、经营和经济管理活动中的各种优化决策问题。 运筹学通常是从实际问题出发,根据决策问题的特征,建立适当的数学模型,研究和分析模型的性质和特点,设计解决模型的方法或算法来解决实际问题,是一门应用性很强的科学技术。运筹学的思想、内容和研究方法广泛应用于工程管理、工商企业管理、物流和供应链管理、交通运输规划与管理等各行各业,也是现代管理科学和经济学等许多学科研究的重要基础。 在解决生产、经营和管理活动中的实际决策问题时,一般都是建立变量多、约束多的大型复杂的运筹学模型,通常都只能通过计算机软件才能求解,因此,学习运筹学的计算机求解和进行上机实验,就是运筹学教学的重要组成部分。 现在求解各类运筹学模型的软件多种,主要有Microexcel,Matlab,LINDO,LINGO,WinQSB和英国运筹学软件Dash-Xpress。Microexcel主要利用规划求解来解线性规划模型,WinQSB功能比较齐全,但是主要适合解决规模较小的运筹学模型,英国运筹学软件Dash-Xpress现在在中国的使用率不高,Matlab是通过矩阵的方法解决线性规划,对非线性规划和其它运筹学模型特别是大规模的模型的输入不太方便,。而LINGO和LINDO是使用最广泛的运筹学专业软件,前者功能强大,能解决几乎所有的运筹学优化模型,后者主要功能是线性规划模型的求解。在LINGO中模型的输入和编程都比较方便,可解决大规模的运筹学模型。因此,本课程的教学就是以LINGO为主,适当补充Excel和LINDO作为运筹学上机软件,后者的优势主要在于能获得最优单纯形表以进行更全面地灵敏度分析。 LINGO是用来求解线性和非线性优化问题的简易工具。LINGO内置了一种建立最优化模型的语言,可以简便地表达大规模问题,利用LINGO高效的求解器可快速求解并分析结果。 LINGO全称是Linear INteractive and General Optimizer的缩写---交互式的线性和通用优化求解器。它是一套设计用来帮助您快速,方便和有效的构建和求解线性,非线性,和整数最优化模型的功能全面的工具.包括功能强大的建模语言,建立和编辑问题的全功能环境,读取和写入Excel和数据库的功能,和一系列完全内置的求解程序. 运行环境:Win9x/NT/2000/XP/2003/Vista/Win7 软件类别:国外软件/工具软件/计算工具 软件语言:英文 LINGO 是使建立和求解线性、非线性和整数最佳化模型更快更简单更有效率的综合工具。LINGO 提供强大的语言和快速的求解引擎来阐述和求解最佳化模型。LINGO具有如下的优势: 1.简单的模型表示 LINGO 可以将线性、非线性和整数问题迅速得予以公式表示,并且容易阅读、了解和修改。LINGO的建模语言允许您使用汇总和下标变量以一种易懂的直观的方式来表达模型,非常类似您在使用纸和笔。模型更加容易构建,更容易

大学数学数学实验(第二版)第7,8章部分习题答案

一、实验内容 P206第六题 function f=wuyan2(c) y=[3.9 5.3 7.2 9.6 12.9 17.1 23.2 31.41 38.6 50.2 62.9 76.0 92.0 106.5 123.2 131.7 150.7 179.3 204.0 226.5 251.4 281.4] t=[0 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 190 200 210] f=y-c(1)/(1+c(1)/3.9-1)*exp^(-c(2)*t) c0=[1 1] c=lsqnonlin('wuyan2',c0) P206第七题 function f=wuyan1(c) q=[0.4518 0.4862 0.5295 0.5934 0.7171 0.8964 1.0202 1.1963 1.4928 1.6909 1.8548 2.1618 2.6638 3.4634 4.6759 5.8478 6.7885 7.4463 7.8345 8.2068 8.9468 9.7315 10.5172 11.7390 13.6876 ]; k=[0.0911 0.0961 0.1230 0.1430 0.1860 0.2543 0.3121 0.3792 0.4754 0.4410 0.4517 0.5595 0.8080 1.3072 1.7042 2.0019 2.2914 2.4941 2.8406 2.9855 3.2918 3.7214 4.3500 5.5567 7.0477]; l=[4.2361 4.3725 4.5295 4.6436 4.8179 4.9873 5.1282 5.2783 5.4334 5.5329 6.4749 6.5491 6.6152 6.6808 6.7455 6.8065 6.8950 6.9820 7.0637 7.1394 7.2085 7.3025 7.3470 7.4432 7.5200]; f=q-c(1)*k.^c(2).*l.^c(3) c0=[1 1 1] c=lsqnonlin('wuyan1',c0) c = 0.4091 0.6401 1.1446 a=0.4091 α=0.6401 β=1.1446 P239第五题 c=[-20 -30]; A=[1 2;5 4]; b=[20 70]; v1=[0 0]; [x,f,ef,out,lag]=linprog(c,A,b,[],[],v1) z=-f x = 10.0000 5.0000

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、请编写函数int fun(int *a, int *b),函数的功能是判断两个指针a和b所指存储单 元的值的符号是否相同;若相同函数返回1,否则返回0。这两个存储单元中的值都不为0。在主函数中输入2个整数、调用函数fun、输出结果。 #include int fun(int *a, int *b) { if (*a*(*b)>0) return(1); else return(0); } main() { int x,y; scanf("%d%d",&x,&y); if (fun(&x,&y)) printf("yes\n"); else printf("no"); } 2、计算1+2+3+……+100,要求用指针进行设计。即设计函数int fun(int *n)实现求 1+2+3+……+*n,在主函数中输入、调用、输出结果。 #include int fun(int *n) { int i,sum=0; for (i=1;i<=*n;i++) sum+=i; return(sum); } main() { int x,sum; scanf("%d",&x); printf("the sum is %d\n",fun(&x)); } 3、函数的功能是求数组a中最大数的位置(位序号)。在主函数中输入10个整数、调用函

数fun、输出结果。 #define N 10 #include void input(int *a,int n) { int i; for (i=0;i*max) max=a+i; return(max-a); } main() {int a[N],maxi; input(a,N); maxi=fun(a,N); printf("\n the max position is %d\n",maxi); } 4、请编写函数fun(int *a,int n, int *odd, int *even),函数的功能是分别求出数组a 中所有奇数之和和所有偶数之和。形参n给出数组中数据的个数;利用指针odd和even分别返回奇数之和和偶数之和。在主函数中输入10个整数、调用函数fun、输出结果。 #define N 10 #include void input(int *a,int n) { int i; for (i=0;i

Matlab与数学实验(第二版)(张志刚 刘丽梅 版) 习题答案

Matlab与数学实验(第二版)(张志刚刘丽梅版)习题答案 (1,3,4,5章) 第一章 d1zxt1 用format的不同格式显示2*Pi,并分析格式之间的异同。 a=2*pi ; disp('***(1) 5位定点表示2*pi:') format short , a % 5位定点表 disp('***(2) 15位定点表示2*pi:') format long , a % 15位定点表 disp('***(3) 5位浮点表示2*pi:') format short e , a % 5位浮点表示 disp('***(4) 15位浮点表示2*pi:') format long e , a % 15位浮点表示 disp('***(5) 系统选择5位定点和5位浮点中更好的表示2*pi:') format short g , a % 系统选择5位定点和5位浮点中更好的表示 disp('***(6) 系统选择15位定点和15位浮点中更好的表示2*pi:') format long g , a % 系统选择15位定点和15位浮点中更好的表 disp('***(7) 近似的有理数的表示2*pi:') format rat , a % 近似的有理数的表 disp('***(8) 十六进制的表示:') format hex , a % 十六进制的表 disp('***(9) 用圆角分(美制)定点表示2*pi:') format bank , a % 用圆角分(美制)定点表示 d1zxt2利用公式求Pi的值。 sum=0 ; n=21; for i = 1:4:n % 循环条件 sum= sum+(1/i) ; % 循环体 end diff=0 ; for j = 3:4:(n-2) % 循环条件 diff= diff+(1/j) ; % 循环体 end pai=4*(sum-diff) d1zxt3 编程计算1!+3!+...+25!的阶乘。 % 方法1:利用“while循环”来计算1!+3!+...+25!的值。

C语言上机实验-答案

实验一上机操作初步(2学时) 一、实验方式:一人一机 二、实验目的: 1、熟悉VC++语言的上机环境及上机操作过程。 2、了解如何编辑、编译、连接和运行一个C程序。 3、初步了解C程序的特点。 三、实验内容: 说明:前三题为必做题目,后两题为选做题目。 1、输出入下信息:(实验指导书P79) ************************* Very Good ************************* 2、计算两个整数的和与积。(实验指导书P81) 3、从键盘输入一个角度的弧度值x,计算该角度的余弦值,将计算结果输出到屏幕。(书 P3) 4、在屏幕上显示一个文字菜单模样的图案: ================================= 1 输入数据 2 修改数据 3 查询数据 4 打印数据 ================================= 5、从键盘上输入两个整数,交换这两个整数。 四、实验步骤与过程: 五、实验调试记录: 六、参考答案: 1、#include void main( ) { printf(“********************\n”); printf(“ Very Good\n”); printf(“********************\n”); } 2、#include void main( ) { int a,b,c,d; printf(“Please enter a,b:”);

scanf(“%d,%d”,&a,&b); c=a+b; d=a*b; printf(“%d+%d=%d\n”,a,b,c); printf(“%d*%d=%d\n”,a,b,d); } 3、#include #include void main( ) { double x,s; printf(“Please input value of x:”); scanf(“%lf”,&x); s=cos(x); printf(“cos(%lf)=%lf\n”,x,s); } 4、#include void main( ) { printf(“==================================\n”); printf(“ 1 输入数据 2 修改数据\n”); printf(“ 3 查询数据 4 打印数据\n”); printf(“===================================\n”); } 5、#include void main( ) { int x,y,t; printf(“Please enter x and y:”); scanf(“%d%d”,&x,&y); t=x; x=y; y=t; printf(“After s\n”,x,y); } 实验二简单的C程序设计(4学时) 一、实验方式:一人一机 二、实验目的: 1、掌握C语言的数据类型。 2、学会使用C语言的运算符及表达式。 3、掌握不同数据类型的输入输出方法。 三、实验内容: 说明:前四题为必做题目,后两题为选做题目。

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的工作环境

东华大学MATLAB数学实验第二版答案(胡良剑)

东华大学M A T L A B数学实验第二版答案(胡良 剑) -CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIAN

数学实验答案 Chapter 1 Page20,ex1 (5) 等于[exp(1),exp(2);exp(3),exp(4)] (7) 3=1*3, 8=2*4 (8) a为各列最小值,b为最小值所在的行号 (10) 1>=4,false, 2>=3,false, 3>=2, ture, 4>=1,ture (11) 答案表明:编址第2元素满足不等式(30>=20)和编址第4元素满足不等式(40>=10) (12) 答案表明:编址第2行第1列元素满足不等式(30>=20)和编址第2行第2列元素满足不等式(40>=10) Page20, ex2 (1)a, b, c的值尽管都是1,但数据类型分别为数值,字符,逻辑,注意a与c 相等,但他们不等于b (2)double(fun)输出的分别是字符a,b,s,(,x,)的ASCII码 Page20,ex3 >> r=2;p=0.5;n=12; >> T=log(r)/n/log(1+0.01*p) Page20,ex4 >> x=-2:0.05:2;f=x.^4-2.^x; >> [fmin,min_index]=min(f) 最小值最小值点编址 >> x(min_index) ans = 0.6500 最小值点 >> [f1,x1_index]=min(abs(f)) 求近似根--绝对值最小的点 f1 = 0.0328 x1_index = 24 >> x(x1_index) ans = -0.8500 >> x(x1_index)=[];f=x.^4-2.^x; 删去绝对值最小的点以求函数绝对值次小的点>> [f2,x2_index]=min(abs(f)) 求另一近似根--函数绝对值次小的点 f2 = 0.0630 x2_index = 65 >> x(x2_index) ans =

c语言上机实验完整标准答案

c语言上机实验完整答案

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

实验一自测练习1 程序代码 #include"stdio.h" void main() {int x; scanf("%d",&x); if (x%2 !=0) printf("%d is an odd\n",x); else printf("%d is an even\n",x); } 运行结果 自测练习2 程序代码 #include"stdio.h" void main() {int i,sum; i=1;sum=0; while (i<=100) {sum=sum+i; i++; }

printf("sum=%d\n",sum); } 运行结果 自测练习3 程序代码 #include"stdio.h" void main() {int i,n; long p; p=1; printf("Enter n:"); scanf("%d",&n); for (i=1;i<=n;i++) p=p*i; printf("p=%ld\n",p); } 运行结果

自测练习4 程序代码 #include"stdio.h" int max(int x,int y) {int z; if (x>y) z=x;else z=y; return(z); } void main() {int a,b,c; scanf("%d,%d",&a,&b); c=max(a,b); printf("max=%d\n",c); } 运行结果

数字信处理上机实验答案全

数字信处理上机实验答 案全 Document number【SA80SAB-SAA9SYT-SAATC-SA6UT-SA18】

第十章 上机实验 数字信号处理是一门理论和实际密切结合的课程,为深入掌握课程内容,最好在学习理论的同时,做习题和上机实验。上机实验不仅可以帮助读者深入的理解和消化基本理论,而且能锻炼初学者的独立解决问题的能力。本章在第二版的基础上编写了六个实验,前五个实验属基础理论实验,第六个属应用综合实验。 实验一系统响应及系统稳定性。 实验二时域采样与频域采样。 实验三用FFT对信号作频谱分析。 实验四 IIR数字滤波器设计及软件实现。 实验五 FIR数字滤波器设计与软件实现 实验六应用实验——数字信号处理在双音多频拨号系统中的应用 任课教师根据教学进度,安排学生上机进行实验。建议自学的读者在学习完第一章后作实验一;在学习完第三、四章后作实验二和实验三;实验四IIR数字滤波器设计及软件实现在。学习完第六章进行;实验五在学习完第七章后进行。实验六综合实验在学习完第七章或者再后些进行;实验六为综合实验,在学习完本课程后再进行。 实验一: 系统响应及系统稳定性 1.实验目的 (1)掌握求系统响应的方法。 (2)掌握时域离散系统的时域特性。 (3)分析、观察及检验系统的稳定性。 2.实验原理与方法 在时域中,描写系统特性的方法是差分方程和单位脉冲响应,在频域可以用系统函数描述系统特性。已知输入信号可以由差分方程、单位脉冲响应或系统函数求出系统对于该输入信号的响应,本实验仅在时域求解。在计算机上适合用递推法求差分方程的解,最简单的方法是采用MATLAB语言的工具箱函数filter函数。也可以用MATLAB语言的工具箱函数conv函数计算输入信号和系统的单位脉冲响应的线性卷积,求出系统的响应。 系统的时域特性指的是系统的线性时不变性质、因果性和稳定性。重点分析实验系统的稳定性,包括观察系统的暂态响应和稳定响应。 系统的稳定性是指对任意有界的输入信号,系统都能得到有界的系统响应。或者系统的单位脉冲响应满足绝对可和的条件。系统的稳定性由其差分方程的系数决定。 实际中检查系统是否稳定,不可能检查系统对所有有界的输入信号,输出是否都是有界输出,或者检查系统的单位脉冲响应满足绝对可和的条件。可行的方法是在系统的输入端加入单位阶跃序列,如果系统的输出趋近一个常数(包括零),就可以断定系统是稳定的[19]。系统的稳态输出是指当∞ n时,系统的输出。如果系统稳定,信号加入 → 系统后,系统输出的开始一段称为暂态效应,随n的加大,幅度趋于稳定,达到稳态输出。 注意在以下实验中均假设系统的初始状态为零。 3.实验内容及步骤

VB上机实验题

(截止目前所有上机实验及代码。不用画窗体界面,只写题目和代码。填写实验报告也是复习的过程,请务必认真! ......) 实验一:第二章 ⒈在名称为Form1的窗体上画一个标签,其名称为Label1,标题为“等级考试”,BorderStyle属性值为1,可以根据标题自动调整大小;然后再画一个命令按钮,其名称和标题均为Command1,编写适当的事件过程。程序运行后,界面如图所示,此时如果单击命令按钮,则标签消失,同时用标签的标题作为命令按钮的标题。 Private sub command1_click() Label1.visible=false Command1.caption=label1.caption End sub ⒉在名称为Form1的窗体上画一个标签,其名称为Label1,标题为“输入信息”、一个文本框, 名称为Text1,Text属性为空白、一个命令按钮,名称为Command1,标题为“显示”。然后编写命令按钮的Click事件过程。程序运行后,在文本框输入“计算机等级考试”,然后单击命令按钮,则标签和文本框消失,并在窗体上显示文本框的内容。要求程序中不得使用任何变量。 上机代码:Private sub command1_click() Label1.visible=false Text1.visible=false Print text1.text End sub ⒊在名称为Form1的窗体上画两个文本框,名称分别为Text1和Text2,再画两个命令按钮,名 称分别为Command1和Command2,标题分别为“复制”和“删除”。程序运行时,在Text1中输入一串字符,并用鼠标拖曳的方法选择几个字符,然后分别单击“复制”按钮,则被选中的字符被复制到Text2中;若单击“删除”按钮,则被选中的字符从Text1中被删除。请编写两个命令按钮的Click过程完成上述功能。

C语言程序设计_上机实验指导与习题_第三版_(陈湘骥_编著_著)_华南农业大学_参考答案

C语言程序设计上机实验指导与习题 参考答案 (仅供教师内部参考) 华南农业大学

目录 上机实验 (1) 实验 1 C语言程序初步 (1) 一、实验目的 (1) 二、实验内容 (1) 实验2基本数据类型、运算和表达式 (3) 一、实验目的 (3) 二、实验内容 (3) 实验3基本输入与输出 (5) 一、实验目的 (5) 二、实验内容 (5) 实验4选择结构程序设计 (4) 一、实验目的 (4) 二、实验内容 (4) 实验5循环结构程序设计(一) (9) 一、实验目的 (9) 二、实验内容 (9) 实验6循环结构程序设计(二) (15) 一、实验目的 (15) 二、实验内容 (15) 实验7数组 (17) 一、实验目的 (17) 二、实验内容 (17) 实验8字符数组的应用 (22) 一、实验目的 (22) 二、实验内容 (22) 实验9函数的基本应用 (24) 一、实验目的 (24) 二、实验内容 (24) 实验10指针与结构体 (26) 一、实验目的 (26) 二、实验内容 (26) *实验11链表 (29) 一、实验目的 (29) 二、实验内容 (29) *实验12文件 (32) 一、实验目的 (32) 二、实验内容 (32)

上机实验 实验 1 C语言程序初步 一、实验目的 (1)了解所用的计算机系统的基本操作方法,学会独立使用该系统。 (2)了解在该系统上如何编辑、编译、连接和运行一个C程序。 (3)通过运行简单的C程序,初步了解C程序的特点。 (4)在教师的指导下,学会使用JudgeOnline实验系统。 二、实验内容 1. 运行第一个 C 程序 [题目:The first C Program] 将下列程序输入 TC(或 VC++),编译、连接和运行该程序。 void main() { printf("The first C Program\n"); } [具体操作步骤] 以 Turbo C 上的操作为例 (1)Windows 进入后,按照第一章中介绍的方法,进入 Turbo C。 (2)在编辑窗口中输入程序。 (3)保存程序,取名为 a1.c。 (4)按照第一章中介绍的方法,编译、连接和运行程序。 2.在JudgeOnline系统中提交实现了计算a+b功能的程序 [题目 1001:计算 a+b] 由键盘输入两个整数,计算并输出两个整数的和。实现该功能的程序如下, void main() { int a, b; scanf("%d%d", &a, &b); 1

数据库上机实验题目和答案

试用SQL的查询语句表达下列查询: 1.检索王丽同学所学课程的课程号和课程名。 select Cno ,Cname from c where Cno in (select cno from sc where sno in (select sno from s where sname='王丽' )) 2.检索年龄大于23岁的男学生的学号和姓名。 select sno,sname from s where sex='男' and age>23 3.检索‘c01’课程中一门课程的女学生姓名 select sname from s where sex='女' and sno in (select sno from sc where cno='c01') 4.检索s01同学不学的课程的课程号。 select cno from c where cno not in (select cno from sc where sno ='s01') 5.检索至少选修两门课程的学生学号。 select sc.sno from s,sc where s.sno=sc.sno group by sc.sno having count(https://www.360docs.net/doc/5e7835726.html,o)>=2 6.每个学生选修的课程门数。 解法一: select so.sno sno,https://www.360docs.net/doc/5e7835726.html,ount,s.sname from(select sc.sno sno,count(sc.sno) ccount from sc,s where s.sno=sc.sno group by sc.sno ) so,s where s.sno=so.sno 解法二: select sc.sno sno,s.sname,count(sc.sno) ccount from sc,s where s.sno=sc.sno group by sc.sno,sname

相关文档
最新文档