• MATLAB循环结构之while语句


    目录

    while语句

    break语句和continue语句

     循环的嵌套


    while语句

    while语句是通过判断循环条件是否满足来决定是否要继续循环的一种循环结构,也称条件循环语句。他的特点是先判断循环条件,条件满足时执行循环。

    while语句的一般格式如下:

    while 条件

           循环体语句

    end

    例1 根据矩阵指数的幂级数展开式求矩阵指数。

    e^X=I+X+\frac{X^2}{2!}+\frac{X^3}{3!}+\cdots+\frac{X^n}{n!}+\cdots

    思路: 设X是给定的矩阵,E是矩阵指数展开式累次函数值,F是展开式的每一项,n是项数,循环一直进行到F很小,以至于F值加在E上的值影响不大时为止。为了判断F是否很小,可利用求矩阵范数的函数norm(F,1)来计算。当norm(F,1)=0时,认为F很小,可退出循环。 

    程序如下:

    1. X=input('Enter X:');
    2. E=zeros(size(X)); %参生与X同样大小的零矩阵
    3. F=eye(size(X)); %参生与X同样大小的单位矩阵
    4. n=1;
    5. while norm(F,1)>0
    6. E=E+F; %累加求和
    7. F=F*X/n; %求累加项
    8. n=n+1;
    9. end
    10. E
    11. expm(X) %调用MATLAB矩阵指数函数求矩阵指数

    运行如下:

    1. >> Untitled6788
    2. Enter X:[0.5,2,0;1,-1,-0.5;0.9,1,0.75]
    3. E =
    4. 2.6126 2.0579 -0.6376
    5. 0.7420 0.7504 -0.5942
    6. 2.5678 2.3359 1.5549
    7. ans =
    8. 2.6126 2.0579 -0.6376
    9. 0.7420 0.7504 -0.5942
    10. 2.5678 2.3359 1.5549

    运行结果表明,程序运行结果与MATLAB矩阵指数函数expm(X)的结果一致。 

    break语句和continue语句

    与循环结构相关的语句还有break和continue语句,他们一般与if搭配使用

    break语句用于终止循环的执行。当在循环体内运行到该语句时,程序将跳出循环继续执行循环语句的下一语句

    continue语句控制跳过循环体中的某些语句。当在循环体你执行到该语句时,程序将跳过循环体中所有剩下的语句继续下一次循环

     例1 求[100,200]之间第一个能被21整除的整数。

    程序如下: 

    1. for n=100:200
    2. if rem(n,21)~=0
    3. continue
    4. end
    5. n
    6. break
    7. end

    分析:没有找到第一个数,if语句为真,运行continue语句,continue语句将跳过循环体所有剩下的语句 end n  break,然后进行下一次循环;直到找到第一个数,那么if语句为假,跳到n,然后break语句直接结束整个程序。

    运行如下:

    1. >> Untitled2786
    2. n =
    3. 105

     循环的嵌套

    如果一个循环结构的循环体包括了另一个循环结构,就称为循环的嵌套,也称多重循环结构,按嵌套的层数,可分为二重循环、三重循环等。实现多重循环结构仍用前面介绍的循环语句(for、while、continue、break),在设计多次循环时,要特别注意内外循环之间的关系,以及各语句放置的位置。

    例1 若一个数等于他的各个真因子之和,则称该数为完数,如6=1+2+3,所有6是完数。求[1,500]之间的全部完数。

    程序如下:

    1. for m=1:500
    2. s=0;
    3. for k=1:m/2
    4. if rem(m,k)==0
    5. s=s+k;
    6. end
    7. end
    8. if m==s
    9. disp(m)
    10. end
    11. end

    运行如下:

    1. >> Untitled46873
    2. 6
    3. 28
    4. 496

  • 相关阅读:
    css学习——sass(6)
    为什么建议游戏工作室使用海外住宅IP防封?
    子查询及分组查询
    Java-面向对象(继承)
    国庆作业day10.4
    牛客网专项练习30天Pytnon篇第16天
    参数估计之区间估计(统计知识)以及Python代码
    monaco脚本编辑器 在无界中使用 鼠标点击不到
    38、Java——汽车租赁系统(JDBC+MySQL+Apache DBUtils)
    AI新工具(20240312) Midjourney官方发布角色一致性功能;免费且开源的简历制作工具;精确克隆语调、控制声音风格
  • 原文地址:https://blog.csdn.net/qq_53395687/article/details/126513588