实验d循环结构,实验3 MATLAB编程介绍与循环结构

实验3 MATLAB编程介绍与循环结构
例3-1:求n(n=100)个奇数的和:s=1+3+5+…+(2n-1).
clear;clc; %清除内存变量,清理命令窗口
n=100; %赋值给定奇数的个数
s=0; %设定存放和的变量s并赋初值0
for i=1:n %定义循环变量i从1到n,以1为步长,即为奇数序号
s=s+(2*i-1); %先计算右端奇数并累加后再赋给左端的变量s
fprintf('i=%.0f, s=%.0f\n',i,s) %逐行显示出累加求和的过程
end %循环结构结束
例3-2:求正整数n的阶乘:p=1×2 × 3 × … × n = n!,并求出n=20时的结果。
clear;clc; %清除内存变量,清理命令窗口
n=20; %赋值给定正整数
p=1; %设定存放阶乘的变量p并赋初值1
for i=1:n %定义循环变量i从1到n,以1为步长,即连续正整数
p=p*i; %先计算右端乘积后再赋给左端的变量p
fprintf('i=%.0f, p=%.0f\n',i,p) %逐行显示出i!
end %循环结构结束
例3-3:根据麦克劳林公式可以得到e≈1+1+1/2!+1/3!+…+1/n!,试求e的近似值。
clear;clc; %清除内存变量,清理命令窗口
n=10; %赋值给定正整数
p=1; %设定存放阶乘的变量p并赋初值1
s=1; %设定存放累加和的变量s并赋初值1
for i=1:n %定义循环变量i从1到n,以1为步长
p=p*i; %先计算右端乘积后再赋给左端的变量p,此时p为i的阶乘
s=s+1/p; %先计算右端阶乘倒数的累加后再赋给左端的变量s
fprintf('i=%.0f, s=%.8f\n',i,s) %逐行显示出第i次e的近似值
end %循环结构结束
例3-4:对于数列
实验d循环结构,实验3 MATLAB编程介绍与循环结构
,求其前n项和不超过1000时的n的值及和.
clear;clc; %清除内存变量,清理命令窗口
n=0; %设定正整数并赋初值0
s=0; %设定存放累加和的变量s并赋初值0
while s<=1000 %用累加和s与1000进行比较作为循环条件
n=n+1; %改变n为连续正整数
s=s+sqrt(n); %先计算右端开方数的累加后再赋给左端的变量s
fprintf('n=%.0f, s=%.4f\n',n,s) %逐行显示正整数及部分和
end %循环结构结束
例3-5:根据e≈1+1+1/2!+1/3!+…+1/n! 求e的近似值,要求精确到
实验d循环结构,实验3 MATLAB编程介绍与循环结构

clear;clc; %清除内存变量,清理命令窗口
p=1; %设定存放阶乘的变量p并赋初值1
s=1; %设定存放累加和的变量s并赋初值1
r=1; %设定前后两次近似值的误差r并赋初值1
k=0; %设定构造连续正整数的变量k赋初值0又为循环次数
while r>=1.0e-8 %当近似值的精度r没达到
实验d循环结构,实验3 MATLAB编程介绍与循环结构
时继续循环
k=k+1; %累计循环次数并作为下一个正整数k
p=p*k; %计算k的阶乘p
r=1/p; %计算前后两次近似值的误差r
s=s+r; %计算e的近似值s
fprintf('k=%.0f, s=%.10f\n',k,s) %逐行显示出第k次e的近似值s
end %循环结构结束
实验4 MATLAB选择结构与应用实验
例4-1:求任意有限数组a=[a(1),a(2),,a(n)] 中数值最大的元素M以及所在位置k.
function [M,k]=findM(a) %定义函数findM,输入数组a,返回最大元素M及位置k
n=length(a); %获取数组的长度即元素的个数n
M=a(1); k=1; %将第一个元素作为最大值赋值给M,位置为1;
for i=2:n %从第二个元素到最后一个元素依次进行
if a(i)>M %比较后续元素与目前最大值M的大小
M=a(i); k=i; %将数值较大的元素赋值给M,同时保留位置i
end %选择结构结束
end %循环结构结束
&#9658; a=[1,2.2,pi,-0.8,3.2,0]; %任意给定一数组
&#9658; [M,k]=findM(a) %调用函数findM
&#9668; M =3.200
&#9668; k =5
例4-2:编写一个函数将百分制成绩转换为优(A),良(B),中(C),差(D)四等级.
function jb=dengji(fs) %定义函数dengji,输入分数fs,返回等级A,B,C,D
if fs>=90 %判断分数fs是否处在优秀级别上
jb=' A '; %定义为A级
elseif fs>=78 %判断分数fs是否处在良好级别上
jb=' B '; %定义为B级
elseif fs>=60 %判断分数fs是否处在合格级别上
jb=' C '; %定义为C级
else %分数fs不处于以上任何级别上
jb=' D '; %定义为D级
end %选择结构结束
&#9658; jb=dengji(81) %调用函数dengji
&#9668; jb =B
例4-3:Fibonacci 数组的元素满足Fibonacci规则:

实验d循环结构,实验3 MATLAB编程介绍与循环结构

实验d循环结构,实验3 MATLAB编程介绍与循环结构

实验d循环结构,实验3 MATLAB编程介绍与循环结构
,
实验d循环结构,实验3 MATLAB编程介绍与循环结构
.
求出该数组中第一个大于10000的元素。
n=100; %给定一个较大的n作为数列的位置
a=[1,1]; %设定数列的初始值
for i=3:n %从第3个元素开始循环递推生成后续元素
p=a(i-1)+a(i-2); %前两个元素之和生成后续元素p
a=[a,p]; %将刚产生的元素p放置到数组a的最后,拼接成新的数组
if p>10000 %判断将刚产生的元素p是否超过10000
break; %跳出所在的for循环
end %选择结构结束
end %循环结构结束
disp([a]) %显示所生成的数列,最后一个元素a(length(a))为所求的元素
例4-4:动态显示数列极限
实验d循环结构,实验3 MATLAB编程介绍与循环结构
的逼近过程。
clear;clf; %清除内存变量,清理图形窗口
hold _disibledevent=> %让n从2开始,建立循环
an=(1+1/n)^n; %计算数列的值
plot(n,an,'r.','markersize',15); %画出相应的坐标点,点的大小为15
pause(0.1); %暂停0.1秒后开始下一循环
fprintf('n=%d an=%.4f\n',n,an); %显示出每次结算结果(在命令窗口中)
end %循环结构结束
Tags:  vb循环结构教案 数学循环结构 vb循环结构 循环结构 实验d循环结构

延伸阅读

最新评论

发表评论