matlab程序流程控制

matlab程序流程控制

  • if语句
  • Switch语句
  • for语句
  • while语句
  • 函数文件的定义与调用
  • 函数的递归调用

if语句

例1:

x=input('请输入x的值:');
if rem(x,2)==1
    y=sqrt(x);
else
    y=x^(1/3);
end

matlab程序流程控制_第1张图片
例2:输入一个字符,若为大写字母,则输出其对应的小写字母;若为小写字母,则输出其对应的大写字母;若为数字字符则输出其对应数的平方,若为其他字符则原样输出。

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

matlab程序流程控制_第2张图片

Switch语句

例1 输入一个英文单词,判断它是否以元音字母开头。

c=input('请输入一个单词:','s');
switch c(1) 
    case {'A','E','I','O','U','a','e','i','o','u'} 
        disp([c,'以元音字母开头']);
    otherwise 
        disp([c,'以辅音字母开头']);
end

matlab程序流程控制_第3张图片

for语句

matlab程序流程控制_第4张图片
matlab程序流程控制_第5张图片

例1:计算圆周率π。利用无穷级数展开式求π的近似值。

y=0;
g=-1;
n=input('n=?'); 
for i=1:n
    g=-g;
    y=y+g/(2*i-1); 
end
pai=4*y

matlab程序流程控制_第6张图片

while语句

例1 :从键盘输入若干个数,当输入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

matlab程序流程控制_第7张图片
matlab程序流程控制_第8张图片

函数文件的定义与调用

matlab程序流程控制_第9张图片
在这里插入图片描述
matlab程序流程控制_第10张图片
例1:编写函数文件,求半径为r的圆的面积和周长。

function [s,p]=fcircle(r)
s=pi*r*r;
p=2*pi*r;
end

matlab程序流程控制_第11张图片

函数的递归调用

matlab程序流程控制_第12张图片
matlab程序流程控制_第13张图片
matlab程序流程控制_第14张图片
例1:利用函数的递归调用,求n!
函数文件fact.m输入

function f=fact (n)
if n<=1
    f=1;
else
    f=fact (n-1)*n;    %递归调用求(n-1)!
end

在脚本文件a.m中调用函数文件fact.m,求n!

n=input('Please input n=');
s=fact (n);
disp(s)

matlab程序流程控制_第15张图片
视频教程

你可能感兴趣的:(matlab)