matlab例题(阶乘,解方程,数字加密输出)

1.计算:y=1+x+x2/2!+x3/3!+……+x^n/n!

%计算一个阶乘公式
clear;
clc;
n=input('n=');
x=input('x=');
if n==0
    y=1;
else 
    y=1;
    f=1;
    for i=1:n
        for j=1:i
            f=f*j;
        end
    y=y+x^i/f;
    end
end
disp(y);

为了针对n=0的情况,我选择的是使用if语句把特殊情况分立出来。
2.编写程序求一元二次方程ax2+bx+c=0的根,要求能由用户输入a,b,c的值,由程序完成计算并输出结果x1和x2。****(不考虑方程无解的情况)

clear;
clc;
a=input('a=');
b=input('b=');
c=input('c=');
syms x;
eqn=a*x^2+b*x+c==0;
x=solve(eqn,x);
disp(x);

3.从键盘中输入一个5位整数,按如下规则加密后输出:每位数字都加上9,然后用和除以10的余数取代该数字;再把第一位与第五位交换,第二位与第四位交换。

clear;
clc;
x=input('请输入一个五位整数:');%输入一个数
a=fix(x/10000)+9;
b=fix((x-a*10000)/1000);
c=fix((x-a*10000-b*1000)/100);
d=fix((x-a*10000-b*1000-c*100)/10);
e=x-a*10000-b*1000-c*100-10*d;%把五个数全部提取出来
a=mod(a+9,10);
b=mod(b+9,10);
c=mod(c+9,10);
d=mod(d+9,10);
e=mod(e+9,10);%求出余数
y=e*10000+d*1000+c*100+d*10+a;%进行换位后组合
disp(y);

mod是用于计算余数。用法是mod(a,b);a是被除数,b是除数。

猜你喜欢

转载自blog.csdn.net/weixin_51871724/article/details/120914841
今日推荐