MATLAB选修课习题
- 格式:doc
- 大小:253.50 KB
- 文档页数:3
2012大作业
1、 绘图题
画出下面二维曲线的图形,并在图形框中标注出函数的名称,并标注出刻度y为最大值处的
x刻度,用交互方式标示出极值处的y值大小。
0,5tytet
解:
>> x=0:5*pi;
>> y=x.*exp(-x);
>> plot(x,y)
>> y1=max(y);
>> x1=x(find(y==y1));
>> title('y=x*exp(-x)')
>> hold on
>> plot(x1,y1,'r*')
求极值
>> x=fminbnd('-(x*exp(-x))',0,5*pi)
x =
1.0000
>> y=x.*exp(-x)
y =
0.3679
2、 解非线性方程组
一组数据点1,2,,10x,5,3,2,9,13,11,14,16,19,22y,分别用线性插值和7次多
项式插值进行曲线拟合,并将测量数据点及两条拟合曲线画在一个图形界面上;
解:
>> x=[1 2 3 4 5 6 7 8 9 10];
>> y=[5,3,2,9,13,11,14,16,19,22];
>> p1=polyfit(x,y,1)
p1 =
2.1091 -0.2000
>> p2=polyfit(x,y,7)
p2 =
Columns 1 through 7
0.0030 -0.1163 1.8490 -15.1846 68.2544 -163.3708 187.5855
Column 8
-74.0000
>> y1=polyval(p1,x);
>> y2=polyval(p2,x);
>> plot(x,y,'+',x,y1,'r*',x,y2,'k-');
>> legend('实验数据','线性拟合','七次多项式拟合');
3、 图像制作
以matlab中的tape.png图片为例,对图像进行旋转45度操作,原图像显示在第一幅子图中,
旋转图像显示在第二幅子图中;将原始图片转化为8位灰度图,显示在第三幅子图中,并用
sobel算子检测图像的水平边缘,显示在第四幅子图中;
解:
>> subplot(2,2,1)
>> i=imread('tape.png');
>> imshow(i)
>> subplot(2,2,2)
>> j=imrotate(i,45,'bilinear');
>> imshow(j)
>> subplot(2,2,3)
>> k=rgb2gray(i);
>> imshow(k)
>> subplot(2,2,4)
>> m=imread('tape.png');
>> m=rgb2gray(m);
>> m=im2double(m);
>> [SFST Threshold]=edge(m,'sobel','horizontal');
>> imshow(SFST)