《数学实验》实验报告——用MATLAB绘制sin曲线

合集下载

《数学实验》曲线绘制实验报告

《数学实验》曲线绘制实验报告

课程名称数学实验成绩评定实验项目名称曲线绘制【实验目的】1.了解曲线的几种表示方式。

2.学习、掌握MA TLAB软件有关的命令。

【实验内容】绘制下列四种曲线:1.以直角坐标方程y=sin x,y=cos x表示的正、余弦曲线。

2.以参数方程x=cos t,y=sin t,t∈[0,2π]表示的平面曲线(单位圆)。

3.以参数方程x=e−0.2t cosπ2t,y=π2e−0.2t sin t,z=t,t∈[0,20]表示的空间曲线。

4.作出摆线的图形。

5.做出以参数方程x=e−0.25t cosπ2t,y=e−0.25t sinπ2t,z=t,t∈[0,30]表示的空间曲线。

6.以极坐标方程r=a(1+cosϕ),a=1,ϕ∈[0,2π]表示的心脏线。

7.绘制极坐标系下曲线 ρ=acos (b+nθ)的图形,讨论参数a、b和n对其图形的影响。

8.(曲线族绘制)三次抛物线的方程为y=ax3+cx,讨论参数a和c对其图形的影响。

【实验方法与步骤】练习1做出函数y=sin x,y=cos x的图形,并观察它们的周期性。

MATLAB代码及结果如下:>> x=0:0.01*pi:4*pi;y1=sin(x);y2=cos(x);plot(x,y1,'b',x,y2,'r');legend('y=sin(x)','y=cos(x)','location','best');axis([0 4*pi -1 1])绘制结果如下图:y=sin x,y=cos x的图形如上图,两个函数的周期皆为2π练习2设y=√32e−4t sin(4√3t+π3),要求以0.01秒为间隔,求出y的151个点,绘出y及其导数的图形。

MATLAB代码及结果如下:dt=0.01;t=0:0.01:1.5;w=4*sqrt(3); %设定频率y=sqrt(3)/2*exp(-4*t).*sin(w*t+pi/3);Dy=diff(y)/dt; %求导for i =1:length(t)-1t1(i)=t(i);endsubplot(2,1,1);plot(t,y);xlabel('时间t');ylabel('y(t)');gridsubplot(2,1,2);plot(t1,Dy);xlabel('时间t');ylabel('Dy(t)'' ');grid绘制结果如下图:练习3做出以参数方程x=cos t,y=sin t,t∈[0,2π]表示的平面曲线(单位圆)。

matlab数学实验报告

matlab数学实验报告

数学实验报告院系:西安交通大学软件学院软件工程系;班级:软件11;项目:MATLAB软件与基础数学实验;指导教师:张芳;日期:2012年6月11日星期一;学生姓名:贺翔;学号:2111601006;题目【一】在同一坐标系下画出函数y=sin x, y=cos x, y=0.2e0.1x sin (0.5x)和y=0.2e0.1x cos(0.5x)在区间[0,2pi]的曲线图,并对该图进行修饰。

(1)解题思路:首先按步长赋值法生成x向量,则生成相应函数值向量;然后运用plot命令,再添加网格或者其他修饰等。

(2)算法设计:x=0:0.07*pi:2*pi;y1=sin(x);y2=cos(x);y3=0.2.*exp(0.1.*x).*sin(0.5.*x);y4=0.2.*exp(0.1.*x).*cos(0.5.*x);plot(x,y1,'r--',x,y2,'k:',x,y3,'g.',x,y4,'b+','linewidth',3,'markersize',5); grid;xlabel('variable\it{x}')ylabel('variable\it{y}')title('four cruves')text(2.6,0.7,'sin(x)')text(3.5,0.3,'0.2.*exp(0.1.*x).*sin(0.5.*x)')text(5.8,0.8,'cos(x)')text(4.1,-0.4,'0.2.*exp(0.1.*x).*cos(0.5.*x)')(3)结果截图:题目【二】某农夫有一个半径10m的圆形牛栏,长满了草。

