MATLAB语言编程介绍
M-文件中输入、输出命令
直接赋值输入: 提示对话输入(input命令)
x=2; x=input('请输入参数 x='); end
例4:求e:e=1+1+1/2!+1/3!+…+1/n!
n=input('请输入 n= ');
p=1;e=1;
for i=1:n
p=p*i;
p1=1/p;
e=e+p1;
fprintf(' i=%.0f, p=%.0f, e=%.8f \n ',i,p,e);
end
例5:求pi:pi/4=1-1/3+1/5-1/7+1/9-1/11+……
n=input('请输入 n= ');
pi=0;k=-1;
for i=1:2:n
k=(-1)*k;
pi=pi+k*1/i;
fprintf(' i=%.0f, pi=%.8f \n ',i,4*pi);
end
M-文件中条件循环命令(while命令)
格式: while (condition is true)
commands;
end
作用:重复执行命令集commands.
例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!<-8)
p=1;e=1;r=1;i=1;
while r>=-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:求无理数的近似值
先求 的
matlab语言编程介绍 来自淘豆网www.taodocs.com转载请标明出处.