1.请编写函数fun1,它的功能是: 求出 1 到 n之内能被 7 或11整除、但不能同时被 7 和 11 整除的所有整数并将它们放在 a所指的数组中,并计算出这些数的个数。
Step1:编写函数式m文件如下
function [a s]=fun1(n)
a=[];s=0;
for k=1:n
if mod(k,7)*mod(k,11)==0&mod(k,7)+mod(k,11)~=0& mod(k,77)~=0
a=[a k];
s=s+1;
end
end
step2:在命令窗口或其他m文件中调用上述函数,如n取100的调用方式为
[a s]=fun1(100)
2. 请编写函数fun2, 函数的功能是: 判断字符串是否为回文? 若是, 函数返回1,主函数中输出: YES, 否则返回0, 主函数中输出NO。回文是指顺读和倒读都一样的字符串。
例如, 字符串LEVEL是回文, 而字符串123312就不是回文。
Step1:编写函数式m文件如下
function y=fun2(s)
% 输入参数s是字符串
ss=s(end:-1:1);
if s==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:function y=fun3(a,n)
%输入参数a是要考察的矩阵,n是要成的数
a1=tril(a);
y=(n-1)*a1+a1
解2:
function y=fun33(a,n)
%输入参数a是要考察的矩阵,n是要成的数
[k l]=size(a);y=[];
for i=1:k
for j=1:l
if i=0.000001
x0=x1;
x1=cos(x0);
end
gen=x1
wucha=x1-cos(x1)
5. 将M行N列的字符矩阵中的字符数据, 按行的顺序依次放到一个字符串中,然后将不是字符的删除。
例如, 二维矩阵s中的数据为:
3 W S H
T 5 V A
C D 4 E
则字符串中的内容应是: WSHTVACDE。
解1:命令式文件
s=input('输入一个m行n列的矩阵 ','s');
a=[];
[m n]=size(s);
for i=1:m
for j=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;
for k=1:n
s1=s1+((0.5*(-1)^(k+1)*prod(1:2:(2*k-3)))/(2^(k-1)*jc(k)))*x^k;
end
s=[s s1];
end
s=s(end)
9. 编写函数fun9,其功能是:根据以下公式求P的值,结果由函数值带回。m 与n 为两个正整数且要求m > n。
例如,m=12,n=8时,运行结果为495.000000。
function p=fun9(m,n)
if m>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。
function c=fun10(a,b)
if a>0&a0&b
标签:答案,数学,实验