他要将一头牛拴在牛栏边界的栏桩上,但只让牛吃到一半草,问栓牛鼻的绳子应为多长?(1)解题思路:设R 为牛栏的半径,而栓牛绳长为r; 则根据数学公式:S=12R 2·4arcsin(r 2R )+ 12r 2·2arccos(r 2R )-2×12r √R 2−r 24;以及令S=12πR 2,即可解出方程的解。

利用Matlab绘制正弦信号频谱图并做相关分析

利用Matlab绘制正弦信号频谱图并做相关分析

利用Matlab绘制正弦信号的频谱图并做相关分析一、作业要求:1、信号可变(信号的赋值、相位、频率可变);2、采样频率fs可变;3、加各种不同的窗函数并分析其影响;4、频谱校正;5、频谱细化。

二、采用matlab编写如下程序:clear;clf;fs=100;N=1024; %采样频率和数据点数A=20;B=30;C=0.38;n=0:N-1;t=n/fs; %时间序列x=A*sin(2*pi*B*t+C); %信号y=fft(x,N); %对信号进行傅里叶变换yy=abs(y); %求得傅里叶变换后的振幅yy=yy*2/N; %幅值处理f=n*fs/N; %频率序列subplot(3,3,1),plot(f,yy); %绘出随频率变化的振幅xlabel('频率/\itHz');ylabel('振幅');title('图1:fs=100,N=1024');grid on;%两种信号叠加,x=A*sin(2*pi*B*t+C)+2*A*sin(2*pi*1.5*B*t+2.5*C); %信号y=fft(x,N); %对信号进行傅里叶变换yy=abs(y); %求得傅里叶变换后的振幅yy=yy*2/N; %幅值处理f=n*fs/N; %频率序列subplot(3,3,2),plot(f,yy); %绘出随频率变化的振幅xlabel('频率/\itHz');ylabel('振幅');title('图2:fs=100,N=1024,两种信号叠加');grid on;%加噪声之后的图像x=A*sin(2*pi*B*t+C)+28*randn(size(t));y=fft(x,N);yy=abs(y);yy=yy*2/N; %幅值处理subplot(3,3,3),plot(f(1:N/2.56),yy(1:N/2.56));xlabel('频率/\itHz');ylabel('振幅');title('图3:fs=100,N=1024混入噪声');grid on;%改变采样点数N=128N=128;n=0:N-1;t=n/fs; %时间序列x=A*sin(2*pi*B*t+C); %信号y=fft(x,N); %对信号进行傅里叶变换yy=abs(y); %求得傅里叶变换后的振幅yy=yy*2/N; %幅值处理f=n*fs/N; %频率序列subplot(3,3,4),plot(f(1:N/2.56),yy(1:N/2.56)); %绘出随频率变化的振幅xlabel('频率/\itHz');ylabel('振幅');title('图4:fs=100,N=128');grid on;%改变采样频率为200Hz时的频谱fs=400;N=1024;n=0:N-1;t=n/fs;x=A*sin(2*pi*B*t+C); %信号y=fft(x,N); %对信号进行快速傅里叶变换yy=abs(y); %求取傅里叶变换的振幅yy=yy*2/N; %幅值处理f=n*fs/N;subplot(3,3,5),plot(f(1:N/2.56),yy(1:N/2.56)); %绘出随频率变化的振幅xlabel('频率/\itHz');ylabel('振幅');title('图5:fs=400,N=1024');grid on;%加三角窗函数fs=100;N=1024; %采样频率和数据点数n=0:N-1;t=n/fs; %时间序列x=A*sin(2*pi*B*t+C); %信号window=triang(N);%生成三角窗函数x=x.*window';%加窗函数y=fft(x,N); %对信号进行傅里叶变换yy=abs(y); %求得傅里叶变换后的振幅yy=yy*2/N; %幅值处理f=n*fs/N; %频率序列subplot(3,3,6),plot(f(1:N/2.56),2*yy(1:N/2.56)); %绘出随频率变化的振幅xlabel('频率/\itHz');ylabel('振幅');title('图6:fs=100,N=1024,加三角窗函数');grid on;%加海明窗函数后的频谱fs=100;N=1024;n=0:N-1;t=n/fs;x=A*sin(2*pi*B*t+C); %信号window=hamming(N);%生成海明窗函数x=x.*window';%加窗函数y=fft(x,N); %对信号进行快速傅里叶变换yy=abs(y); %求取傅里叶变换的振幅yy=yy*2/N; %幅值处理f=n*fs/N;subplot(3,3,7),plot(f(1:N/2.56),1.852*yy(1:N/2.56)); %绘出随频率变化的振幅xlabel('频率/\itHz');ylabel('振幅');title('图7:fs=100,N=1024,加海明窗函数');grid on;%加汉宁窗函数后的频谱fs=100;N=1024;n=0:N-1;t=n/fs;x=A*sin(2*pi*B*t+C); %信号window=hanning(N);%生成汉宁窗函数x=x.*window';%加窗函数y=fft(x,N); %对信号进行快速傅里叶变换yy=abs(y); %求取傅里叶变换的振幅yy=yy*2/N; %幅值处理f=n*fs/N;subplot(3,3,8),plot(f(1:N/2.56),2*yy(1:N/2.56)); %绘出随频率变化的振幅xlabel('频率/\itHz');ylabel('振幅');title('图8:fs=100,N=1024,加汉宁窗函数');grid on;三、运行结果如下:四、分析与结论:1)从所做图像可以看出,信号的幅值均小于真实值,说明在截断信号时存在泄露。

