




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 数学实验数学实验 理学院数学学科理学院数学学科 李换琴李换琴 信息信息11、12、13班上机时间安排班上机时间安排 第第7周周日周周日(10月月16日日)14:00-15:50 第第9周周六周周六(10月月29日日)14:00-15:50 第第11周周六周周六(11月月12日日)10:00-11:50 第第13周周日周周日(11月月27日日)14:00-15:50 第第14周周六周周六(12月月3日日)14:00-15:50 信息信息14、15、16班上机时间安排班上机时间安排 第第7周周日周周日(10月月16日日)16:00-17:50 第第9周周六周周六(10月月29日日)16:00-1
2、7:50 第第11周周六周周六(11月月12日日)12:00-13:50 第第13周周日周周日(11月月27日日)16:00-17:50 第第14周周六周周六(12月月3日日)16:00-17:50 医电医电1113班班和生基硕和生基硕11班班 第第7周周日周周日(10月月16日日)12:00-13:50 第第9周周六周周六(10月月29日日)12:00-13:50 第第11周周六周周六(11月月12日日)8:00-9:50 第第13周周日周周日(11月月27日日)12:00-13:50 第第14周周六周周六(12月月3日日)12:00-13:50 学博军学博军11班上机时间安排班上机时间安排
3、 第第7周周日周周日(10月月16日日)14:00-15:50 第第9周周六周周六(10月月29日日)14:00-15:50 第第11周周六周周六(11月月12日日)10:00-11:50 第第13周周日周周日(11月月27日日)14:00-15:50 第第14周周六周周六(12月月3日日)14:00-15:50 MATLAB语言编程语言编程介绍介绍 vMATLABMATLAB中各种命令可以完成许多单一的任务,对中各种命令可以完成许多单一的任务,对 于某些较为复杂的问题,仅靠现有的命令或函数于某些较为复杂的问题,仅靠现有的命令或函数 来解决,往往是难以达到目的来解决,往往是难以达到目的 。为此
4、,要运用。为此,要运用 MATLABMATLAB编程语言编制程序,形成编程语言编制程序,形成M-M-文件。文件。 v程序是使计算机完成各项运算的命令集,运行一程序是使计算机完成各项运算的命令集,运行一 个编制好的程序,计算机会从第一条命令行开始个编制好的程序,计算机会从第一条命令行开始 ,一行接一行地执行相应的命令,直到终止。,一行接一行地执行相应的命令,直到终止。 v程序编写调试完成后,需要存盘,形成永久性文程序编写调试完成后,需要存盘,形成永久性文 件,可以随时对它进行调用或修改。件,可以随时对它进行调用或修改。 v文件名以字母开头,但不能用专用变量名,如文件名以字母开头,但不能用专用变量
5、名,如 pi,ans,epspi,ans,eps等。等。 程序结构程序结构 程序一般包含程序一般包含: a=input(请输入数组请输入数组 an= ); m,n=size(a); M=a(1); for i=2:n if M n2. v省略格式:省略格式: for i=n1:n2这里这里step=1. v例例1:求:求n个奇数和:个奇数和:s=1+3+5+(2n-1) n=input(please input n=); s=0; for i=1:n s=s+(2*i-1); fprintf(i=%.0f, s=%.0fn,i,s); end 程序程序aa1 v例例2:求阶乘:求阶乘:p=12
6、 3 n=n! n=input(请输入请输入 n= ); p=1; for i=1:n p=p*i; fprintf( i=%.0f, p=%.0fn ,i,p); end aa2.m n例例3:求:求e:e=1+1+1/2!+1/3!+1/n! n=input(请输入请输入 n= ); p=1;e=1; for i=1:n p=p*i; p1=1/p; e=e+p1; fprintf( i=%.0f, p=%.0f, e=%.8f n ,i,p,e); end aa3.m 例例4 A. , ji 1 j)A(i, 53 写出矩阵写出矩阵 试编程试编程 矩阵,矩阵,是一个是一个设设 A m=3
7、; n=5; for i = 1:m for j = 1:n H(i,j) = 1/(i+j); end end H 例例5 数列极限数列极限 动态显示动态显示 MATLAB程序:程序: hold on % 图形迭加图形迭加 axis(0,100,2,3); % 设置坐标轴设置坐标轴 grid % 加坐标网格加坐标网格 for n=1:90 % 循环操作循环操作 an=(1+1/n)n; % 计算数列值计算数列值 plot(n,an,r*); % 画出坐标点画出坐标点 pause(0.05); % 暂停暂停0.05秒秒 fprintf(n=%d an=%.4fn,n,an); % 显示坐标位置
8、显示坐标位置 end n n n ) 1 1(lim 例例6 导弹打击过程仿真导弹打击过程仿真 设设A(0,0)为一导弹发射点,发现位于为一导弹发射点,发现位于B(0,100)处处 一架敌机沿水平方向逃离,随即发射一枚导弹一架敌机沿水平方向逃离,随即发射一枚导弹 予以打击,现已知导弹时刻对准敌机,且速率予以打击,现已知导弹时刻对准敌机,且速率 为飞机速率的两倍(设飞机速度为为飞机速率的两倍(设飞机速度为1)。)。 试编程模拟导弹打击敌机试编程模拟导弹打击敌机 的动态过程,并实时给出的动态过程,并实时给出 飞机和导弹的位置坐标。飞机和导弹的位置坐标。 若要在敌机飞行距离不超若要在敌机飞行距离不超
9、 过过60时(我方空域)将其时(我方空域)将其 击落,导弹的速率应提高击落,导弹的速率应提高 到多少?到多少? A B MATLAB程序:程序: k=0; A=0,0; %导弹初始位置导弹初始位置 B=0,100; %飞机初始位置飞机初始位置 v=1; dt=1; %离散时间改变量离散时间改变量 d=100; %相距距离相距距离 while d0.5 plot(A(1),A(2),r); %画导弹位置画导弹位置 hold on plot(B(1),B(2),b*); %画飞机位置画飞机位置 pause(0.2); k=k+1; B=B+v*dt,0; %飞机移动位置飞机移动位置 e=B-A;
10、%导弹指向飞机向量导弹指向飞机向量 d=norm(e); e0=e/d; %取向量方向(单位化)取向量方向(单位化) A=A+2.0*v*dt*e0; %导弹追击位置导弹追击位置 fprintf(k=%.0f A(%.2f,%.2f) B(%.2f,100) d=%.2fn,k ,A(1),A(2),B(1),d); end A B M-文件中条件循环命令文件中条件循环命令(while命令命令) v格式:格式: while (condition is true) commands; end v作用:作用:当条件成立时,执行命令集当条件成立时,执行命令集 commands,直到条件不成立直到条件
11、不成立. n例例7:求和:求和:s=1+2+n3000 n s=0;k=1; while s+k3000 s=s+k; fprintf( k=%.0f, s=%.0fn ,k,s); k=k+1; end aa4.m n例例8:求:求e:e=1+1+1/2!+1/3!+ (1/n!=1.0e-8 p=p*i; r=1/p; e=e+r; fprintf( i=%.0f, r=%.9f, e=%.9f n ,i,r,e); i=i+1; end aa5.m M-文件中选择控制命令文件中选择控制命令(if命令命令) v单项选择控制单项选择控制 v格式:格式: if (condition is tr
12、ue) commands; end v作用:若条件成立,则执行命令集作用:若条件成立,则执行命令集 commands. 否则,不执行。否则,不执行。 n例例9:求:求n个实数中最大的数个实数中最大的数M. a=input(请输入数组请输入数组 an= ); m,n=size(a); M=a(1); for i=2:n if M B vgreater velseif A 0 z=1; elseif x=0 z=0; else z=-1; end y=x2*z aa7.m Switch语句语句 Switch语句用于实现多语句用于实现多 重选择,其格式为:重选择,其格式为: switch 表达式表达
13、式 case 数值数值1 模块模块1 case 数值数值2 模块模块2 . otherwise . end x=input(成绩=) switch fix(x/10) case 10,9 grade=A case 8 grade=B case 7 grade=C otherwise grade=D end Break 语句语句 Break语句的格式为:语句的格式为: break; 用于立即跳出包含该用于立即跳出包含该 break语句的各种循语句的各种循 环语句环语句while和和for 在循环语句中使用的在循环语句中使用的 break语句一般应和语句一般应和if 语句配合使用语句配合使用 例如
14、:例如: while 条件条件1 . if 条件条件2 break; end end Return语句语句 Return语句终止当前命令的执行,并且返回语句终止当前命令的执行,并且返回 到调用函数或者等待键盘输入指令。到调用函数或者等待键盘输入指令。 用用M-文件定义函数文件定义函数 v格式格式 function y1,y2=funname(x,y,a,n) v其中:其中: function 为关键字;为关键字; y1,y2,为输出列表;为输出列表; funname为自定义的函数名;为自定义的函数名; (x,y,a,n,)为函数参数,用来传递相为函数参数,用来传递相 关数值关数值. v存盘时,
15、要求用存盘时,要求用funname作为函数名作为函数名. v 例例12:建立符号函数:建立符号函数sgn(x) function sn=sgn(x) if x0 sn=1; elseif x=0 sn=0; else sn=-1; end 以以sgn作为文件名存盘,即建立了函数作为文件名存盘,即建立了函数。 v调用:调用: 在命令区执行在命令区执行 : sn=sgn(10)或或sn=sgn(-2) n例例13:建立计算:建立计算(a+b)n,(a-b)n的函数的函数 function p,q=fun1(a,b,n) p=(a+b).n; q=(a-b).n; fun1.m 例例14编制程序,从
16、键盘输入编制程序,从键盘输入a,b,n,计算计算(a+b)n,(a- b)n aa8.m a=input(a=);b=input(b=);n=input(n=); p,q=fun1(a,b,n); fprintf(a+b)n=%.4f,(a-b)n=%.4fn,p,q) function f=grad(x) switch fix(x/10) case 10,9 grade=A case 8 grade=B case 7 grade=C otherwise grade=D end 例例15 编写一个编写一个function 函数,调用该函数函数,调用该函数 ,可以将考试分数,可以将考试分数 值化
17、为值化为“A” ”B” “C” ”D”等级值等级值. v例例15:用二分法求函数用二分法求函数x2-2=0的正实根的正实根. 0)()(,2 , 1 , , 2)( 2 bfafbaxxf :2/ )()1bac ; ),| )(|(0)( ifcgrcfcf 或或 ; 0)()( elseif cb afcf ; elseca 1). gotostop,er, )2否则否则输出根。输出根。 abif 输入初值输入初值:erbaxf误差限误差限 , ),( 2/ )(bac ?0)( cf ?0)()( cfaf 2/ )(bac ?|erab cb ca 输出:迭代次数输出:迭代次数k,方程
18、的近似根方程的近似根c. No No No Yes Yes Yes 二分法求根程序:二分法求根程序: a=1;b=2; er=1.0e-8; f=inline(x.2-2); k=1; c=(a+b)/2; while abs(b-a)er if abs(f(c)=0 fprintf(k=%.0f,r=%.8fn,k,r); break; end if f(a)*f(c)er if abs(f(c)=0 fprintf(k=%.0f,r=%.8fn,k,r); break; end if f(a)*f(c)0 b=c; else a=c; end c=(a+b)/2; fprintf(k=%.
19、0f,c=%.8fn, k,c); k=k+1; end function y=f (x) y=x2-2; v 每门课程考试阅卷完毕每门课程考试阅卷完毕, ,任课教师都要对各班的任课教师都要对各班的 考试成绩进行统计考试成绩进行统计, ,统计内容包括统计内容包括: :全班人数全班人数, ,总总 得分得分, ,平均得分平均得分, ,不及格的人数及不及格的人数及9090分分( (包括包括9090分分 ) )以上的人数以上的人数. .请编制程序解决这一问题请编制程序解决这一问题, ,并自给并自给 一组数据验证程序的正确性一组数据验证程序的正确性. .要求要求: :使用者在提示使用者在提示 下通过键盘
20、输入学生成绩下通过键盘输入学生成绩, ,计算机自动处理后计算机自动处理后, ,显显 示需要的结果示需要的结果. . v 课后习题任选课后习题任选2 2题题. . 实验内容实验内容 首先由计算机随机产生一个首先由计算机随机产生一个 1,100 之间的一之间的一 个整数,然后由用户猜测所产生的这个数。根据个整数,然后由用户猜测所产生的这个数。根据 用户猜测的情况给出不同的提示,如果猜测的数用户猜测的情况给出不同的提示,如果猜测的数 大于产生的数,则显示大于产生的数,则显示 “High” ,小于则显示小于则显示 “ Low ” ,等于则显示等于则显示 “You won!”,同时退,同时退 出游戏。用户最多有出游戏。用户最多有 7 次机会。次机会。 3. 编写程序实现猜数游戏编写程序实现猜数游戏 Fibonacci数组元素满足数组元素满足Fibonacci规则:规则: 4. 编写程序解决下列问题编写程序解决下列问题 );, 2 , 1( , 12 kaaa kkk . 1 21 aa其其中中 (1)用循环语句形成前)用循环语句形成前20个分量的数组;个分量的数组; (2)求该数组中第一个大于)求该数组中第一个大于10000的数的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度物业赔偿业主公共设施损坏协议书
- 二零二五年度动车组客车车身定制买卖合同
- 二零二五年度国有企业股权转让合同终止执行书
- 2025年度科技园区土地租赁协议书模板
- 二零二五年度工地施工期间应急预案与响应协议
- 二零二五年度车库买卖合同附新能源汽车充电服务合同
- 2025年度明星参与综艺节目票房对赌协议合同
- 2025年广东年货运从业资格证考试试题题库
- 2025年珠海道路运输从业资格考试下载
- 出国游学夏令营合同
- 2024年六年级语文下册全册单元教材分析
- 延长石油招聘笔试试题
- DB-T 29-22-2024 天津市住宅设计标准
- 2024年赣州职业技术学院单招职业适应性测试题库及答案解析
- DL∕T 5209-2020 高清版 混凝土坝安全监测资料整编规程
- 2024年山东省潍坊市中考数学真题试题(含答案及解析)
- 开票税点自动计算器
- 2024年江苏农牧科技职业学院单招职业适应性测试题库及参考答案
- 医疗器械质量安全风险会商管理制度
- 降低用药错误发生率
- 起重机维护保养记录表
评论
0/150
提交评论