问题标题:
【数学实验答案】
问题描述:
数学实验答案
黄万伟回答:
1.请编写函数fun1,它的功能是:求出1到n之内能被7或11整除、但不能同时被7和11整除的所有整数并将它们放在a所指的数组中,并计算出这些数的个数.
Step1:编写函数式m文件如下
function[as]=fun1(n)
a=[];s=0;
fork=1:n
ifmod(k,7)*mod(k,11)==0&mod(k,7)+mod(k,11)~=0&mod(k,77)~=0
a=[ak];
s=s+1;
end
end
step2:在命令窗口或其他m文件中调用上述函数,如n取100的调用方式为
[as]=fun1(100)
2.请编写函数fun2,函数的功能是:判断字符串是否为回文?若是,函数返回1,主函数中输出:YES,否则返回0,主函数中输出NO.回文是指顺读和倒读都一样的字符串.
例如,字符串LEVEL是回文,而字符串123312就不是回文.
Step1:编写函数式m文件如下
functiony=fun2(s)
%输入参数s是字符串
ss=s(end:-1:1);
ifs==ss
y=1;disp('yes');
else
y=0;disp('no');
end
step2:在命令窗口或其他m文件中调用上述函数,如考察LEVEL是否为回文的调用方式为
y=fun2('LEVEL');考察123312是否为回文的调用方式为y=fun2('123312')
3.请编写函数fun3,函数的功能是:使矩阵左下三角元素中的值乘以n.
例如:若n的值为3,a数组中的值为
a=,则返回主程序后a数组中的值应为
解1:functiony=fun3(a,n)
%输入参数a是要考察的矩阵,n是要成的数
a1=tril(a);
y=(n-1)*a1+a1
解2:
functiony=fun33(a,n)
%输入参数a是要考察的矩阵,n是要成的数
[kl]=size(a);y=[];
fori=1:k
forj=1:l
ifi=0.000001
x0=x1;
x1=cos(x0);
end
gen=x1
wucha=x1-cos(x1)
5.将M行N列的字符矩阵中的字符数据,按行的顺序依次放到一个字符串中,然后将不是字符的删除.
例如,二维矩阵s中的数据为:
3WSH
T5VA
CD4E
则字符串中的内容应是:WSHTVACDE.
解1:命令式文件
s=input('输入一个m行n列的矩阵','s');
a=[];
[mn]=size(s);
fori=1:m
forj=1:n
if(abs(s(i,j))>=abs('A')&abs(s(i,j))=abs('a')&abs(s(i,j))=abs('A')&abs(s(i,j))=abs('a')&abs(s(i,j))=0.000001
s1=1;n=n+1;
fork=1:n
s1=s1+((0.5*(-1)^(k+1)*prod(1:2:(2*k-3)))/(2^(k-1)*jc(k)))*x^k;
end
s=[ss1];
end
s=s(end)
9.编写函数fun9,其功能是:根据以下公式求P的值,结果由函数值带回.m与n为两个正整数且要求m>n.
例如,m=12,n=8时,运行结果为495.000000.
functionp=fun9(m,n)
ifm>0&n>0&fix(m)==m&fix(n)==n&m>n
p=jc(m)/(jc(n)*jc(m-n))
else
disp('请检查你给的m,n是否合法')
end
10.函数fun10的功能是:将两个两位数的正整数a、b合并形成一个整数放在c中.合并的方式是:将a数的十位和个位数依次放在c数的百位和个位上,b数的十位和个位数依次放在c数的千位和十位上.
例如,当a=45,b=12.调用该函数后,c=1425.
functionc=fun10(a,b)
ifa>0&a0&b
点击显示
数学推荐
热门数学推荐