利用Matlab绘制正弦信号的频谱图并做相关分析

利用Matlab绘制正弦信号的频谱图并做相关分析

利用Matlab绘制正弦信号的频谱图并做相关分析一、作业要求:1、信号可变(信号的赋值、相位、频率可变);2、采样频率fs可变;3、加各种不同的窗函数并分析其影响;4、频谱校正;5、频谱细化。

二、采用matlab编写如下程序:clear;clf;fs=100;N=1024; %采样频率和数据点数A=20;B=30;C=0.38;n=0:N-1;t=n/fs; %时间序列x=A*sin(2*pi*B*t+C); %信号y=fft(x,N); %对信号进行傅里叶变换yy=abs(y); %求得傅里叶变换后的振幅yy=yy*2/N; %幅值处理f=n*fs/N; %频率序列subplot(3,3,1),plot(f,yy); %绘出随频率变化的振幅xlabel('频率/\itHz');ylabel('振幅');title('图1:fs=100,N=1024');grid on;%两种信号叠加,x=A*sin(2*pi*B*t+C)+2*A*sin(2*pi*1.5*B*t+2.5*C); %信号y=fft(x,N); %对信号进行傅里叶变换yy=abs(y); %求得傅里叶变换后的振幅yy=yy*2/N; %幅值处理f=n*fs/N; %频率序列subplot(3,3,2),plot(f,yy); %绘出随频率变化的振幅xlabel('频率/\itHz');ylabel('振幅');title('图2:fs=100,N=1024,两种信号叠加');grid on;%加噪声之后的图像x=A*sin(2*pi*B*t+C)+28*randn(size(t));y=fft(x,N);yy=abs(y);yy=yy*2/N; %幅值处理subplot(3,3,3),plot(f(1:N/2.56),yy(1:N/2.56));xlabel('频率/\itHz');ylabel('振幅');title('图3:fs=100,N=1024混入噪声');grid on;%改变采样点数N=128N=128;n=0:N-1;t=n/fs; %时间序列x=A*sin(2*pi*B*t+C); %信号y=fft(x,N); %对信号进行傅里叶变换yy=abs(y); %求得傅里叶变换后的振幅yy=yy*2/N; %幅值处理f=n*fs/N; %频率序列subplot(3,3,4),plot(f(1:N/2.56),yy(1:N/2.56)); %绘出随频率变化的振幅xlabel('频率/\itHz');ylabel('振幅');title('图4:fs=100,N=128');grid on;%改变采样频率为200Hz时的频谱fs=400;N=1024;n=0:N-1;t=n/fs;x=A*sin(2*pi*B*t+C); %信号y=fft(x,N); %对信号进行快速傅里叶变换yy=abs(y); %求取傅里叶变换的振幅yy=yy*2/N; %幅值处理f=n*fs/N;subplot(3,3,5),plot(f(1:N/2.56),yy(1:N/2.56)); %绘出随频率变化的振幅xlabel('频率/\itHz');ylabel('振幅');title('图5:fs=400,N=1024');grid on;%加三角窗函数fs=100;N=1024; %采样频率和数据点数n=0:N-1;t=n/fs; %时间序列x=A*sin(2*pi*B*t+C); %信号window=triang(N);%生成三角窗函数x=x.*window';%加窗函数y=fft(x,N); %对信号进行傅里叶变换yy=abs(y); %求得傅里叶变换后的振幅yy=yy*2/N; %幅值处理f=n*fs/N; %频率序列subplot(3,3,6),plot(f(1:N/2.56),2*yy(1:N/2.56)); %绘出随频率变化的振幅xlabel('频率/\itHz');ylabel('振幅');title('图6:fs=100,N=1024,加三角窗函数');grid on;%加海明窗函数后的频谱fs=100;N=1024;n=0:N-1;t=n/fs;x=A*sin(2*pi*B*t+C); %信号window=hamming(N);%生成海明窗函数x=x.*window';%加窗函数y=fft(x,N); %对信号进行快速傅里叶变换yy=abs(y); %求取傅里叶变换的振幅yy=yy*2/N; %幅值处理f=n*fs/N;subplot(3,3,7),plot(f(1:N/2.56),1.852*yy(1:N/2.56)); %绘出随频率变化的振幅xlabel('频率/\itHz');ylabel('振幅');title('图7:fs=100,N=1024,加海明窗函数');grid on;%加汉宁窗函数后的频谱fs=100;N=1024;n=0:N-1;t=n/fs;x=A*sin(2*pi*B*t+C); %信号window=hanning(N);%生成汉宁窗函数x=x.*window';%加窗函数y=fft(x,N); %对信号进行快速傅里叶变换yy=abs(y); %求取傅里叶变换的振幅yy=yy*2/N; %幅值处理f=n*fs/N;subplot(3,3,8),plot(f(1:N/2.56),2*yy(1:N/2.56)); %绘出随频率变化的振幅xlabel('频率/\itHz');ylabel('振幅');title('图8:fs=100,N=1024,加汉宁窗函数');grid on;三、运行结果如下:四、分析与结论:1)从所做图像可以看出,信号的幅值均小于真实值,说明在截断信号时存在泄露。

