matlab编程迭代数列极限,Matlab编程介绍,循环结构题库.ppt

MATLAB循环结构与应用 循环结构是MATLAB程序中最常用的结构之一,它 是让计算机按照一定的条件多次重复执行某一命令集, 从而实现诸如累加、迭代、分层计算等功能。MATLAB 软件提供了两种循环结构: 有限次循环for-end结构和条件循环while-end结构。 1、有限次循环(for-end)结构 for n=n1 : step : n2 commands-1 end commands-2 格式: 其中n为循环变量(自己定义),n1为起始值,step为步长,n2为 结束值;commands-1为循环体(循环模块),commands-2为后 序命令 。 循环变量n从n1开始,执行commands-1,遇到end时n自动增加 step步长,同时与n2比较,当n不超过n2时重复执行commands-1;当 n超过n2时转向执行commands-2。当步长为1时,格式中step可以省略, 即为for n=n1 : n2格式。在设计for-end循环结构时,应在循环模块内充 分利用循环变量的变化规律,开展相关的运算。另外,结构中for与end 要成对出现。 作用: 例:求n(n=100)个奇数的和:s=1+3+5+…+(2n-1). 这是一个逐个累加求和的过程,从1开始存放在和s中, 再累加下一个奇数之后再取代和s,依次类推,直到累加到 第n个奇数。因此,使用循环结构来实现。 分析: clear;clc; n=100; %赋值给定奇数的个数 s=0; %设定存放和的变量s并赋初值0 for i=1:n %定义循环变量i从1到n,以1为步长,即为奇数序号 s=s+(2*i-1); %先计算右端累加后再赋给左端的变量s fprintf('i=%.0f, s=%.0f\n',i,s) %逐行显示出累加求和的过程 end %循环结构结束 是否可以(1)直接用从1开始的奇数作为循环变量?(2)不需要显示求和过程,只显示最后结果?如果可以,请修改上述程序并运行。 问题: n=input('input n:='); f(1)=1;f(2)=1; for k=3:n f(k)=f(k-1)+f(k-2); end f(n) 例:求裴波拉奇数列的第 n 项( n > 2) n:=10, f(10)=55 n:=44, f(44)=701408733 例:求正整数n的阶乘:p=1×2 × 3 × … × n = n!, 并求出n=20时的结果。 分析: 这是一个逐次乘积的过程,从1开始存放在积p中, 再乘以下一个正整数之后再取代积p,依次类推,直到 乘至第n个数。因此,使用循环结构来实现。 clear;clc; n=20; %赋值给定正整数 p=1; %设定存放阶乘的变量p并赋初值1 for i=1:n %定义循环变量i从1到n,以1为步长,即连续正整数 p=p*i; %先计算右端乘积后再赋给左端的变量p fprintf('i=%.0f, p=%.0f\n',i,p) %逐行显示出i! end %循环结构结束 问题: 是否可以考虑利用input命令对n进行赋值,随时改变其大小。 如果可以,请修改上述程序并运行。 例:根据麦克劳林公式可以得到e≈1+1+1/2!+1/3!+…+1/n!, 试求e的近似值。 分析: 这个问题可以分解为,从1开始的正整数阶乘的倒数和的 累加运算,累加结果存放在初始值为1的变量中。因此,对上 例进行修改来实现。 clear;clc; n=10; %赋值给定正整数 p=1; %设定存放阶乘的变量p并赋初值1 s=1; %设定存放累加和的变量s并赋初值1 for i=1:n %定义循环变量i从1到n,以1为步长,即连续正整数 p=p*i; %先计算右端乘积后再赋给左端的变量p s=s+1/p; %先计算右端阶乘倒数的累加后再赋给左端的变量s f

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值