Matlab函数练习

来源:互联网 发布:淘宝点击率的计算公式 编辑:程序博客网 时间:2024/05/29 12:30

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;  endS=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;     endendS=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,yend

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        endave=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);    endend





0 0
原创粉丝点击