matlab正弦函数

matlab正弦函数

matlab正弦函数Matlab正弦函数是工程师和学者在数学、物理、工程领域中使用Matlab计算机软件编程应用最重要的基础函数之一,它主要用于解决圆锥变换,平面定向,坐标转换,代数概念解析,特征分析,轨迹计算,信号处理,模型拟合等方面的问题。

Matlab正弦函数是定义在正弦曲线上的一个函数,其表达式为y = sin(x),其中x表示弧度,即用来表示单位圆上某点到圆心的线段与x轴正半轴的夹角大小。

y值表示弧度值x相对于圆心的线段,其长度为1。

由于sin(x)函数涉及三维曲线常见的正弦曲线,因此它通常用于描述曲线的各个参数,这些参数主要包括周期、振幅、相移、平均值和中间值。

正弦函数的应用非常广泛,比如,在介绍三角函数时,我们可以用正弦函数来描述三角函数的参数,这样便可以很方便地计算出三角函数的值。

另外,正弦函数也可以用来描述各种微分方程的解,如伯努利微分方程、波动方程等。

正弦函数也常用于各种信号处理的软件程序,它可以提供精确的参数分析,以便更准确地定位出特定信号的部分,这些部分就可以作为分析或处理信号的依据。

正弦函数在数值分析、有限元与有限差分分析等物理仿真中也有广泛的应用,它可以处理复杂的物理问题,从而使我们能够更容易地理解计算机程序的工作原理。

此外,Matlab正弦函数还可以用于统计分析与模型拟合,它可以建立合理的模型,分析数据,并能够以良好的准确度应用于实际中的问题。

例如,它可以用来分析人口统计数据,估测投资回报,建立温度预测模型等。

