MATLAB-编程入门

MATLAB-编程入门

欢迎访问个人主站
ghzzz.cn

1.编写M函数实现:求一个数是否为素数,再编写一主程序(脚本文件),要求通过键盘输入一个整数,然后判断其是否为素数。
函数解读:

fix()   向下取整
sqrt()  开平方

函数文件:

function y=M(x)
y=1;
for i=2:fix(sqrt(x)) 
    if mod(x,i)==0
        y=0;
    end
en

脚本文件:

x=input('请输入整数x:');
    if M(x)
        disp('x是一个素数')
    else
        disp('x不是一个素数')
    end
    

4.编写求解方程ax²+bx+c=0的根的函数,这里应根据b²-4ac的不同取值分别处理,并输入几组典型值加以检验。

a=input('请输入a的值:');
b=input('请输入b的值:');
c=input('请输入c的值:');
d=b^2-4*a*c; 	%使用d代替▲
if a==0 && b~=0
    x=-c/b;
    disp(['根为:x=',num2str(x)])  %第一种情况为一元一次方程
elseif a==0 && b==0
        disp('此方程无解')         %第二种情况为a,b都为0,方程无解
elseif d>0                        %d>0 方程有2解
    x1=(-b+sqrt(d))/(2*a);
    x2=(-b-sqrt(d))/(2*a);
    disp(['根为:x1=',num2str(x1),';x2=',num2str(x2)]);
elseif d==0    					  %d=0 有一解 
    x=-b/(2*a);
    disp(['根为:x1=x2=',num2str(x)]);
   
else
    disp('此方程无解')
end

5.编写程序计算([-3,3],步长0.01)

close all
k=1;								%设置基数
for x=-3:0.01:3      				%定义循环-3-3,步长0.01
    if(x>=-3 && x<-1)				
        y(k)=(-x^2-4*x-3)/2;
    elseif (x>=-1&&x<1)
        y(k)=-x^2+1;
    else
        y(k)=(-x^2+4*x-3)/2;
    end								%每一个x进入判断后,执行一次y
    k=k+1							%循环一次k+1
end									%x值全部满足,k=602 退出循环
plot(-3:0.01:3,y)					%输出曲线

6.利用menu函数输入选择参数ch:

x=input('请输入矩阵大小\n x=:')
y=input('y=')
ch=menu('ch','1','2','3','4')
switch ch
    case 1,out=-20*rand(x,y)+10
    case 2,out=10*rand(x,y)-5
    case 3,out=2*rand(x,y)-1
    case 4,out=randn(x,y)
end
     

8.企业发放的奖金按个人完成的利润(I)提成:
函数:

function out=M6(x)
n=fix(x/10)+1;   %因为是向下取整,所以+1
if(n>4)
    n=4;
end
s1=10*0.1;%1
s2=0.05*(20-10);%0.5
s3=0.02*(40-20);%0.4
switch n
    case 1,out=x*0.1;
    case 2,out=s1+0.05*(x-10);  
    case 3,out=s1+s2+0.02*(x-20);
    case 4,out=s1+s2+s3+0.01*(x-40);
end
disp(['奖金为:',num2str(out)]);

脚本:

sa=input('请输入完成利润:');
M6(sa);

9.有一分数序列,求前15项
函数:

function summ=M7(n)
x(1)=1;
x(2)=2;
for  i=3:n+1
    x(i)=x(i-2)+x(i-1);
end
for i=1:n
    a(i)=x(i+1)./x(i);
end
summ=sum(a);
disp(['前n项和为:',num2str(summ)]);
end

脚本:

n=input('请输入需要求和的项数:');
M7(n);

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值