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

时间:2023-03-08 20:00:01

一、N的阶乘

%脚本文件:test.m

%N的阶乘 使用举例

% 定义变量
% ii ---循环变量,也就是循环次数
% N ---N的阶乘
% N_factorial --计算N的阶乘
clc;clear; %N的阶乘,以后封装为函数
N=;
N_factorial=;
for ii = :N
N_factorial = N_factorial * ii;
end
fprintf(' %d的阶乘结果是:%f\n', ii,N_factorial);

二、the day of year

%脚本文件:date.m

%目标:
% 该程序特定日期在这一年的天数,用到了switch和for结构
% 版本记录:
% 日期 编者 变化描述
% -- :泡泡 源代码
% 定义变量:
% 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\n',str);
year = input('请输入当前年:');
month= input('请输入当前月:');
day = input('请输入当前日:'); %判断当前年是否是闰年
% if mod(year,) ==
% leap_day = ; % Years divisible by are leap years
% elseif mod(year,) ==
% leap_day = ; % Other centuries are not leap years
% elseif mod(year,) ==
% leap_day = ; % Otherwise every 4th year is a leap year
% else
% leap_day = ; % Other years are not leap years
% end
%方法二:
leap_day = ;
if mod(year,) ==
if mod(year,) ==
leap_day = ;
end
else
if mod(year,) ==
leap_day = ;
end
end
%计算当前天在这一年的时间 day_of_year = day; %.当前月份的天数
for ii = :month -
% 从一月到上个月总的天数
switch (ii)
case {,,,,,,},
day_of_year = day_of_year + ;
case {,,,},
day_of_year = day_of_year + ;
case ,
day_of_year = day_of_year + + leap_day;
end
end %告诉用户
fprintf('时光荏苒,您输入的日期 %2d/%2d/%4d是这一年的第 [%d] 天.\n', ...
month, day, year, day_of_year);

效果:

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