总之,Matlab正弦函数是一个非常有用的函数,它能够处理复杂的数学模型,从而方便我们进行计算机编程应用程序。

它被广泛应用于数学、物理和工程等领域,用来处理各种复杂的数学问题,使得计算机程序的编程工作更加顺利、高效。

MATLAB实验报告(绘图)

MATLAB实验报告(绘图)

MATLAB实验报告(绘图)MATLAB实验报告——MATLAB绘图学号:学院:班级:姓名:1、绘制y = e x 3sin 3x (x ∈ 0,4π ) 的图像,要求用蓝色的星号画图;并且画出其包络线y = ±e x 3 的图像,用红色的点划线画图. MATLAB Code: x = 0:pi/50:4*pi;y = exp(x/3).*sin(3*x);z(1,:) = exp(x/3);z(2,:) = -exp(x/3);plot(x,y,'b*',x,z(1,:),'r-.',x,z(2,:),'r-.');2、用fplot 和ezplot 命令绘出函数y = e2t 3sin ?(1+2t ) 在区间[1,10]上的图像.MATLAB Code:subplot(1,2,1),fplot(@(t)exp(-2*t/3).*sin(1+2*t),[1,10]); title('fplot');xlabel('t');subplot(1,2,2),ezplot('exp(-2*t/3).*sin(1+2*t)',[1,10]); title('ezplot');3、在同一图形窗口画三个字图,要求使用指令gtext,axis,legend,title,xlabel,ylabel:(1)y=xcosx,x∈(?π,π)(2) y=xtan1xsin x3,x∈(π,4π)(3) y=e 1sin x,x∈[1,8]MATLAB Code:subplot(2,2,1),x1 = -pi:pi/50:pi;y1 = x1.*cos(x1);plot(x1,y1,'r'),axisequal,legend('x*cosx'),title('f1'),xlabel('x'),ylabel('y'); subplot(2,2,2),x2 = pi:pi/50:4*pi;y2 = x2.*tan(1./x2).*sin(x2.^3);plot(x2,y2,'b'),axisequal,legend('x*tan(1/x)*sin(x^3)'),title('f2'),xlabel('x') ,ylabel ('y');subplot(2,2,3:4),x3 = 1:0.01:8;y3 = exp(1./x3).*sin(x3);plot(x3,y3,'g'),legend('exp(1/x)*sinx'),title('f3'),xlabel( '时间'),ylabel('位移');gtext('x*cosx');4、使用合适的单轴对数坐标函数绘制函数y=e x2的图像(其中1≤x≤10)MATLAB Code:x = 1:0.01:10;y = exp(x.^2);semilogy(x,y,'b-.');xlabel('x'),ylabel('y');5、绘制圆锥螺线的图像并添加各种标注,圆锥螺线的参数方程为:x =tcos πt y =tsin π6t z =2t(0≤t ≤20π) MATLAB Code:t = 0:pi/50:20*pi;x = t.*cos(pi/6*t);y = t.*sin(pi/6*t);z = 2*t;plot3(x,y,z,'b'),grid on;title('圆锥螺线');xlabel('x = tcost');ylabel('y = tsint');zlabel('z = 2t');6、在同一个图形窗口画半径为1的球面、柱面x2+y2=1以及极sin4t,t∈[0,2π].坐标图形ρ=12MATLAB Code:subplot(1,2,1),sphere(100);hold on;cylinder;hold on;t = 0:pi/50:2*pi;r = 0.5*sin(4*t);subplot(1,2,2);polar(t,r);title('r = 0.5*sin4t');7、用mesh与surf命令绘制三维曲面z=x2+3y2的图像,并使用不同的着色效果及光照效果.MATLAB Code:t = -3:0.1:3;[x,y] = meshgrid(t);z = x.^2+3*y.^2;subplot(1,2,1),mesh(x,y,z),title('网格z = x^2+3y^2'),shading flat;light('position',[10,10,2]);subplot(1,2,2),surf(x,y,z),title('表面z = x^2+3y^2');shading interp; light('position',[5,-4,-2]);8、绘制由函数x 29+y216+z24=1形成的立体图,并通过改变观测点获得该图形在各个坐标平面的投影.MATLAB Code:t = 0:pi/50:2*pi;[x,y] = meshgrid(t,t);X = 3*sin(y).*cos(x);Y = 4*sin(y).*sin(x);Z = 2*cos(y); subplot(2,2,1);mesh(X,Y,Z);title('x^2/9+y^2/16+z^2/4=1');subplot(2,2,2);mesh(X,Y,Z);view(90,0);title('x^2/9+y^2/16+z^2/4=1在yoz面投影'); subplot(2,2,3);mesh(X,Y,Z);view(0,0);title('x^2/9+y^2/16+z^2/4=1在xoz面投影'); subplot(2,2,4);mesh(X,Y,Z);view(0,90);title('x^2/9+y^2/16+z^2/4=1在xoy面投影');9、画三维曲面z=5?x2?y2?2≤x,y≤2与平面z=3的交线. MATLAB Code:t = -2:0.01:2;[x,y] = meshgrid(t);z1=(5-x.^2-y.^2);z2 = 3*ones(length(t));r0 = (abs(z1-z2)<=0.03);zz = r0.*z2;yy = r0.*y;xx = r0.*x;plot3(xx(r0~=0),yy(r0~=0),zz(r0~=0),'b.');xlabel('x'),ylabel('y'),zlabel('z');title('z = 5-x^2-y^2 与 z = 3的交线');10(附加)、利用迭代复函数z n+1=z n2+c,c∈C构造Mandelbrot集. Mandelbrot集定义为:M: =c∈C| |c|≤2,|c2+c|≤2,|(c2+c)2+c|≤2…….MATLAB Code:%最大迭代数网格细度%本次作图取maxloopNum = 100,Eps = 0.05function drawMandelbrot(maxloopNum,Eps)t = -2:Eps:2;[x,y] = meshgrid(t);z = x+i*y;isMandel = zeros(length(t));for j = 1:length(z)for k = 1:length(z)iter = 0;current = z(j,k);temp = current;while abs(temp)<=2 && iter<maxloopnum< p="">temp = temp^2+current;iter = iter + 1;endif iter == maxloopNumisMandel(j,k) = 1;endendendplot(z.*isMandel,'.');axis equal;title('MandelBrot set');legend('loop = 100,eps = 0.05','Location','northwest'); xlabel('x'),ylabel('iy');end</maxloopnum<>。

