matlab入门教程三 ----- 函数运用&&循环&&判断

1.函数文件的运用

   在函数文件中编写函数

function Fun = f(a, b) % function 因变量(可以不止一个) = 函数名(建议与该函数文件名字一样)(a, b,...)
Fun = a * b

在脚本文件中调用

f(2, 3);

在控制台中调用

>> f(2, 3)

都可以在控制台中看到输出6


2.for循环运用

在脚本文件中编写

sum = 0;
for i = 1 : 100 %表示i从1开始每次加一一直加到100,不过这里循环结束时i的值为100 而不是c语言中的101
    sum = sum + i;
end %一个for对应一个end代表循环结束标志
i
sum


for m = 100 : 200 %求100-200素数并且输出
    k = fix(sqrt(m)); %对m取平方然后取整
    
    for i = 2 : k + 1 %与c语言的有些不一样这里循环不用break结束时,i会变为k+ 1 而不会像c语言一样最终 i == k + 2
        if rem(m, i) == 0 %m与i的余数
            break;
        end
    end
    
    if (i == k + 1)
          disp(int2str(m)) %以字符串形式输出素数
%         disp(m) 这两种输出差不多,可以自己比较一下
    end
    
end
    


3.while循环运用

sum = 0;
j = 1;

while j < 51  %注意后面必须有j = j + 1,不像for 1 : 100 中可以自增
    temp = 1;
    i = 1;
    
    while i <= j
        temp = temp * i;
        i = i + 1;
    end %一个while对应一个end,代表循环结束标志
    
    sum = sum + temp;
    j = j + 1;
end

sum


4.if判断运用

在函数文件中编写

function y = yx(x)
if x < 1
    y = x + 1;
elseif x >= 1 & x <= 10 %注意这里的elseif中间不能有空格,这里的与是&
        y = 2 * x - 1;
elseif x >=10 & x <= 30
        y = 3 * x - 11;
    else
        y = x;
end %注意这里的end

5.switch判断运用
function r = ff(x)
n = fix(x / 10);

switch n
    case {9, 10} %用大括号表示多个匹配
        disp('优秀')
    case {8}
        disp('良好')
    case {6, 7}
        disp('及格')
    otherwise %所有条件不满足用otherwise
        disp('不及格')
end %结束标志

6.习题
2 .利用公式计算 π / 4 = 1 - 1 / 3 + 1 / 5 .... + 1 / 21来求π的值。
sum = 0;
i = 1;
flag = 1;

while i <= 21
    temp = 1 / i; %保存每次需要加的项,比如1 1 / 3
    sum = sum + flag * temp; %用flag控制符号(每次是加还是减),sum保存总和
    flag = -flag;
    i = i + 2;
end

sum * 4


2.编函数计算 1 !+ 3 !+ 5 !+ 7 !+ ⋯ + 25 !的值。
这个在前面已经求过类似的,不在赘述
function sum = F(x)
sum = 0;
i = 1;

while i <= x
    j = 1;
    temp = 1;
    
    while j <= i 
        temp = temp * j;
        j = j + 1;
    end
    
    sum = sum + temp;
    i = i + 2;
end

sum




  • 5
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值