• matlab for循环应用(阶乘及the day of year)


    一、N的阶乘

    %脚本文件:test.m
    
    %N的阶乘 使用举例
    
    % 定义变量
    % ii  ---循环变量,也就是循环次数
    % N   ---N的阶乘
    % N_factorial --计算N的阶乘
    clc;clear;
    
    %N的阶乘,以后封装为函数
    N=5;
    N_factorial=1;
    for ii = 1:N
     N_factorial =  N_factorial * ii;
    end
      fprintf(' %d的阶乘结果是:%f
    ', ii,N_factorial);

    二、the day of year

    %脚本文件:date.m
    
    %目标:
    %  该程序特定日期在这一年的天数,用到了switch和for结构
    % 版本记录:
    % 日期          编者      变化描述
    % 2015-10-5 16:泡泡      源代码
    % 定义变量:
    %  day      --输入某一天(dd)
    %  month    --输入某一月 (mm)
    %  year     --输入某一年(yyyy)
    %  ii       --循环索引
    %  day_of_year  --这一年的天数
    %  leap_day     --闰年额外的一天
     clc;clear;
     %获取输入的年、月、日
     disp('该程序计算输入具体的日期的天数');
    
     str=datestr(now,'yyyy-mm-dd HH:MM:SS');
     fprintf('系统当前时间:%s
    ',str);
     year = input('请输入当前年:');
     month= input('请输入当前月:');
     day  = input('请输入当前日:');
     
     %判断当前年是否是闰年
    % if mod(year,400) == 0
    % leap_day = 1; % Years divisible by 400 are leap years
    % elseif mod(year,100) == 0
    % leap_day = 0; % Other centuries are not leap years
    % elseif mod(year,4) == 0
    % leap_day = 1; % Otherwise every 4th year is a leap year
    % else
    % leap_day = 0; % Other years are not leap years
    % end
    %方法二:
    leap_day = 0;
    if mod(year,100)  == 0
        if mod(year,400) == 0
           leap_day = 1;  
        end
    else
        if mod(year,4) == 0
            leap_day = 1; 
        end
    end
     %计算当前天在这一年的时间
     
    day_of_year = day; %1.当前月份的天数
    for ii = 1:month - 1
        % 从一月到上个月总的天数
        switch (ii)
        case {1,3,5,7,8,10,12},
        day_of_year = day_of_year + 31;
        case {4,6,9,11},
        day_of_year = day_of_year + 30;
        case 2,
        day_of_year = day_of_year + 28 + leap_day;
        end
    end
    
    %告诉用户
    fprintf('时光荏苒,您输入的日期 %2d/%2d/%4d是这一年的第 [%d] 天.
    ', ...
    month, day, year, day_of_year);

    效果:

  • 相关阅读:
    Excel 相对引用与绝对引用
    SQL Update 巧用
    Delphi 多步操作产生错误,请检查每一步的状态值
    cxGrid 增加序号 (非数据库绑定模式) (测试通过)
    delphi cxgrid 使用方法
    如何使满足条件的数据显示不同的颜色
    Delphi中Format与FormatDateTime函数详解
    常用的日期时间函数
    100m和1000m网线的常见制作方法
    基于请求的分布式互斥算法
  • 原文地址:https://www.cnblogs.com/shuqingstudy/p/4855972.html
Copyright © 2020-2023  润新知