利用Matlab绘制正弦信号的频谱图并做相关分析

利用Matlab绘制正弦信号的频谱图并做相关分析

利用Matlab绘制正弦信号的频谱图并做相关分析一、作业要求:1、信号可变(信号的赋值、相位、频率可变);2、采样频率fs可变;3、加各种不同的窗函数并分析其影响;4、频谱校正;5、频谱细化。

二、采用matlab编写如下程序:clear;clf;fs=100;N=1024; %采样频率和数据点数A=20;B=30;C=0.38;n=0:N-1;t=n/fs; %时间序列x=A*sin(2*pi*B*t+C); %信号y=fft(x,N); %对信号进行傅里叶变换yy=abs(y); %求得傅里叶变换后的振幅yy=yy*2/N; %幅值处理f=n*fs/N; %频率序列subplot(3,3,1),plot(f,yy); %绘出随频率变化的振幅xlabel('频率/\itHz');ylabel('振幅');title('图1:fs=100,N=1024');grid on;%两种信号叠加,x=A*sin(2*pi*B*t+C)+2*A*sin(2*pi*1.5*B*t+2.5*C); %信号y=fft(x,N); %对信号进行傅里叶变换yy=abs(y); %求得傅里叶变换后的振幅yy=yy*2/N; %幅值处理f=n*fs/N; %频率序列subplot(3,3,2),plot(f,yy); %绘出随频率变化的振幅xlabel('频率/\itHz');ylabel('振幅');title('图2:fs=100,N=1024,两种信号叠加');grid on;%加噪声之后的图像x=A*sin(2*pi*B*t+C)+28*randn(size(t));y=fft(x,N);yy=abs(y);yy=yy*2/N; %幅值处理subplot(3,3,3),plot(f(1:N/2.56),yy(1:N/2.56));xlabel('频率/\itHz');ylabel('振幅');title('图3:fs=100,N=1024混入噪声');grid on;%改变采样点数N=128N=128;n=0:N-1;t=n/fs; %时间序列x=A*sin(2*pi*B*t+C); %信号y=fft(x,N); %对信号进行傅里叶变换yy=abs(y); %求得傅里叶变换后的振幅yy=yy*2/N; %幅值处理f=n*fs/N; %频率序列subplot(3,3,4),plot(f(1:N/2.56),yy(1:N/2.56)); %绘出随频率变化的振幅xlabel('频率/\itHz');ylabel('振幅');title('图4:fs=100,N=128');grid on;%改变采样频率为200Hz时的频谱fs=400;N=1024;n=0:N-1;t=n/fs;x=A*sin(2*pi*B*t+C); %信号y=fft(x,N); %对信号进行快速傅里叶变换yy=abs(y); %求取傅里叶变换的振幅yy=yy*2/N; %幅值处理f=n*fs/N;subplot(3,3,5),plot(f(1:N/2.56),yy(1:N/2.56)); %绘出随频率变化的振幅xlabel('频率/\itHz');ylabel('振幅');title('图5:fs=400,N=1024');grid on;%加三角窗函数fs=100;N=1024; %采样频率和数据点数n=0:N-1;t=n/fs; %时间序列x=A*sin(2*pi*B*t+C); %信号window=triang(N);%生成三角窗函数x=x.*window';%加窗函数y=fft(x,N); %对信号进行傅里叶变换yy=abs(y); %求得傅里叶变换后的振幅yy=yy*2/N; %幅值处理f=n*fs/N; %频率序列subplot(3,3,6),plot(f(1:N/2.56),2*yy(1:N/2.56)); %绘出随频率变化的振幅xlabel('频率/\itHz');ylabel('振幅');title('图6:fs=100,N=1024,加三角窗函数');grid on;%加海明窗函数后的频谱fs=100;N=1024;n=0:N-1;t=n/fs;x=A*sin(2*pi*B*t+C); %信号window=hamming(N);%生成海明窗函数x=x.*window';%加窗函数y=fft(x,N); %对信号进行快速傅里叶变换yy=abs(y); %求取傅里叶变换的振幅yy=yy*2/N; %幅值处理f=n*fs/N;subplot(3,3,7),plot(f(1:N/2.56),1.852*yy(1:N/2.56)); %绘出随频率变化的振幅xlabel('频率/\itHz');ylabel('振幅');title('图7:fs=100,N=1024,加海明窗函数');grid on;%加汉宁窗函数后的频谱fs=100;N=1024;n=0:N-1;t=n/fs;x=A*sin(2*pi*B*t+C); %信号window=hanning(N);%生成汉宁窗函数x=x.*window';%加窗函数y=fft(x,N); %对信号进行快速傅里叶变换yy=abs(y); %求取傅里叶变换的振幅yy=yy*2/N; %幅值处理f=n*fs/N;subplot(3,3,8),plot(f(1:N/2.56),2*yy(1:N/2.56)); %绘出随频率变化的振幅xlabel('频率/\itHz');ylabel('振幅');title('图8:fs=100,N=1024,加汉宁窗函数');grid on;三、运行结果如下:四、分析与结论:1)从所做图像可以看出,信号的幅值均小于真实值,说明在截断信号时存在泄露。

