matlab实验4MATLAB基本编程.doc
《matlab实验4MATLAB基本编程.doc》由会员分享,可在线阅读,更多相关《matlab实验4MATLAB基本编程.doc(7页珍藏版)》请在冰豆网上搜索。
实验4MATLAB基本编程
一、实验目的
1.熟悉MATLAB的脚本编写
2.熟悉MATLAB的函数编写
3.熟悉MATLAB的变量使用
4.熟悉MATLAB的程序控制结构
二、实验内容
1.分别选用if或switch结构实现下述函数表示。
-1x≤-a
f(x)=x/a-a1x≥a
2.根据ex=1+x+x2/2!
+…+xn/n!
+…近似计算指数,当与指数函数的误差小于0.01时停止,分别用for和while结构实现。
3.记录上题的调试过程。
刚开始对于指数直接用e,后来改成exp
4.提示用户输入1或2,如输入1时,执行第一题脚本;如输入2时,提示用户输入随机数序列长度,然后执行第二题的函数。
5.从键盘输入数值,迭代计算xn+1=3/(xn+2)。
三、思考题
1.创建脚本实现随机系列的各元素由大到小排列,其中随机数服从U(-5,9)的均匀分布,并且序列长度为10。
2.创建函数实现指定长度的随机数序列的各元素由大到小的排列,其中随机数服从N(3,9)的高斯分布。
3.分别用for和while结构实现下述函数计算。
(1)sin(x)-cos(x)+sin(2x)+cos(2x)+……+sin(nx)+(-1)ncos(nx)
(2)
分别if或switch结构实现下列函数表示
functiony=function1(x,a)
if(x<=-a)
y=-1;
elseif(x-a)
y=x/a;
else
y=1;
end
functionoutput=function2(x,a)
switchx&a
casex<=(-a)
output=-1;
casex>(-a)&xoutput=x/a;
otherwise
output=1;
end
functiony=function3(x)
y=0;
fori=0:
inf
y=y+(x^i/factorial(i));
if(exp(x)-y<0.01)
break
end
end
functiony=function4(x)
y=0;
i=0;
while(exp(x)-y>0.01)
y=y+(x^i/factorial(i));
i=i+1;
end
functionn=function5()
r=input('pleaseinput1or2:
');
switchr
case1
disp(function1(1,2));
case2
x=input('inputanumber:
');
disp(function3(x));
end
functiony=function6()
n=input('inputanumber:
');
y=1.5;
ifn==0
y=1.5;
else
forx=1:
1:
n
y=3/(y+2);
end
end
functiony=function7
n=input('请输入n的值:
');
a=normrnd(3,9,1,n);
y=fliplr(sort(a))
functiony=function8
n=input('n=');
x=input('x=');
y=0;
fori=1:
n
s=sin(i*x)+(-1)^i*cos(i*x);
y=y+s;
end
disp(y);
functionfunction9
x=input('x=');
n=1;
y=0;
whilen<=10
s=sin(n*x)+(-1)^n*cos(n*x);
y=y+s;
n=n+1;
end
disp(y);
functiony=function10
A=[1,2,3;0,1,2;0,0,1];
n=input('n=');
t=input('t=');
y=0;
fori=1:
1:
n
x=A^i*exp(A^i*t);
y=y+x;
end
disp(y);
functiony=function11
A=[1,2,3;0,1,2;0,0,1];
n=input('n=');
t=input('t=');
y=0;
while(n)
x=A^n*exp(A^n*t);
y=y+x;
n=n-1;
end
y=y+exp(A*t);
disp(y);
functionp=f(x,y)
x=input('请输入x的值:
')
y=input('请输入y的值:
')
ify==1
p=sin(x);
elseify==2
p=cos(x);
else
p=sin(x)*cos(x);
end
functionf=function13(x,y)
switchy
case1
f=sin(x);
case2
f=cos(x);
otherwise
f=sin(x)*cos(x);
end
脚本
a=unifrnd(-5,9,1,10);
y=sort(a);
y=rot90(y)