实验5 函数
湖北理工学院c语言实验报告实验五[策划]
![湖北理工学院c语言实验报告实验五[策划]](https://img.taocdn.com/s3/m/f562119570fe910ef12d2af90242a8956becaa73.png)
实验五函数与编译预处理实验课程名:高级语言程序设计专业班级:软件工程学号:姓名:高敏实验时间:11.25-12.2 实验地点:K4-208 指导教师:刘天印(3)运行结果分析:用Workover和reset涵数转换i的值,并输出8.上机调试下面程序,观察静态局部变量在调用过程中的变化。
#include <stdio.h>void main( ){ int i ;int f(int);for ( i = 1; i <= 5; i ++)printf( "(%d):% d\n", i,f(i));printf(" \n");}int f ( int n){ static int j = 1;j = j * n;return( j );}解答:(1)源代码:#include <stdio.h>void main( ){ int i ;int f(int);for ( i = 1; i <= 5; i ++)printf( "(%d):% d\n", i,f(i));printf(" \n");}int f ( int n){ static int j = 1;j = j * n;return( j );}(2)运行结果:(3)运行结果分析: 输出1,2,3,4,5的阶层6. 编写程序,实现由主函数输入m 、n ,按下述公式计算并输出nm C 的值。
)!(!!n m n m C n m -=(1)源代码:#include<stdio.h> void main() {int i,m,n,N;int a=1,b=1,c=1;printf("please input m n:\n"); scanf("%d%d",&m,&n); for(i=1;i<m+1;i++) a*=i;for(i=1;i<n+1;i++) b*=i;for(i=1;i<m-n+1;i++){c*=i;} N=a/(b*c);printf("%d\n",N); }(2)运行结果:(3)运行结果分析)!(!!n m n m C n m -=说明:1.电子实验报告填写好后,以学生的学号+实验项目名作为该word文件名保存,例如某学生学号为20080001,姓名为某某,本次实验名称是:实验一顺序结构程序设计,则本次实验报告的保存文件名为:01某某实验一.doc。
实验5__matlab自定义函数及导数应用
![实验5__matlab自定义函数及导数应用](https://img.taocdn.com/s3/m/e62f8810a300a6c30c229f51.png)
在区间 ( ,1) 与 (1, ) f ( x ) ,在区间 (1,3) f ( x ) , fmax (1) 7 fmin ( 3) 3
可建立一个名为 dandiao.m 文件,用来求函数 的单调区间。
disp('输入函数(自变量为x)'); syms x; f=input('f(x)='); df=diff(f); s=solve(df); s=eval(s) a=[]; for i=1:length(s); a(i)=s(i); end ezplot(f,[min(a)-1,max(a)+1])
grid21816141210806040215105发现在16和06附近各有一个零点我们分两个小区间分别求解fzerofun212fzerofun1201ans15956ans06180fzerofun16fzerofun06ans15956ans27656xfhfsolvefunx0返回一元或多元函数fun在x0附近的一个零点
解: 求可导函数的单调区间与极值,就是求导 函数的正负区间与正负区间的分界点。 先求导函数的零点,再画出函数图像,根据 图像可直观地看出函数的单调区间与极值。 syms x; f=x^3-6*x^2+9*x+3;df=diff(f,x);s=solve(df)
s = [ 1] [ 3]
ezplot(f,[0,4])
建立正态分布的密度函 数
( x )2 2 2
1 f ( x , , ) e 2 function y=zhengtai(x,a,b)
y=1/sqrt(2*pi)*a*exp(-(x-b)^2/2/a^2)
存为 zhengtai.m,调用时可输入命令: y=zhengtai(1,1,0) ans=0.2420
实验五(线性方程组的数值解法和非线性方程求解)
![实验五(线性方程组的数值解法和非线性方程求解)](https://img.taocdn.com/s3/m/fedd732accbff121dd36838f.png)
1大学数学实验 实验报告 | 2014/4/5一、 实验目的1、学习用Matlab 软件数值求解线性代数方程组,对迭代法的收敛性和解的稳定性作初步分析;2、通过实例学习用线性代数方程组解决简化问题。
二、 实验内容项目一:种群的繁殖与稳定收获:种群的数量因繁殖而增加,因自然死亡而减少,对于人工饲养的种群(比如家畜)而言,为了保证稳定的收获,各个年龄的种群数量应维持不变。
种群因雌性个体的繁殖而改变,为方便起见以下种群数量均指其中的雌性。
种群年龄记作k=1,2,…,n ,当年年龄k 的种群数量记作x k ,繁殖率记作b k (每个雌性个体1年的繁殖的数量),自然存活率记作s k (s k =1−d k ,d k 为1年的死亡率),收获量记作ℎk ,则来年年龄k 的种群数量x ̌k 应该为x ̌k =∑b k n k=1x k , x ̌k+1=s k x k −ℎk , (k=1,2,…,n -1)。
要求各个年龄的种群数量每年维持不变就是要求使得x ̌k =x k , (k=1,2,…,n -1).(1) 如果b k , s k 已知,给定收获量ℎk ,建立求各个年龄的稳定种群数量x k 的模型(用矩阵、向量表示).(2) 设n =5,b 1=b 2=b 5=0,b 3=5,b 4=3,s 1=s 4=0.4,s 2=s 3=0.6,如要求ℎ1~ℎ5为500,400,200,100,100,求x 1~x 5.(3) 要使ℎ1~ℎ5均为500,如何达到?问题分析:该问题属于简单的种群数量增长模型,在一定的条件(存活率,繁殖率等)下为使各年龄阶段的种群数量保持不变,各个年龄段的种群数量将会满足一定的要求,只要找到种群数量与各个参量之间的关系,建立起种群数量恒定的方程就可以求解出各年龄阶段的种群数量。
模型建立:根据题目中的信息,令x ̌k =x k ,得到方程组如下:{x ̌1=∑b k nk=1x k =x 1x ̌k+1=s k x k −ℎk =x k+1整理得到:{−x 1∑b k nk=1x k =0−x k+1+s k x k =ℎk2 大学数学实验 实验报告 | 2014/4/52写成系数矩阵的形式如下:A =[b 1−1b 2b 3s 1−100s 2−1…b n−1b n0000⋮⋱⋮000000000⋯00−10s n−1−1]令h =[0, ℎ1,ℎ2,ℎ3,…,ℎn−2,ℎn−1]Tx =[x n , x n−1,…,x 1]T则方程组化为矩阵形式:Ax =h ,即为所求模型。
2019年MATLAB)课后实验答案
![2019年MATLAB)课后实验答案](https://img.taocdn.com/s3/m/62de2f504693daef5ff73d1d.png)
实验一 MATLAB 运算基础1. 先求下列表达式的值,然后显示MATLAB 工作空间的使用情况并保存全部变量。
(1) 0122sin 851z e =+(2) 21ln(2z x =,其中2120.455i x +⎡⎤=⎢⎥-⎣⎦ (3) 0.30.330.3sin(0.3)ln , 3.0, 2.9,,2.9,3.022a a e e az a a --+=++=--(4) 2242011122123t t z t t t t t ⎧≤<⎪=-≤<⎨⎪-+≤<⎩,其中t =0:: 解:4. 完成下列操作:(1) 求[100,999]之间能被21整除的数的个数。
(2) 建立一个字符串向量,删除其中的大写字母。
解:(1) 结果:(2). 建立一个字符串向量例如:ch='ABC123d4e56Fg9';则要求结果是:实验二 MATLAB 矩阵分析与处理1. 设有分块矩阵33322322E R A O S ⨯⨯⨯⨯⎡⎤=⎢⎥⎣⎦,其中E 、R 、O 、S 分别为单位矩阵、随机矩阵、零矩阵和对角阵,试通过数值计算验证22E R RS A O S +⎡⎤=⎢⎥⎣⎦。
解: M 文件如下;5. 下面是一个线性方程组:1231112340.951110.673450.52111456x x x ⎡⎤⎢⎥⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎢⎥⎢⎥⎣⎦(1) 求方程的解。
(2) 将方程右边向量元素b 3改为再求解,并比较b 3的变化和解的相对变化。
(3) 计算系数矩阵A 的条件数并分析结论。
解: M 文件如下:123d4e56g9实验三 选择结构程序设计1. 求分段函数的值。
2226035605231x x x x y x x x x x x x ⎧+-<≠-⎪=-+≤<≠≠⎨⎪--⎩且且及其他用if 语句实现,分别输出x=,,,,,,时的y 值。
MATLAB)课后实验答案
![MATLAB)课后实验答案](https://img.taocdn.com/s3/m/185f368ccc1755270622082c.png)
实验一 MATLAB 运算基础1、 先求下列表达式得值,然后显示MATLAB 工作空间得使用情况并保存全部变量。
(1) 0122sin 851z e =+(2) 21ln(2z x =+,其中2120.455i x +⎡⎤=⎢⎥-⎣⎦ (3) 0.30.330.3sin(0.3)ln , 3.0, 2.9,,2.9,3.022a a e e a z a a --+=++=--L (4) 2242011122123t t z t t t t t ⎧≤<⎪=-≤<⎨⎪-+≤<⎩,其中t =0:0、5:2、5 解:4、 完成下列操作:(1) 求[100,999]之间能被21整除得数得个数。
(2) 建立一个字符串向量,删除其中得大写字母。
解:(1) 结果:(2)、 建立一个字符串向量 例如:ch='ABC123d4e56Fg9';则要求结果就是:实验二 MATLAB 矩阵分析与处理1、 设有分块矩阵33322322E R A O S ⨯⨯⨯⨯⎡⎤=⎢⎥⎣⎦,其中E 、R 、O 、S 分别为单位矩阵、随机矩阵、零矩阵与对角阵,试通过数值计算验证22E R RS A OS +⎡⎤=⎢⎥⎣⎦。
解: M 文件如下;5、 下面就是一个线性方程组:1231112340.951110.673450.52111456x x x ⎡⎤⎢⎥⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎢⎥⎢⎥⎣⎦(1) 求方程得解。
(2) 将方程右边向量元素b 3改为0、53再求解,并比较b 3得变化与解得相对变化。
(3) 计算系数矩阵A 得条件数并分析结论。
解: M 文件如下:实验三 选择结构程序设计1、 求分段函数得值。
2226035605231x x x x y x x x x x x x ⎧+-<≠-⎪=-+≤<≠≠⎨⎪--⎩且且及其他用if 语句实现,分别输出x=-5、0,-3、0,1、0,2、0,2、5,3、0,5、0时得y 值。
实验五:遗传算法求解函数最值问题实验
![实验五:遗传算法求解函数最值问题实验](https://img.taocdn.com/s3/m/b1daf384240c844768eaee12.png)
EJdoublefitness(constCh^crrcscrcRc)
{
doublek,y;
decode(cx# y);
retiurnf(x, y)+5;
2•交叉操作
首先是根据交叉概率probCross选择要交叉的个体进行交叉
//根据交叉槪率进行交叉
for(inti=pre = -1;i<N; i++)
//根据变异概率迸行变异
for (inti=0;i<N; i++)
if(randQm61() < probMutation)
mutate(group[i]);
变异时先随机生成变异的位置,然后把改位的01值翻转。
//变异操作
Hvoidmutate(ChrcfnosomeS c)
{
//随机选行翻转
inti-rand()%len; c-g[i] =
//骑越
boolflag-令;
for(inti = j=0; i<1.亡n;i++)
swap(d.g[l]Jc2.g[i]);
if(i== crosspcint[j])
//妇杲若干个交叉点重合”则效果叠加 "偃数个交叉点效果瑁当于没有交叉点while(j<
flag = [flag;
3.变异操作
首先是根据变异概率probMutation选择要变异的个体
经过一定的进化之后得到最终种群,从中选择最优的个体即可得
到最终的结果。
//获取种群最优你
-intgetOptimal(Ch^crescr:-oup[mxn]doubled—double&』doubled\)
实验训练5:存储过程与函数的构建与使用
![实验训练5:存储过程与函数的构建与使用](https://img.taocdn.com/s3/m/1c3df6b470fe910ef12d2af90242a8956becaadd.png)
实验训练5:存储过程与函数的构建与使用一、存储过程与函数的概念存储过程和函数都是数据库中的可执行代码,可以被多次调用和重复使用。
存储过程是一组预定义的SQL语句集合,可以在数据库中定义和存储。
而函数是一个独立的代码块,它接收输入参数并返回一个值。
二、存储过程的构建与使用1. 创建存储过程在MySQL中,创建存储过程需要使用CREATE PROCEDURE语句。
例如:CREATE PROCEDURE myproc()BEGINSELECT * FROM mytable;END;这个例子创建了一个名为myproc的存储过程,它会查询mytable表中的所有数据。
2. 调用存储过程使用CALL语句可以调用已经创建好的存储过程。
例如:CALL myproc();这个语句会执行myproc存储过程中定义的SQL语句。
3. 存储过程参数我们可以给存储过程添加参数来使其更加灵活。
例如:CREATE PROCEDURE myproc(IN p1 INT, IN p2 VARCHAR(50)) BEGINSELECT * FROM mytable WHERE column1 = p1 AND column2 = p2;END;这个例子创建了一个带有两个输入参数p1和p2的存储过程,它会查询mytable表中column1等于p1并且column2等于p2的数据。
4. 存储过程变量除了参数之外,存储过程还可以使用变量来存储中间结果。
例如:CREATE PROCEDURE myproc(IN p1 INT)BEGINDECLARE v1 INT;SET v1 = p1 * 2;SELECT * FROM mytable WHERE column1 = v1;END;这个例子创建了一个带有一个输入参数p1和一个变量v1的存储过程,它会将p1乘以2并将结果存储在v1变量中,然后查询mytable表中column1等于v1的数据。
C语言实验5-8答案(函数与数组)
![C语言实验5-8答案(函数与数组)](https://img.taocdn.com/s3/m/e05f73be960590c69ec37673.png)
任务
1.fact(j-1)*j
2.gcd(n,m%n)
m<n
3.//for(j=0;j<=n-i;j++)
//printf("");//删除这两行,因为顶格输出,不要空行了。
y==1||y==x
z=c(x-1,y-1)+c(x-1,y)
4.程序代码如下:
#include<stdio.h>
fib(int n)
#include <stdio.h>
main( )
{double fun(int m);//先调用再定义,且不是能缺省的int型,请加上函数说明。
int m;
printf("\n input m:");
scanf("%d",&m);
printf("\n t= %12.10lf \n",fun(m));
j=2
j—
i+j==2
输出为:a=13,b=14
4.i=1
x[i-1]
5.m<1000
m/10%10或m/10-x*10
a[i]=m
m<i
输出结果为:153 370 371 407
6.a
a
sum/n
x[i]<ave
任务
1.‘\0’
str1[i]-str2[i]
2.c[k]=a[i++];
c[k]=b[j++];
return yes;
}
main( )
{
int n;
scanf("%d",&n);
C语言在线实验第5次(第七章函数)-题目与答案
![C语言在线实验第5次(第七章函数)-题目与答案](https://img.taocdn.com/s3/m/4b27a69585868762caaedd3383c4bb4cf7ecb72d.png)
第五次实验题目-第七章函数教学目标31.一元二次方程的系数:a、b、c由主函数输入,编写函数求方程的根。
#include <stdio.h>#include <math.h>void root(double a, double b, double c){ double delta,x1,x2,m,n;if (fabs(a) <= 1e-6){if (fabs(b) <= 1e-6)puts("Not an equation");elseprintf("x=%.2lf",-c/b);return;}else{delta=b*b - 4*a*c;m = -b / (2*a);n = sqrt(fabs(delta)) / (2*a);x1 = m + n;x2 = m - n;if (fabs(delta) <= 1e-6)printf("x1=%.2lf, x2=%.2lf", x1, x1);else if (delta < 0)printf("x1=%.2lf+%.2lfi, x2=%.2lf-%.2lfi",m,n,m,n);elseprintf("x1=%.2lf, x2=%.2lf", x1, x2);}}int main( ){ double a,b,c;scanf("%lf%lf%lf",&a,&b,&c);root(a,b,c);return 0;}教学目标32.输入一串字符,统计其中英文字母的个数,编写统计英文字母个数的函数。
#include<stdio.h>int numberOfLetter(char str[]) {int i=0;int num = 0;//统计字母个数while (str[i]!=’\0’) {if ((str[i]>='A'&& str[i]<='Z')||( str[i]>='a'&& str[i]<='z')) num++;i++;}return num;}int main( ) {char str[100];int letterNum;printf("Enter a string: ");gets(str);letterNum = numberOfLetter(str);printf("Number of letters is %d.\n", letterNum);return 0;}教学目标33. 求100以内所有素数的和。
北京工业大学工程数学-实验5-数理统计实验
![北京工业大学工程数学-实验5-数理统计实验](https://img.taocdn.com/s3/m/ab27569f71fe910ef12df868.png)
5 数理统计实验解答:(1)设_X1, X2,…Xn是总体X的一个简单随机样本,则样本均值计算样本均值R程序为:w <- c(0.2 ,0.0, -1.1 ,-0.1 ,-1.5 ,-0.5 ,-1.9 ,-1.3 ,-0.4 ,2.0, -2.3 ,0.5, 0.7 ,-2.1 ,-0.6 ,-0.4 ,2.4 ,1.5 ,1.6 ,0.6, -2.4 ,-0.8 ,1.2 ,-0.3 ,2.5 ,1.1 ,0.5 ,-0.1 ,0.7)mean(w)sum(w)/length(w)运行结果:> sum(w)/length(w)[1] -0.01034483>(2)设_X1, X2,…Xn是总体X的一个简单随机样本,则样本方差计算样本方差R程序为:w <- c(0.2 ,0.0, -1.1 ,-0.1 ,-1.5 ,-0.5 ,-1.9 ,-1.3 ,-0.4 ,2.0, -2.3 ,0.5, 0.7 ,-2.1 ,-0.6 ,-0.4 ,2.4 ,1.5 ,1.6 ,0.6,-2.4 ,-0.8 ,1.2 ,-0.3 ,2.5 ,1.1 ,0.5 ,-0.1 ,0.7) var(w)sum((w-mean(w))^2)/(length(w)-1)运行结果:> var(w)[1] 1.830246> sum((w-mean(w))^2)/(length(w)-1)[1] 1.830246>(3)计算的R程序为:X<-scan()0.2 0.0 -1.1 -0.1 -1.5 -0.5 -1.9 -1.3 -0.4 2.0-2.3 0.5 0.7 -2.1 -0.6 -0.4 2.4 1.5 1.6 0.6-2.4 -0.8 1.2 -0.3 2.5 1.1 0.5 -0.1 0.7M<-mean(X); MV<-var(X); VS<-sd(X); Sn<-length(X); n1-pt(0.5/S*sqrt(n), df=n-1) +pt(-0.5/S*sqrt(n), df=n-1)运行结果:Read 29 items>> M<-mean(X); M[1] -0.01034483> V<-var(X); V[1] 1.830246> S<-sd(X); S[1] 1.352866> n<-length(X); n[1] 29>> 1-pt(0.5/S*sqrt(n), df=n-1) ++ pt(-0.5/S*sqrt(n), df=n-1)[1] 0.0564038>解答: (1)对于正态分布N(μ,σ2),因为μ和σ2 分别为总体的均值和方差,所以得到参数μ和σ2的矩估计分别为R 程序为:X<-c(1067,919,1196,785,1126,936,918,1156,920,948) source("interval_estimate.R") interval_estimate(X, side=1)运行结果:mean df a b 1 997.1 9 920.8443 Inf由计算结果可知,有95%的灯泡寿命在920.8小时以上。
MATLAB教程课后实验报告题目及解答[第一至第五章]
![MATLAB教程课后实验报告题目及解答[第一至第五章]](https://img.taocdn.com/s3/m/512b4436f111f18583d05a96.png)
MATLAB教程实验报告实验项目名称实验一 Matlab基本操作学生姓名汪德旺专业班级 09数教(1)班学号 0301090131实验成绩日期一. 实验目的和要求1、了解MATLAB 的开发环境。
2、熟悉Matlab的基本操作。
3、掌握建立矩阵的方法。
4、掌握MATLAB各种表达式的书写规则以及常用函数的使用。
5、填写实验报告,实验报告文件取名为report1.doc。
6、于邮件附件形式将实验报告文件report1.doc 发到邮箱*******************,邮件主题为班级学号姓名,如:09数教1班15号张三。
二、实验内容1、先求下列表达式的值,然后显示MATLAB工作空间的使用情况并保存全部变量。
(1)0 122sin851ze =+(2)2212 1ln(0.4552i z x x+⎡⎤==⎢⎥-⎣⎦其中(3)0.30.330.3sin(0.3)ln,22a ae e az a--+=++a=-3.0,-2.9,-2.8,…, 2.8, 2.9,3.0(4)2242,011,12,0:0.5:2.521,23t tz t tt t t⎧≤<⎪=-≤<=⎨⎪-+≤<⎩其中t2.已知:1234413134787,2033657327 A B--⎡⎤⎡⎤⎢⎥⎢⎥==⎢⎥⎢⎥⎢⎥⎢⎥-⎣⎦⎣⎦求下列表达式的值:(1)A+6*B和A-B+I(其中I为单位矩阵) (2)A*B和A.*B(3)A^3和A.^3(4)A/B和B\A(5)[A,B]和[A([1,3],:);B^2]3、设有矩阵A 和B123453016678910A=,B=17-691112131415023-41617181920970212223242541311⎡⎤⎢⎥⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎢⎥⎢⎥⎣⎦(1)求它们的乘积C 。
(2)将矩阵C 的右下角3*2子矩阵赋给D 。
(3)查看MATLAB 工作空间的使用情况。
MATLAB程序设计与应用课后实验答案
![MATLAB程序设计与应用课后实验答案](https://img.taocdn.com/s3/m/663dc80f84868762caaed5c9.png)
A-B+eye(3)
A*B
A.*B
A^3
A.^3
A/B
B\A
[A,B]
[A([1,3],:);B^2]
运算结果:
A=[12 34 -4;34 7 87;3 65 7];B=[1 3 -1;2 0 3;3 -2 7];
A+6.*B
A-B+eye(3)
A*B
A.*B
A^3
A.^3
A/B
B\A
0 0 0 0
ans =
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
由ans,所以
2. 产生5阶希尔伯特矩阵H和5阶帕斯卡矩阵P,且求其行列式的值Hh和Hp以及它们的条件数Th和Tp,判断哪个矩阵性能更好。为什么?
解:M文件如下:
输出结果:
H =
P =
1 1 1 1 1
Columns 57 through 60
Column 61
z4 =
0 0
2. 已知:
求下列表达式的值:
(1) A+6*B和A-B+I(其中I为单位矩阵)
(2) A*B和A.*B
(3) A^3和A.^3
(4) A/B及B\A
(5) [A,B]和[A([1,3],:);B^2]
解:
M文件:
A=[12 34 -4;34 7 87;3 65 7];B=[1 3 -1;2 0 3;3 -2 7];
实验四 循环结构程序设计
一、实验目的
1. 掌握利用for语句实现循环结构的方法。
2. 掌握利用while语句实现循环结构的方法。
高中数学数学实验与探索
![高中数学数学实验与探索](https://img.taocdn.com/s3/m/4a1b0eda50e79b89680203d8ce2f0066f53364e1.png)
高中数学数学实验与探索数学是一门充满探索和实验性的学科。
通过实验与探索,学生能够培养数学思维、提高解决问题的能力,并且更深入地理解数学的概念和原理。
本文将介绍一些适合高中数学实验和探索的方法和内容。
一、集合的实验与探索在高中数学中,集合是一个重要的概念。
通过实验与探索,我们可以帮助学生更好地理解集合的性质和运算。
实验1:比较集合的大小首先,给学生准备两个集合A和B,分别包含一些元素。
让学生通过观察元素的数量和内容,判断哪个集合更大或者两个集合是否相等。
然后,让学生交流归纳比较集合大小的规律。
实验2:集合的交、并、差运算同样给学生准备两个集合A和B,然后让他们进行交、并、差运算,观察和归纳集合运算的性质和规律。
通过实际操作,学生能够更深入地理解集合运算的含义和操作方法。
二、平面几何的实验与探索平面几何是高中数学的重点内容之一。
通过实验与探索,学生可以更好地理解几何概念和性质,并且培养几何思维和创造性的解题能力。
实验3:推断平行线的性质给学生一张纸和一支铅笔,让他们在纸上画一些线段、角等几何图形。
然后,让他们观察图形中的线段是否平行,并且思考如何判断两条线段是否平行。
通过实际绘制和观察,学生能够推断出平行线的性质,并且进一步理解平行线之间的关系。
实验4:探索三角形的内角和给学生提供一些三角形的模型,让他们通过测量三角形的内角,计算并比较各个三角形内角和的大小。
通过实际测量和计算,学生能够确认三角形内角和为180度,并且进一步研究不同类型三角形的内角和之间的关系。
三、函数的实验与探索函数是数学中的重要概念,通过实验与探索,学生可以更好地理解函数的定义、性质和应用。
实验5:观察函数图像给学生一个函数的表达式,让他们通过计算并绘制函数的图像。
然后,让他们观察图像的变化规律,推断出函数的性质和特点。
通过实际观察和绘制,学生能够更好地理解函数的图像表示和图像的含义。
实验6:探索函数的应用给学生提供一些实际问题,让他们通过建立函数模型并进行计算,解决实际问题。
Python语言程序设计形考二实验五
![Python语言程序设计形考二实验五](https://img.taocdn.com/s3/m/48833d82d4bbfd0a79563c1ec5da50e2524dd1d6.png)
Python语言程序设计形考二实验五实验目的本实验旨在通过使用Python语言编程,练并巩固对于函数的理解和运用。
实验要求编写一个Python程序,实现以下功能:1. 输入一个字符串,检查该字符串中是否包含字母和数字。
若包含,输出字符串中的字母和数字个数;若不包含,输出提示信息。
2. 输入一个字符串,对该字符串进行反转,输出反转后的字符串。
3. 输入两个字符串,判断第二个字符串是否是第一个字符串的子串。
若是,输出提示信息;若不是,输出提示信息。
实验步骤1. 定义函数`check_alphanumeric`- 输入:一个字符串`str`- 输出:检查结果字符串- 过程:检查输入字符串是否包含字母和数字,统计其中的字母和数字个数,并返回检查结果字符串。
2. 定义函数`reverse_string`- 输入:一个字符串`str`- 输出:反转后的字符串- 过程:将输入字符串反转后返回。
3. 定义函数`check_substring`- 输入:两个字符串`str1`和`str2`- 输出:检查结果字符串- 过程:判断第二个字符串是否是第一个字符串的子串,若是,返回检查结果字符串;若不是,返回提示信息。
4. 调用上述函数,实现需求功能。
实验代码示例def check_alphanumeric(str):检查字符串是否包含字母和数字if any(c.isalpha() for c in str) and any(c.isdigit() for c in str):统计字母和数字个数alpha_count = sum(1 for c in str if c.isalpha())digit_count = sum(1 for c in str if c.isdigit())return f"该字符串包含字母和数字。
字母个数为{alpha_count},数字个数为{digit_count}。
"else:return "该字符串不包含字母和数字。
数学实验报告 实验五 一元函数积分
![数学实验报告 实验五 一元函数积分](https://img.taocdn.com/s3/m/d5f97b0679563c1ec5da714b.png)
数学与统计学院实验报告实验项目名称所属课程名称实验类型实验日期班级学号姓名成绩附录1:源程序x 34Log3x54Log1xx4 3218x4Log x14x4Log x2ArcTan32Tan x625Sinh355 3239120023ArcTan35523ArcTan33910.1x2If Re x20Im x20, 0.0999445SinIntegral 1.x20.1x2,Integrate Sin0.1t0.1x20.1t0.1x2,t,0,1,Assumptions Re x20Im x2032Erf411428Erf22Erfi4114428附录2:实验报告填写说明1.实验项目名称:要求与实验教学大纲一致。
2.实验目的:目的要明确,要抓住重点,符合实验教学大纲要求。
3.实验原理:简要说明本实验项目所涉及的理论知识。
4.实验环境:实验用的软、硬件环境。
5.实验方案(思路、步骤和方法等):这是实验报告极其重要的内容。
概括整个实验过程。
对于验证性实验,要写明依据何种原理、操作方法进行实验,要写明需要经过哪几个步骤来实现其操作。
对于设计性和综合性实验,在上述内容基础上还应该画出流程图、设计思路和设计方法,再配以相应的文字说明。
对于创新性实验,应注明其创新点、特色。
6.实验过程(实验中涉及的记录、数据、分析):写明具体实验方案的具体实施步骤,包括实验过程中的记录、数据和相应的分析。
7.实验结论(结果):根据实验过程中得到的结果,做出结论。
8.实验小结:本次实验心得体会、思考和建议。
9.指导教师评语及成绩:指导教师依据学生的实际报告内容,给出本次实验报告的评价。
实验五:遗传算法求解函数最值问题实验
![实验五:遗传算法求解函数最值问题实验](https://img.taocdn.com/s3/m/6806062eeff9aef8941e065c.png)
实验五:遗传算法求解函数最值问题实验一、实验目的使用遗传算法求解函数在及y的最大值。
二、实验内容使用遗传算法进行求解,篇末所附源代码中带有算法的详细注释。
算法中涉及不同的参数,参数的取值需要根据实际情况进行设定,下面运行时将给出不同参数的结果对比。
定义整体算法的结束条件为,当种群进化次数达到maxGeneration时停止,此时种群中的最优解即作为算法的最终输出。
设种群规模为N,首先是随机产生N个个体,实验中定义了类型Chromosome表示一个个体,并且在默认构造函数中即进行了随机的操作。
然后程序进行若干次的迭代,在每次迭代过程中,进行选择、交叉及变异三个操作。
1.选择操作首先计算当前每个个体的适应度函数值,这里的适应度函数即为所要求的优化函数,然后归一化求得每个个体选中的概率,然后用轮盘赌的方法以允许重复的方式选择选择N个个体,即为选择之后的群体。
但实验时发现结果不好,经过仔细研究之后发现,这里在x、y 取某些值的时候,目标函数计算出来的适应值可能会出现负值,这时如果按照把每个个体的适应值除以适应值的总和的进行归一化的话会出现问题,因为个体可能出现负值,总和也可能出现负值,如果归一化的时候除以了一个负值,选择时就会选择一些不良的个体,对实验结果造成影响。
对于这个问题,我把适应度函数定为目标函数的函数值加一个正数,保证得到的适应值为正数,然后再进行一般的归一化和选择的操作。
实验结果表明,之前的实验结果很不稳定,修正后的结果比较稳定,趋于最大值。
2.交叉操作首先是根据交叉概率probCross选择要交叉的个体进行交叉。
这里根据交叉参数crossnum进行多点交叉,首先随机生成交叉点位置,允许交叉点重合,两个重合的交叉点效果互相抵消,相当于没有交叉点,然后根据交叉点进行交叉操作,得到新的个体。
3.变异操作首先是根据变异概率probMutation选择要变异的个体。
变异时先随机生成变异的位置,然后把改位的01值翻转。
中南大学C++程序设计实践思考题答案
![中南大学C++程序设计实践思考题答案](https://img.taocdn.com/s3/m/cf85d669fab069dc5122017b.png)
实验1 C++基础6.编写程序,输入某大写字母的ASCII码值,输出该字母的对应小写字母。
#include<iostream>using namespace std;int main(){int i;cin>>i;if(i>=65 && 1<=90 )cout<<char(i-'A'+'a')<<endl;elsecout<<"输入有误"<<endl;return 0;}实验2三、实验思考1.输入直角三角形的两条直角边长,调用平方根库函数sqrt来求斜边的长度#include<iostream>#include<cmath>using namespace std;int main(){ float a,b,c;cout<<"请输入直角三角形的两条边长:";cin>>a>>b;c=sqrt(a*a+b*b);cout<<"直角三角形的斜边="<<c<<endl;return 0;}2.从键盘输入一个字符,如果输入的是英文大写字母,则将它转换成小写字母后输出,否则输出原来输入的字符。
#include<iostream>using namespace std;int main(){char c;cout<<"请输入一个字符:";cin>>c;if(c>='A'&& c<='Z')c+='a'-'A';cout<<c<<endl;return 0;}3.输入一个学生的成绩,如高于60分,则输出“pass”;否则,输出“failed”。
【MATLAB】实验五:数值微积分与方程数值求解
![【MATLAB】实验五:数值微积分与方程数值求解](https://img.taocdn.com/s3/m/3b02e8380975f46526d3e169.png)
实验五 数值微积分与方程数值求解一、实验目的1. 掌握求数值导数和数值积分的方法。
2. 掌握代数方程数值求解的方法。
3. 掌握常微分方程数值求解的方法。
二、实验内容要求:命令手工 ( )输入1. 求函数在指定点的数值导数。
232()123,1,2,3026x x x f x x x x x==2. 用数值方法求定积分。
(1) 210I π=⎰的近似值。
(2) 2220ln(1)1x I dt xπ+=+⎰3. 分别用三种不同的数值方法解线性方程组。
6525494133422139211x y z u x y z u x y z u x y u +-+=-⎧⎪-+-=⎪⎨++-=⎪⎪-+=⎩4. 求非齐次线性方程组的通解。
1234123412342736352249472x x x x x x x x x x x x +++=⎧⎪+++=⎨⎪+++=⎩解:先建立M 函数文件,然后命令窗口中写命令。
121/119/112/115/111/1110/11100010X k k --⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥-⎢⎥⎢⎥⎢⎥=++⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎣⎦,其中12,k k 为任意常数。
5. 求代数方程的数值解。
(1) 3x +sin x -e x =0在x 0=1.5附近的根。
(2) 在给定的初值x 0=1,y 0=1,z 0=1下,求方程组的数值解。
23sin ln 70321050y x y z x z x y z ⎧++-=⎪+-+=⎨⎪++-=⎩ans =1289/6826. 求函数在指定区间的极值。
(1) 3cos log ()xx x x x f x e ++=在(0,1)内的最小值。
(2) 33212112122(,)2410f x x x x x x x x =+-+在[0,0]附近的最小值点和最小值。
(以下选作题,是微分方程的数值解)7. 求微分方程的数值解。
x 在[1.0e-9,20]2250(0)0'(0)0xd y dy y dx dx y y ⎧-+=⎪⎪⎪=⎨⎪=⎪⎪⎩解:M 文件:运行结果:8. 求微分方程组的数值解,并绘制解的曲线。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验5 函数
姓名:学号:实验日期:2011年11月26日
1.实验目的和要求:参见实验指导书实验八
2.实验内容和步骤:
实验内容:实验指导书中的实验八
实验步骤:
2.1.实验内容的第1题,通过本题,了解到要在单步调试时能够观察自定义的函数内部变量变化情况,单步调试如何操作:
答:
1.添加断点
将光标移动到要添加断点的行中,然后按下Ctrl+F8即可。
2..观察变量
现在想要观察a,b两个变量,按下Ctrl+F7,会弹出Add watch对话框,
在其中填入所需观察变量a,b即可。
3.单步执行
按F7执行单步跟踪操作,也可以按Ctrl+F9键执行到下一个断点。
4.终止测试
按下Ctrl+F2
提问(1),请在下面粘贴运行结果画面:
实参a是否为同一变量?答:是同一变量
提问(2),请请在下面粘贴运行结果画面:
提问(3),观察结果有何变化?答:输出数据出错了。
通过本题,可以得出什么结论?
答:extern int a,b 表示a是在其它文件中定义的一个变量,需要在这里引用。
如果在外部定义了而没有引用的话输出时内存就按原来的输出也就不是输出定义值了。
2.2 实验内容部分第2题源程序代码,请贴图:
程序运行结果画面,请贴图:
2.3 实验内容部分第3题源程序代码,请贴图:
程序运行结果画面,请贴图:
2.4 选做题,若做了,请在下面给出源程序代码贴图及运行结果贴图
2.5选做题,若做了,请在下面给出源程序代码贴图及运行结果贴图
3.实验小结
通过本章实验,使我对单步调试有了一个重新的认识,能够更好的跟踪变量a,b从而有助于查出程序中错误的地方,以便改正。
本章着重于函数的实验,通过本次实验的联系和操作,让我对函数的调用和定义,有了一个更深入的了解。
学会了函数调用的方法,很多复杂的、重复性的程序也就迎刃而解了。