matlab实验报告

matlab实验报告

matlab实验报告实验报告:Matlab实验分析1. 实验目的本实验旨在通过Matlab软件完成一系列数值计算和数据分析的任务,包括绘制曲线、解方程、矩阵运算等,以加深对Matlab软件的理解和掌握。

2. 实验内容2.1 绘制函数曲线首先,我们通过在Matlab中输入函数的表达式来绘制函数曲线。

例如,我们可以输入y = sin(x)来绘制正弦函数的曲线。

另外,我们还可以设置曲线的颜色、线型和坐标轴范围等。

2.2 解方程接下来,我们使用Matlab来解方程。

对于一元方程,我们可以使用solve函数来求出方程的解。

例如,我们输入syms x; solve(x^2 - 2*x - 8)来解方程x^2 - 2x - 8 = 0。

而对于多元方程组,我们可以使用solve函数的向量输入形式来求解。

例如,我们输入syms x y; solve(x^2 + y^2 - 1, x - y - 1)来求解方程组x^2 + y^2 - 1 = 0和x - y - 1 = 0的解。

2.3 矩阵运算Matlab也可以进行矩阵运算。

我们可以使用矩阵相乘、相加和取逆等运算。

例如,我们可以输入A = [1 2; 3 4]和B = [5 6;7 8]来定义两个矩阵,然后使用A * B来计算它们的乘积。

