QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 1106|回复: 1
打印 上一主题 下一主题

用if/else结构和逻辑数组创建等式

[复制链接]
字体大小: 正常 放大

413

主题

36

听众

1854

积分

升级  85.4%

  • TA的每日心情
    开心
    2019-9-18 21:55
  • 签到天数: 258 天

    [LV.8]以坛为家I

    社区QQ达人

    群组2015国赛冲刺

    群组2016美赛公益课程

    群组国赛讨论

    群组第三届数模基础实训

    群组Matlab讨论组

    跳转到指定楼层
    1#
    发表于 2015-9-8 22:27 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta

                      用if/else结构和逻辑数组创建等式
    逻辑数组经常被用来替代for循环中的if/else结构。
       把逻辑运算当作一个屏蔽来选择数组中的某些元素进行运算。如果你要利用那些没有被选择到的元素进行运算,只需要在逻辑屏蔽上加一个非运算符(~­)。  
       例如,假设我们要计算一个二维数组中所有的大于
    5的元素的平方根,然后其余的数的平方。利用循环和选择结构的代码如下:

    for ii = 1:size(a,1)
       for jj = 1:size(a,2)
            if a(ii,jj) > 5
                a(ii,jj) = sqrt(a(ii,jj));
            else
               a(ii,jj) = a(ii,jj)^2;
            end
       end
    end


    用逻辑数组运算的代码如下:

    b = a > 5
    a(b) = sqrt(a(b));
    a(~b) = a(~b) .^2;


    显然用逻辑数组的方法运算速度要快得多。

    测试4.1
    本测试提供了一个快速的检查方式,看你是否掌握了4.14.3的基本内容。如果你对本测试有疑问,你可以重读4.14.3,问你的老师,或和同学们一起讨论。在附录B中可以找到本测试的答案。

    检测下列for循环,说出它们的循环次数:

    1. for index = 7:10
    2. for jj = 7:-1:10
    3. for index = 1:10:10
    4. for ii = -10:3:-7
    5. for kk = [0 5; 3 3]


    检测下列循环,确定循环指数ires的最终值。

    6. ires = 0;
       for index = 1:10;
            ires = ires + 1;
       end
    7. ires = 0;
       for index = 1:10;
            ires = ires + index;
       end
    8. ires = 0;
       for index1 = 1:10;
            for index2 = index1:10
                if index2 == 6
                    break;
                end
                ires = ires + 1;
            end
       end
    9. ires = 0;
       for index1 = 1:10;
            for index2 = index1:10
                if index2 == 6
                    continue;
                end
                ires = ires + 1;
            end
       end




    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
    数学中国版主团队!
    瞥神        

    1

    主题

    10

    听众

    64

    积分

    升级  62.11%

  • TA的每日心情
    开心
    2015-9-11 07:28
  • 签到天数: 8 天

    [LV.3]偶尔看看II

    社区QQ达人

    群组数学建摸协会

    群组数学建模培训课堂1

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2025-5-25 03:34 , Processed in 0.483319 second(s), 59 queries .

    回顶部