clf;
t=-1:002:1;
xa=5sin(2pi40t)+18sin(4pi40t)+08sin(5pi40t);
subplot(2,1,1)
plot(t,xa);grid
xlabel('时间, msec');ylabel('幅值');
title('连续时间信号 x_{a}(t)');
axis([0 1 -12 12])
subplot(2,1,2);
T = 012;
n = 0:T:1;
xs = 5sin(2pi40n)+18sin(4pi40n)+08sin(5pi40n);
k = 0:length(n)-1;
stem(k,xs);grid;
xlabel('时间,msec');ylabel('幅值');
title('离散时间信号 x[n]');
axis([0 (length(n)-1) -10 10])
以上的回答都太复杂了,其中那个自己编MATLAB程序的,我看了看分布并不理想。建议楼主直接调用MATLAB里的lhsdesign函数进行抽样。以下是我举得一个例子:
%用lhsdesign(20,2)来生成20行2列的的矩阵,2列分别20个0~1之间的均匀样本点,你试试下面代码:
A=lhsdesign(20,2);
x1=A(:,1)100;
x2=A(:,2)110+20;
scatter(x1,x2,50,'filled')
matlab一样的程序不一样的结果是正常的,因为它是属于抽样结果很容易出现不一样。
MATLAB相同的代码,运行结果不同
matlab
在高于四毫米的采样间隔是可以运行的
低于四毫米就报错
显示维度不匹配。
好像我把抽样点个数控制在2万个之内是可以运行的。
clear all;
clf;
N = 200; %采样数量
F = 1; %被采样信号频率1Hz
Ts = 01; %采样间隔
Fs = 1/Ts; %采样频率
T = NTs; %采样时长
n = 0:N-1; %时域采样序列(N个采样)
NP = floor( (1/F)/(Ts) ); %1个周期采样点数
%为了清楚显示波形,只画1个周期
nTs = nTs; %时域采样时间序列
f = sin(2pinTs); %时域采样,
subplot(211);
stem(nTs(1:NP),f(1:NP));
title(['采样信号,Ts=' num2str(Ts)]);
%下面是为了更好地显示出待采样信号的波形
Ts1 = 0001;
NP1 = floor( (1/F)/(Ts1) );
t1 = [0:NP1-1]Ts1;
f1 = sin(2pit1);
hold on;
plot(t1,f1,'r-');
hold off;
%下面开始用内插法重建信号
%采样信号: x(n)=f
%采样间隔: T=Ts
%原理(内插法): y(t)=Σx(n)sinc((t-nTs)/Ts)
t1 = 0; %开始时间
t2 = 1/F; %结束时间(取信号的1个周期)
Dt = Ts/2;
t=t1:Dt:t2;
fa = f sinc( Fs(ones(length(nTs),1)t - nTs'ones(1,length(t))) );
subplot(212);
plot(t,fa);
title('重建信号(内插法)');
去csdn找下,或者程序员联合开发网,csdn的博客也可以找,下载那可以找相关资料找找
>
以上就是关于用MATLAB仿真连续时间信号的抽样全部的内容,包括:用MATLAB仿真连续时间信号的抽样、400多万个数据想要用拉丁超立方采样,matlab程序怎么写、matlab一样的程序不一样的结果等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)