查看: 91|回复: 5|关注: 0

[已解决] 求大神告知问题出在哪,怎么解决。

[复制链接]

新手

7 麦片

财富积分


050


1

主题

3

帖子

0

最佳答案
syms t n T tao A
T=4;A=1;tao=1;
f=A*exp(-j*n*2*pi/T*t);
fn=int(f,t,-tao/2,tao/2)/T;   %计算傅里叶系数
fn=simplify(fn);         %简化
n=[-20:-1,eps,1:20];   %给定频谱的整数自变量,eps代表0
fn=subs(fn,n,'n');       %计算傅里叶系数对各个n的值
subplot(2,1,1),stem(n,fn,'filled');        %绘制频谱
line([-20 20],[0 0]);     
title('周期矩形脉冲的频谱');
subplot(2,1,2),stem(n,abs(fn),'filled');   
title('周期矩形脉冲的幅度谱');
axis([-20 20 0 0.3])
grid on;

内容就是将周期矩形脉冲信号,求出幅度谱。

捕获.PNG

入门

169 麦片

财富积分


50500


5

主题

122

帖子

10

最佳答案
  • 关注者: 6
发表于 2018-10-10 19:38:19 | 显示全部楼层
所以问题在哪呢?

新手

7 麦片

财富积分


050


1

主题

3

帖子

0

最佳答案
 楼主| 发表于 2018-10-10 19:48:49 | 显示全部楼层
subs说第二个变量,即第一个n要用常量。我用的是2017a

论坛优秀回答者

53

主题

1684

帖子

151

最佳答案
  • 关注者: 36
发表于 2018-10-10 19:59:01 | 显示全部楼层
n本来是符号变量,用n赋值了就变成double型了,自然subs执行不过去了,就算这修改完了subs完的变量也是符号型的,你后面程序应该也过不去

新手

7 麦片

财富积分


050


1

主题

3

帖子

0

最佳答案
 楼主| 发表于 2018-10-10 20:55:00 | 显示全部楼层
倔强的笨蛋 发表于 2018-10-10 19:59
n本来是符号变量,用n赋值了就变成double型了,自然subs执行不过去了,就算这修改完了subs完的变量也是符号 ...

怎么改比较好

论坛优秀回答者

53

主题

1684

帖子

151

最佳答案
  • 关注者: 36
发表于 2018-10-10 21:15:37 | 显示全部楼层 |此回复为最佳答案

看看是不是你想要的结果,按我说的调试应该就可以
syms t n  
T=4;A=1;tao=1;
f=A*exp(-1i*n*2*pi/T*t);
fn=int(f,t,-tao/2,tao/2)/T;   %计算傅里叶系数
fn=simplify(fn);         %简化
n1=[-20:-1,eps,1:20];   %给定频谱的整数自变量,eps代表0
fn=subs(fn,n,n1);       %计算傅里叶系数对各个n的值
fn = double(fn);      
subplot(2,1,1),stem(n1,fn,'filled');        %绘制频谱
line([-20 20],[0 0]);     
title('周期矩形脉冲的频谱');
subplot(2,1,2),stem(n1,abs(fn),'filled');   
title('周期矩形脉冲的幅度谱');
axis([-20 20 0 0.3])
grid on;
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /3 下一条

快速回复 返回顶部 返回列表