一. 用C画正弦波形
用TCC编译程序,用gnupolt画出图形,代码如下:
#include<stdio.h>
#include<math.h>
#define pi 3.14
int main()
{
double t,y;
for (int i=0; i<200; i++)
{
t=i/200.0; //采样频率为正弦信号频率的20倍
y=sin(2*pi*10*t);//设定频率为10Hz
printf("%e\t%e\n",t,y);
}
}
编译,运行结果:
用gnuplot画图,命令如下
plot "<wave.exe" w l
二. 用MATLAB画出正弦波形
代码如下:
%% 清内存 关闭窗口 准备工作
clear
close all
clc
%% signal
% 三要素
A=1; %amplify
f=10; %Hz
w=2*pi*f; %rad/s
p=0; %rad
%采样
T=1; %s %观测时间
fs=200*f; %Hz %采样频率
d=1/fs; %s %采样间隔
t=0:d:T; %离散时间t
s1=A*sin(w*t+p); %正弦信号
figure(1)
plot(t,s1);
xlabel('时间/s');
ylabel('幅度');
运行结果:
三.比较两种结果
比较二图,上面为MATLAB所画,下面为C所画,发现如出一辙。
转载自原文链接, 如需删除请联系管理员。
原文链接:画出正弦波形(分别用C和MATLAB),转载请注明来源!