顺序结构:
% 有一线段AB,A的坐标为(1,1)
% B的坐标为(4.5,4.5)
% 求AB的长度,以及黄金分割点C的坐标。
a=input('a=');
b=input('b=');
c=a+0.618*(b-a)
length=abs(a-b)
if语句:
% 输入一个整数,若为奇数则输出其平方根,否则输出其立方根。
x=input('请输入x的值:');
if rem(x,2)==1
y=sqrt(x);
else
y=x^(1/3);
end
y
% 输入一个字符,若为大写字母,则输出其对应的小写字母;若为小写字母,则输出其对应的大写字母;若为数字字符则输出其对应数的平方,若为其他字符则原样输出。
c=input('请输入一个字符:','s');
if c>='A' && c<='Z'
disp(lower(c))
elseif c>='a' && c<='z'
disp(upper(c))
elseif c>='0' && c<='9'
disp(str2double(c)^2)
else
disp(c)
end
for循环:
% 利用无穷级数展开式求π的近似值。
y=0;
g=-1;
n=input('n=?');
for i=1:n
g=-g;
y=y+g/(2*i-1);
end
pai=4*y
% 用向量求和的方法实现程序:
n=input('n=?');
x=1:2:(2*n-1);
y=(-1).^(2:n+1)./x;
pai=sum(y)*4
% 利用定积分的近似值求π的近似值。
a=0;
b=1;
n=input('n=?');
h=(b-a)/n;
x=a:h:b;
f=sqrt(1-x.*x);
s=[];
for k=1:n
s1=(f(k)+f(k+1))*h/2;
s=[s,s1];
end
pai=4*sum(s)
% 利用蒙特卡洛法求π的近似值。
s=0;
n=input('n=?');
for i=1:n
x=rand(1);
y=rand(1);
if x*x+y*y<=1
s=s+1;
end
end
pai=s/n*4
%for 循环变量=矩阵表达式
% 循环体语句
%end
while循环:
% 从键盘输入若干个数,当输入0时结束输入.求这些数的平均值和它们之和
msum=0;
n=0;
x=input('Enter a number (end in 0):');
while x~=0
msum=msum+x;
n=n+1;
x=input('Enter a number (end in 0):');
end
if n>0
msum
mean=msum/n
end
% 求[100,200]之间第一个能被21整除的整数。
for n=100:200
if rem(n,21)~=0
continue
end
n
break
end
% 用筛选法求某自然数范围内的全部素数。
m=input('m=');
p=1:m;
p(1)=0;
for i=2:sqrt(m)
for j=2*i:i:m
p(j)=0;
end
end
n=find(p~=0);
p(n)
switch语句:
% 输入一个英文单词,判断它是否以元音字母开头。
c=input('请输入一个单词:','s');
switch c(1)
case {'A','E','I','O','U','a','e','i','o','u'}
disp([c,'以元音字母开头']);
otherwise
disp([c,'以辅音字母开头']);
end
% 方法二 使用findstr函数
c=input('请输入一个单词:','s');
if findstr(c(1),'AEIOUaeiou')>0
disp([c,'以元音字母开头']);
else
disp([c,'以辅音字母开头']);
end
% PM2.5是指大气中直径小于或等于2.5微米的可入肺颗粒物,是衡量空气质量的重要指标。
% 假定空气质量等级以PM2.5数值划分为6级:
% PM2.5数值在[0,35)空气质量为优[35,75)为良,[75,115)为轻度污染
% [115,150)为中度污染,[150,250)为重度污染,大于等于250为严重污染。
% 编写程序,输入PM2.5数值,输出空气质量等级。
g=input('请输入PM2.5值:');
switch fix(g)
case num2cell(0:34)
disp('空气质量优');
case num2cell(35:74)
disp('空气质量良好');
case num2cell(75:114)
disp('空气质量轻度污染');
case num2cell(115:149)
disp('空气质量中度污染');
case num2cell(150:249)
disp('空气质量重度污染');
otherwise
disp('空气质量严重污染');
end
函数:
% 利用函数的递归调用,求n!。
function f=fact (n)
if n<=1
f=1;
else
f=fact (n-1)*n; %递归调用求(n-1)!
end
函数2:
function [s,p] = fcircle(r)
s=pi*r*r;
p=2*pi*r;
end
%匿名函数
%函数句柄变量=@(匿名函数输入参数)匿名函数表达式
%例: f=@(x,y)x^2+y^2 即 f(3,4)=25
%函数句柄变量=@函数名
%例: h=@sin 即 h([i/2)=1
% 已知=(40)/((30)+(20))
% ①当()=+10 ln?(^2+5)时,的值是多少。
% ②当()=1×2+2×3+3×4+?+×(+1)时,的值是多少。
函数3:
function f = f2(n)
f=0;
for k=1:n
f=f+k*(k+1);
end
end
% 匿名函数实现
% f1=@(n) n+10*log(n*n+5);
% y1=f1(40)/(f1(30)+f1(20))
% y2=f2(40)/(f2(30)+f2(20))
函数4:
% 编写递归调用函数求Fibonacci数列的第n项,然后调用该函数验证Fibonacci数列的如下性质:
% f1^2+f2^2+f3^2+……+fn^2=fn×fn+1
% 首先建立函数文件ffib.m。
function f=ffib(n)
if n>2
f=ffib(n-1)+ffib(n-2);
else
f=1;
end
函数5:
% 利用nargin和nargout建立函数文件test.m。
function fout=test(a,b,c)
if nargin==1
fout=a;
elseif nargin==2
fout=a+b;
elseif nargin==3
fout=(a*b*c)/2;
end
函数6:
% 利用全局变量建立函数文件wad.m。
function f=wad(x,y)
global ALPHA BETA
f=ALPHA*x+BETA*y;