Matlab函数练习

1.建立函数文件mh.m,输入矩阵维数n,输出矩阵A及所有元素的和SA第一行所有元素的乘积,其中aij=i^j

mh.m文件

方法一:先构造第一列,用一重for循环解决

function [A,S,P]=mh(n)
b=[1:n]';
for j=1:n
    A(:,j)=b.^j;  
end
S=sum(A(:));
P=prod(A(1,:));
A,S,P
方法二:不构造,直接使用双重for循环

function [A,S,P]=mh(n)
for i=1:n
    for j=1:n
        A(i,j)=i^j; 
    end
end
S=sum(A(:));
P=prod(A(1,:));
A,S,P
注:矩阵sum函数用法,默认sum(A)与sum(A,1)一致,按列求和得到行向量,sum(A,2)为按行求和得到列向量,所以sum(A(:))可改写为sum(sum(A,2),1),prod函数类似

2. 试建立函数fg.m,输入变量x,y,互换后输出。

交换问题,借助临时变量即可

fg.m文件

function fg(x,y)
t=x;
x=y;
y=t;
x,y
end

3.建立分段函数g(x)

g(x)=             πtanx,x<2;              arccot(x^2)-5e^x,-2≤x≤4;           log(x^3),x>4

计算g(1)^g(5)-g(4)g(-1)

调用:g(1)^g(5)-g(4)*g(-1)

g.m文件

function y=g(x)
if x<-2
   y=pi*tan(x);
elseif x<=4
    y=acot(x*x)-5*exp(x);
else
    y=log(x^3);
end

4. 建立函数h(x),输入一组数x,输出这组数的和和平均值,最大,最小值。

方法一:使用内建函数(调用示例:h([1 2 3 4])

h.m文件

function [su,me,ma,mi]=h(x)
su=sum(x);
me=mean(x);
ma=max(x);
mi=min(x);
su,me,ma,mi
方法二:利用循环手工求解

h.m文件

function [s,ave,minnum,maxnum]=h(x)
s=0;
minnum=x(1);
maxnum=x(1);
for i=1:length(x)
    s=s+x(i);
    if(x(i)<minnum)
        minnum=x(i);
    end
    if(x(i)>maxnum)
        maxnum=x(i);
    end
        
end
ave=s/length(x);
s,ave,minnum,maxnum

5.猜数游戏。首先由计算机产生[1,100]之间的随机整数,然后由用户猜测所产生的随机数。根据用户猜测的情况给出不同提示,如猜测的数大于产生的数,则显示“High”,小于则显示“Low”,等于则显示“You won”,同时退出游戏。用户最多可以猜7

guess.m文件

function guess()
num=round(rand()*99)+1;
for i=1:7
    a=input('guess a numbers:')
    if a>num
        disp('High')
    elseif a<num
        disp('Low')
    else
        disp('You won')
        break;
    end    
end

6、 一个三位整数各位数字的立方和等于该数本身则称该数为水仙花数。输出全部水仙花数。


function sxhshu()
for i=100:999
    a=fix(i/100);
    b=rem(fix(i/10),10);
    c=rem(i,10);
    if(i==(a^3+b^3+c^3))
        disp(i);
    end
end





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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值