MATLAB语言编程介绍.ppt
上传者:核辐射
2022-06-14 10:10:37上传
PPT文件
509 KB
文 档 名
例6:求和:s=1+2+…+n<3000
s=0;k=1;
while s<3000
s=s+k;
fprintf(' k=%.0f, s=%.0f\n ',k,s);
k=k+1;
end
例7:求e:e=1+1+1/2!+1/3!+… (1/n!<1.0e-8)
p=1;e=1;r=1;i=1;
while r>=1.0e-8
p=p*i;
r=1/p;
e=e+r;
fprintf(' i=%.0f, r=%.9f, e=%.9f \n ',i,r,e);
i=i+1;
end
M-文件中选择控制命令(if命令)
单项选择控制
格式: if (condition is true)
commands;
end
作用:若条件成立,则执行命令集
commands. 否则,不执行。
例8:求n个实数中最大的数M.
a=input('请输入数组 a[n]= ');
[m,n]=size(a);
M=a(1);
for i=2:n
if M<a(i)
M=a(i);
end
fprintf(' M=%.5f, a(%.0f)=%.5f \n ',M,i,a(i));
end
M-文件中选择控制命令(if命令)
多项选择控制
格式: if (condition is true)
commands;
elseif (condition is true)
commands;
else
commands;
end
作用:若条件成立,则执行命令集
commands. 否则,不执行。
例9:建立符号函数sign(x)
x=input('x=');
if x>0
sn=1;
elseif x==0
sn=0;
else
sn=-1;
end
fprintf('x=%.5f, sn=%.0f\n',x,sn);
数值计算问题
问题1:求无理数的近似值
先求 的近似值,再设计通用程序.
问题2:用两种方法求Pi的近似值
例10:用二分法求函数x^2-2=0的正实根.
输入初值:
输出结果:STOP
No
No
No
Yes
Yes
Yes
例11:用切线法求函数x^2-2=0的正实根.
例6:求和:s=1+2+…+n<3000
s=0;k=1;
while s<3000
s=s+k;
fprintf(' k=%.0f, s=%.0f\n ',k,s);
k=k+1;
end
例7:求e:e=1+1+1/2!+1/3!+… (1/n!<1.0e-8)
p=1;e=1;r=1;i=1;
while r>=1.0e-8
p=p*i;
r=1/p;
e=e+r;
fprintf(' i=%.0f, r=%.9f, e=%.9f \n ',i,r,e);
i=i+1;
end
M-文件中选择控制命令(if命令)
单项选择控制
格式: if (condition is true)
commands;
end
作用:若条件成立,则执行命令集
commands. 否则,不执行。
例8:求n个实数中最大的数M.
a=input('请输入数组 a[n]= ');
[m,n]=size(a);
M=a(1);
for i=2:n
if M<a(i)
M=a(i);
end
fprintf(' M=%.5f, a(%.0f)=%.5f \n ',M,i,a(i));
end
M-文件中选择控制命令(if命令)
多项选择控制
格式: if (condition is true)
commands;
elseif (condition is true)
commands;
else
commands;
end
作用:若条件成立,则执行命令集
commands. 否则,不执行。
例9:建立符号函数sign(x)
x=input('x=');
if x>0
sn=1;
elseif x==0
sn=0;
else
sn=-1;
end
fprintf('x=%.5f, sn=%.0f\n',x,sn);
数值计算问题
问题1:求无理数的近似值
先求 的近似值,再设计通用程序.
问题2:用两种方法求Pi的近似值
例10:用二分法求函数x^2-2=0的正实根.
输入初值:
输出结果:STOP
No
No
No
Yes
Yes
Yes
例11:用切线法求函数x^2-2=0的正实根.
MATLAB语言编程介绍