matlab如何循环_左手转笔教程无限循环

matlab如何循环_左手转笔教程无限循环循环输出变量代码fori=1:4iend其中1:4代表一个行向量1234,在matlab中,行向量的另外一个表示方法是[1234],即fori=1:4等价于fori=[1234],编写程序时牢记一个点:对于某次固定的迭代,i会从这个向量中取一个值,该值可以参与循环中的计算。运行输出i=1i=2i=3i=

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

循环输出变量

for i=1:4
    i
end

其中1:4代表一个行向量1 2 3 4,在matlab中,行向量的另外一个表示方法是[1 2 3 4],即for i=1:4等价于for i=[1 2 3 4],编写程序时牢记一个点:对于某次固定的迭代,i会从这个向量中取一个值,该值可以参与循环中的计算。

运行输出

i =
     1
i =
     2
i =
     3
i =
     4

修改迭代步长

例子:遍历1~10之间的所有奇数

for i=1:2:10
    i
end

其中1:2:10表示迭代从1开始,步长为2,最大不超过10,即代表行向量1 3 5 7 9

备注:步长可以为负值

遍历行向量变量和列向量变量

X=rand(1,5);
for i=X
    i
end
X=rand(5,1);
for i=X
    i
end

其中rand(1,5)生成一个1行5列的矩阵,即行向量;rand(5,1)生成5列1行的矩阵,即列向量。生成的向量会存放在变量X中,然后使用for i=X对向量进行遍历。

如果X为矩阵,对矩阵进行遍历

X=magic(3);
X
for i=X
    i
end

运行输出

X =
     8     1     6
     3     5     7
     4     9     2
i =
     8
     3
     4
i =
     1
     5
     9
i =
     6
     7
     2

其中magic(n)代表魔法函数(任意一行或一列的和值相等)。从运行结果中可以看出,对矩阵的循环就是在每次迭代中,依次取出矩阵的每一列。

终止循环break

X=[2 8 4 3 9 1];
for i=X
    if i==3
        disp('3 found');
        break;
    end
end

查找向量X是否含有3,如果有则终止循环。

跳过本次循环continue

X=[5 7 -1 3 -8 6];
sum=0;
for i=X
    if i<0
        continue;
    end

    sum=sum+i;
end
sum

计算向量X中所有大于0的数的和。

双重循环和多重循环

双重循环代码

X=magic(3);
X
[row,col]=size(X);
for i=1:row
    disp(['----- row: ', num2str(i),' -----']);
    for j=1:col
        disp(['col ',num2str(j),' :', num2str(X(i,j))]);
    end
end

运行输出

X =
     8     1     6
     3     5     7
     4     9     2

----- row: 1 -----
col 1 :8
col 2 :1
col 3 :6
----- row: 2 -----
col 1 :3
col 2 :5
col 3 :7
----- row: 3 -----
col 1 :4
col 2 :9
col 3 :2

第一重循环遍历每一行,对于其中一行,在第二重循环中对该行进行遍历。在第二重循环中,一般使用X(i,j)这样的形式取出参与计算的值。这里只是对该值做了输出。

三重循环代码

toFind=[12,23,9,10];
X=magic(3);

[row,col]=size(X);
for find=toFind
    disp(['---------- looking ',num2str(find)]);
    found=0;

    for i=1:row
        for j=1:col
            if X(i,j)==find
                disp([num2str(find),' found at position (',num2str(i),',',num2str(j),')']);
                found=1;
            end
        end
    end

    if found==0
        disp([num2str(find), ' not found']);
    end
end

运算输出

---------- looking 12 12 not found
---------- looking 23 23 not found
---------- looking 9 9 found at position (3,2)
---------- looking 10 10 not found

查找toFind向量中每一个值,在X矩阵中是否存在。

while循环

除了以上常用的for循环以外,在matlab中还可以使用while循环,参考doc while

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/185221.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 3D 页游测评报告

    3D 页游测评报告目前 能够实现 3D 页游的主流技术有 Silverlight XNA Flash HTML5 和 Unity3D 其中 Unity3D 作为一款专注于 3D 游戏的浏览器插件 近期在国内外页游产品线骚动异常 本人从多方收集到可注册的 Unity3D 页游测试发现 当下的 Unity3D 技术应用尤其在国内正遭遇着尴尬而无奈的窘迫境地 原因为何 大伙不妨先看看其中 7 款游戏测试数据 骑士的远征 国产 类型 SL

    2025年6月29日
    2
  • 【redis源码学习】系列目录导航[通俗易懂]

    【redis源码学习】系列目录导航[通俗易懂]万幸,赶在2022之前完成了这个系列,哈哈。【redis源码学习】redisObject【redis源码学习】simpledynamicstrings(简单动态字符串sds)【redis源码学习】跳跃表【redis源码学习】redis专属“链表”:ziplist【redis源码学习】快速列表quicklist【redis源码学习】看看redis的“哈希表”实现【redis源码学习】redis启动并读取配置文件的过程【redis源码学习】紧凑列表listpack,t_hash的御.

    2022年5月29日
    36
  • macbook如何安装双系统_双系统安装方法

    macbook如何安装双系统_双系统安装方法1.官网https://www.microsoft.com/zh-cn/software-download/windows10ISO进入官网下载win10(因为win10仅支持win10专业版不要下家庭中文版)语言:简体中文64位2.用迅雷下否则直接下载时间会很长Mac迅雷-轻体验,大改变(拖动迅雷至文件夹,即可安装,macOS10.15安装后请到应用程序找到图标,右键打开)点击迅雷的加号新建任务在浏览器复制之后自动弹出迅雷下载对话保存位置至桌面点击下载打开浏览器.

    2022年9月28日
    3
  • JDK1.8关于运行时常量池, 字符串常量池的要点[通俗易懂]

    JDK1.8关于运行时常量池, 字符串常量池的要点[通俗易懂]网上关于jdk1.8的各种实验,结论鱼龙混杂,很多都相矛盾,网上有的实验也被后人测试出了不同的结果很多都分辨不了真假,这里记录一下网络上正确的结论,欢迎指正!首先自行区分运行时常量池与Class文件常量池(静态常量池)的概念,JVM内存模型,方法区与永久代的区别,有些在我的其他博客有介绍,连接在文尾在JDK1.7之前运行时常量池逻辑包含字符串常量池存放在…

    2022年7月28日
    4
  • RevealTrans图片切换效果

    RevealTrans图片切换效果RevealTrans更新时间:2013-06-0117:11:59|RevealTrans兼容性:IE5.5+语法:filter:progid:DXImageTransform.Micros

    2022年7月3日
    22
  • 如何学分子模拟的软件

    如何学分子模拟的软件当今分子模拟已经成为很多领域学术研究的主流方法。多年前,因为计算量的原因,很多情况下,MC方法是首选,特别是只关心平衡体系,关心相边界行为的时候。随着计算资源的增加、计算成本的降低、一些研究对象的平衡态的体系已经几乎被做烂了,科研工作者慢慢关心动力学行为,非平衡特征,致力于发现新的现象,新的物理规律(总要有事做,有饭吃吧),于是MD越来越普及,用的人也越来越多。除了极端的方法学工作者,一般情况下…

    2022年5月26日
    32

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号