实验二Matlab的编程及图形绘制
实验方法、步骤及结果测试 (1)编写2个函数文件:
分别用for和while循环结构编写程序,求2的0到n次幂的和,函数的返回值是和,输入参数是n。
答: for语句: n=input('n=') sum=0; for i=0:n sum=sum+2^i; end sum while语句 n=input('n=') sum=0; i=0;
1 / 4
while(i<=n) sum=sum+2^i; i=i+1; end sum
(2)如果想对一个变量x自动赋值。当从键盘输入y或Y时(表示是),盘输入n或N时(表示否),x自动赋为0;输入其他字符时终止程序。
答:
A=input('ÊäÈë×Ö·û','s'); if A=='y'||A=='Y' x=1
elseif A=='n'||A=='N' x=0 else break end
(3)编程实现输出1000以内的质数,并求和。 n=input('n='); x=2:n;
2 / 4
x自动赋为1;当从键
for u=2:sqrt(n)
N=find(rem(x,u)==0&x~=u); x(N)=[ ]; endxY=sum(x)
(4)在一个figure图形窗口中绘制正弦、余弦、正切和余切曲线,要求正弦和余弦画在一个子图里。
提示:
(1)考虑如何避免零做除数的情况,绘图时纵坐标取值为无穷大的情况;
(2)使用subplot函数完成图形布局;使用title、legend、text等函数完成图形的标注; (3)横坐标的赋值语句如下 y=sin(x); y1=cos(x); subplot(2,2,1) plot(x,y,'b*') hold on plot(x,y1,'r') subplot(2,2,3) x=x+eps*(x==0);
3 / 4
y=tan(x);
y=y.*(abs(y)<1e10); plot(x,y) subplot(2,2,4) x=x+eps*(x==0); y=cot(x);
y=y.*(abs(y)<1e10); plot(x,y,'k')
4 / 4
因篇幅问题不能全部显示,请点此查看更多更全内容