数学实验10第03次

上传人:zw****58 文档编号:54441088 上传时间:2018-09-13 格式:PPT 页数:21 大小:56.50KB
返回 下载 相关 举报
数学实验10第03次_第1页
第1页 / 共21页
数学实验10第03次_第2页
第2页 / 共21页
数学实验10第03次_第3页
第3页 / 共21页
数学实验10第03次_第4页
第4页 / 共21页
数学实验10第03次_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《数学实验10第03次》由会员分享,可在线阅读,更多相关《数学实验10第03次(21页珍藏版)》请在金锄头文库上搜索。

1、MATLAB语言编程介绍,1. MATLAB程序的基本结构程序就是使计算机实现某一类功能任务的命令集。程序一般包含:数据输入、功能处理和结果输出。其中功能处理是核心,主要是根据处理问题的逻辑步骤,采用循环迭代、判断推理、分步计算等来解决问题。 MATLAB提供了三种基本的程序结构:顺序结构、循环结构和选择结构。,MATLAB编程介绍2. M-文件中变量的输入、输出方式(1) 输入方式 程序中直接赋值x=2; a=1 ,2 ,3;4,5,6;7,8,0 ; s=any string 程序运行时赋值 格式: 变量=input(提示符号串) x=input(x=)y=input(please inp

2、ut y=),MATLAB语言编程介绍,输出方式 直接输出x y disp(a) 格式控制输出格式: fprintf(x=%.3f,y=%.0fn,x y)x=pi;y=sqrt(2);fprintf(x=%.6f,y=%.10fn,x,y),MATLAB中循环结构与应用,1. M-文件中有限次循环 (for-end)结构格式: for n=n1:(step):n2commands-1end commands-2作用:循环变量n从n1开始,执行commands-1,遇到end 时n自动增加 step步长,同时与n2比较,当n不超过n2时,重复执行命令集commands-1;当n超过n2时转向执

3、行commands-2。此结构中for与end要成对出现。,例1 求n (n=100)个奇数的和:s=1+3+(2n-1).(sxsy1003li01)n=100;s=0;for i=1:100s=s+2*i-1;fprintf(i=%.0f,s=%.0fn,i,s)ends,例2 求正整数n 的阶乘p=1x2x3xn=n!(sxsy1003li02)p=1;for n=1:100p=p*n;fprintf(n=%.0f,p=%.0fn,n,p)end,例3 求调和级数前n 项的和:1+1/2+1/3+1/n. (sxsy1003li03)n=input(n=)s=0;for i=1:ns=s

4、+1/i;fprintf(i=%.0f,s=%.0fn,i,s)end,例4 试求e的近似值:e=1+1+1/2!+1/3!+1/n!.p=1; s=1;for i=1:10p=p*i;s=s+1/p;fprintf(i=%.0f,s=%.0fn,i,s)end,例5 试求1/e的近似值:1/e=1-1+1/2!-1/3!+(-1)n*1/n!.p=1; s=1; k=-1;for i=1:10p=p*i;p=k*p;s=s+1/p;fprintf(i=%.0f,s=%.10fn,i,s)end,2. M-文件中条件循环 (while-end)结构,格式: while (conditions)

5、commands-1; end commands-2; 作用:当conditions成立即条件为真时,执行commands-1,当遇到end时,自动检测条件,当conditions为真时,继续执行commands-1;当conditions不满足时,转向执行commands-2。此结构中while与end要成对出现。,例6:对于数列sqrt(n),n=1,2, ,求当其和不超过1000时的n的值及和的大小。n=0; s=0; k=1;while s=1000n=n+1;s=s+sqrt(n); fprintf( k=%.0f, n=%.0f, s=%.10fn ,k,n,s);k=k+1;en

6、d,例7:求和:s=1+2+n3000s=0;n=1;while s3000s=s+n;fprintf( n=%.0f, s=%.0fn ,n,s);n=n+1;end,例8:求e:e=1+1+1/2!+1/3!+ (1/n!=1.0e-8p=p*i;r=1/p;e=e+r;fprintf( i=%.0f, r=%.9f, e=%.10f n ,i,r,e);i=i+1;end,M-文件中选择控制结构(if命令),M-文件中选择控制命令(if命令),M-文件中选择控制命令(if命令),(1) 单项选择判断(if-end)结构格式: if (condition)commands-1; end c

7、ommands-2;作用:若condition成立,则执行命令集 commands-1;再顺序执行commands-2.否则,跳过commands-1,直接执行 commands-2.,例9:求n个实数中最大的数M以及所在的位置k.a=input(请输入数组 a= );n=length(a);M=a(1); k=1;for i=2:nif Ma(i)M=a(i);k=i;fprintf( M=%.0f, k=%.0f n ,M,k);endend,function M,k=findM(a)n=length(a); M=a(1);k=1;for i=2:nif M=-1if x=-1f1=x+1

8、end,elseif x=0plot(x,y),例11 编写一个程序,将百分制成绩转换为优(A)、良(B)、中(C)、差(D)四个等级。 程序function dj=dengji(fs)if fs=90dj=A;elseif fs=78dj=B;elseif fs=60dj=C;elsedj=D;end,MATLAB程序中流程控制语句,(1)break语句: 有时为了使while或for循环终止,采用break语句,通常和if判断一起使用。 (2)return语句:需要对普通程序提前结束时采用,通常和if判断一起使用。 (3)pause语句:为了暂停执行程序或按时间暂停,以实现动画效果。pau

9、se(n),例12 Fibonacci数组的元素满足Fibonacci规则: an: a1=a2=1, ak+2=ak+ak+1, k=1 , 2 , 求出该数组中第一个大于1000的元素。 程序n=1000;a= 1,1;for i=3:np=a(i-2)+a(i-1);a=a,p;if p1000breakendenddisp(a),例13 数列极限:动态显示数列极限MATLAB程序:hold on % 图形迭加axis(0,150,2,2.8); % 设置坐标轴grid % 加坐标网格for n=1:2:150 % 循环操作an=(1+1/n)n; % 计算数列值plot(n,an,r*,markersize,15); % 画出坐标点pause(0.1); % 暂停0.05秒fprintf(n=%d an=%.8n,n,an); % 显示坐标位置end,例14 对于数列an, an+1=1/2(an+A/an), n-0,1,2, ,试编制一个程序,对任意给定的实数A,求出sqrt(A)的近似值(精确到1.0e-3)。 程序 A=input(A=);a0=1;k=0;r=1;while r=1.0e-8k=k+1;a1=(a0+A/a0)/2;r=abs(a1-a0);a0=a1;fprintf(k=%.0f,a1=%.8fn,k,a1)end,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号