3. 实验结果与分析在本实验中,我们成功完成了绘制函数曲线、解方程和矩阵运算等任务。

通过Matlab软件,我们可以快速、准确地进行数值计算和数据分析。

使用Matlab的高级函数和工具箱,我们可以更方便地处理复杂的数值计算和数据分析问题。

4. 实验总结通过本次实验,我们进一步加深了对Matlab软件的理解和掌握。

Matlab提供了丰富的函数库和工具箱,适用于各种不同的数值计算和数据分析任务。

在日常科研和工程实践中,Matlab是一个非常强大和方便的工具,可以帮助我们更高效地完成任务。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
绘制绘制sin曲线有很多种工具,各种工具的适应的情况有所不同。有的工具绘制起来比较繁琐,所达到的结果也不尽如人意,所以,就需要寻找一种比较容易,操作及效果比较好的工具来完成sin曲线的绘制,在这里,采用MATLAB来绘制sin曲线。
试验步骤(根据问题分析及试验目的所计划的试验步骤):
(1)设计实验程序,程序如下:
(2)试运行实验程序,逐步修改程序。
试验过程(含详细试验步骤、程序清单及异常情况记录等)
(1)将编写的程序在软件中试运行;
(2)逐步修改指令,排除出现的各种异常情况;
(3)运行结果如下:
结果分析:
运行的结果能达到实验的目的和要求,通过在同一幅图上的(-pi,pi)区间,可绘制出用0.5的间隔的sinx的红色曲线,用0.1的间隔的sin(x+0.5)的绿色曲线,用0.01的间隔的sin(x+1)的蓝色曲线,并给图的x和y轴添加标注。
x1=-pi:0.5:pi
y1=sin(x1);
x2=-pi:0.1:pi
y2=sin(x2+0.5);
x3=-pi:0.01:pi
y3=sin(x3+1);
plot(x1,y1,'r',x2,y2,'g',x3,y3,'b')
xlabel('x1,x2,x3')
ylabel('sin(x1),sin(x2+0.5),sin(x3+1)')
有的工具绘制起来比较繁琐所达到的结果也不尽如人意所以就需要寻找一种比较容易操作及效果比较好的工具来完成sin曲线的绘实验报告
班级
****
学号
****
姓名
****
成绩
试验内容
用MATLAB绘制sin曲线
试验
类别
自选试验
试验
时间
2011/6/3
试验问题:
在同一幅图上的(-pi,pi)区间,用0.5的间隔绘制sinx的红色曲线,用0.1的间隔绘制sin(x+0.5)的绿色曲线,用0.01的间隔绘制sin(x+1)的蓝色曲线,并给图的x和y轴添加标注。
试验目的:
1、掌握MATLAB的基本绘图函数。
2、掌握绘图函数的用法、简单图形标注、简单颜色设定。
问题分析(可含问题的背景、相关知识、数学建模与求解的方法等):
总结体会:
这次实验主要是学习matlab软件的绘图功能。matlab软件还有丰富的图形修饰功能,如改变线条的形式和颜色;除此之外其还可以以多种形式如在一个图形中显示多个函数图形,一个figure中显示多个坐标系,还有一个程序中就可以用多个figure一起来表示不同的函数。总的而言matlab是一款十分有用的绘图软件。实验中遇到的困难就是指令比较多,格式刚刚开始接触觉得陌生,相信多做练习一定能掌握这个软件的使用要领。
相关文档
最新文档