上 海 电 力 学 院 课 程 报 告
课程名称: Matlab的信号处理仿真应用
班 级: 2014071 姓 名: 郭茂 学 号: 20140898
一:MATLAB概述与入门
1.MATLAB强大的计算功能及命令窗口的简单使用
简单计算:
例1.计算sin(45° ) >>sin(45*pi/180)
运行窗口如图一; 图一:
例2.计算半径为5.2m的圆的周长和面积。 >>radius=5.2; %圆的半径
>>area=pi*radius^2, circle_len=2*pi*radius 运行窗口如图二;
图二: 2.MATLAB的演示功能 例3:绘制复杂的3d图形 t = linspace(0, 2*pi, 512); [u,v] = meshgrid(t); a = -0.4; b = .5; c = .1; n = 3;
x = (a*(1 - v/(2*pi)) .* (1+cos(u)) + c) .* cos(n*v); y = (a*(1 - v/(2*pi)) .* (1+cos(u)) + c) .* sin(n*v); z = b*v/(2*pi) + a*(1 - v/(2*pi)) .* sin(u); surf(x,y,z,y) axis off axis equal
colormap(hsv(1024)) shading interp material shiny lighting phong
camlight('left', 'infinite')
view([-160 25]) 图三:复杂3D图形的绘制 结果如图三;
- 2 -
例4.求解线性方程组
2x?3y?z?2? ??8x?2y?3z?4a = [2,3,-1;8,2,3;45,3,9];%建立系数矩阵a
?45x?3y?9z?23b = [2;4;23];%建立列向量b ?所得结果如图四:
运用MATLAB中的INV函数(如图五,MALAB中的help指令)求得系数的逆矩阵,进而所得线性方
x = inv(a)*b 图四:运行结果
程组的解; 图五:INV函数的说明
例5.多项式曲线拟合
x=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 原函数: y=[1.2, 3, 4, 4, 5, 4.7, 5, 5.2, 6, 7.2] 一次多项式拟合: p1 = polyfit(x,y,1) 三次多项式拟合: p3 = polyfit(x,y,3)
58y(x)?x3?2x2?5InMATLABy?[1?20?5]76plot 原始数据、一次拟合曲线和三次拟合曲线 x2=1:0.1:10; y1=polyval(p1,x2) y3=polyval(p3,x2)
plot( x, y, ’*’, x2, y1, ‘:’, x2, y3) 由图可见,三次拟合结果较好。
Polyfit:多项式函数拟合:a=polyfit(xdata,ydata,n),其中n表示多项式的最高阶数,xdata,ydata为将要拟合的数据,它是用数组的方式输入。输出参数a为拟合多项式 ;
Polyval:y = polyval(p,x)返回n次多项式p在x处的值。输入变量p是一个长度为n+1的向量,其元素为按降幂排列的多项式系数;
Plot:plot(x1,y1,x2,y2,……)在此格式中,每对x,y必须符合plot(x,y)中的要求,不同对之间没有影响,命令将对每一对x,y绘制曲线。
- 3 -
432112345678910拟合图形如图六: 图六:拟合结果
Matlab的信号处理仿真应用
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)