实验6 Matlab程序设计2
实验目的:
1、 掌握建立和执行M文件的方法; 2、 掌握实现选择结构的方法; 3、 掌握实现循环结构的方法。
4、 熟悉利用向量运算来代替循环操作的方法。 实验内容:
1. 根据
?26?1111?????,求π的近似值。当n分别取100、1000、10000时,122232n2结果是多少?
要求:分别用循环结构和向量运算(使用sum函数)来实现。 sum = 0;
n=input('input a number:'); for i=1:n
sum=sum+1/i^2; y=sqrt(6*sum); end y yi
input a number:100 y =
3.1321 >> yi
input a number:1000 y =
3.1406 >> yi
input a number:10000 y =
3.1415 2. 根据y?1?111????,求: 352n?1(1) y<3时的最大n值。 (2) 与(1)的n值对应的y值。
3. 先用函数的递归调用定义一个函数文件求
1005010?ii?1nm,然后调用该函数文件求
?k??k??2k?1k?11 k?1k
s=0;
>> s=factor(100,1)+factor(50,2)+factor(10,-1) s =
4.7978e+004 4. 已知
?f1?1,?????????????????????????????n?1?f?0,?????????????????????????????n?2?2 ?f?1,?????????????????????????????n?3?3??fn?fn?1?2fn?2?fn?3,?n?3求f1?f100中:
(1) 最大值、最小值、各数之和。
(2) 正数、零、负数的个数。 5. 写出下列程序的输出结果。 (1)s = 0;
a = [12,13,14;15,16,17;18,19,20;21,22,23]; for k = a for j = 1:4
if rem(k(j),2)~=0 s = s +k(j); end end
end s s = 108
(2) 命令文件exe.m global x
x = 1:2:5;y = 2:2:6; sub(y); x,y
函数文件sub.m function fun = sub(z) global x z = 3*x;x = x+z; exe x =
4 12 20
y =
2 4 6