主题:求助:频率和曲线的关系,如何生成频率曲线
zhb1284
[专家分:0] 发布于 2007-09-12 10:34:00
各位大侠:
帮我看看,我有一组频率数据“428,490,472,524,521,558,500,516,482,453,393,384”,我看把它整理成一条曲线,X轴方向是时间(t),Y轴方向就是上面的值,今天安装了Matlab,不知道从哪里入手,阅读资料也没有找到答案呢?
哪位大侠能给我指点一二,万分感谢!
回复列表 (共8个回复)
沙发
tfm01 [专家分:50] 发布于 2007-09-12 13:08:00
y=[428,490,472,524,521,558,500,516,482,453,393,384];
x=[0 1 2 3 4 5 6 7 8 9 10 11 ];%y对应的x作标以0~11为例
plot(x,y)
板凳
zhb1284 [专家分:0] 发布于 2007-09-12 13:47:00
y=[428,490,472,524,521,558,500,516,482,453,393,384];
x = [0.00233645 0.00437726 0.00649591 0.00840431 0.0103237 0.0121158 0.0141158 0.0160538 0.0181285 0.0203360 0.0228805 0.0254847];
plot(x,y)
时间不是单纯的{1,2,3..],因为时间是有频率决定的,如428,该频率发送结束,下个频率发送的时间是1/428 = 0.00233645 ;
下一个频率为490,该频率发送结束的时间为(1/428 + 1/490) = 0.00437726 。
如果没个时间都这样做,很累,有没有把频率作为数组,X和Y由数组计算出来的方法,我今天刚装上Matlab,语法都不是很熟,楼上的朋友或者哪位大侠能帮个忙啊?
3 楼
steppenwolf [专家分:10] 发布于 2007-09-12 14:54:00
感觉楼主的意思是已知y,求x,而且是倒数关系。
这样行吗?
y=[428,490,472,524,521,558,500,516,482,453,393,384];
x=y.^-1;
plot(x,y)
4 楼
zhb1284 [专家分:0] 发布于 2007-09-12 15:29:00
y=[428,490,472,524,521,558,500,516,482,453,393,384];
x=y.^-1;
plot(x,y)
楼上的有点那个味道,还还差一点点,就是,X的值是累积成的,如:
x1 = 428.^-1
x2 = x1 + 490.^-1
x3 = x2 + 472.^-1
......
我不知道怎么表达啊?
5 楼
psj666 [专家分:10] 发布于 2007-09-12 15:37:00
y=[428,490,472,524,521,558,500,516,482,453,393,384];
y是一个12*1的矩阵,其元素分别为y[1],y[2]...y[12],即i=1...i=12
x[1]=1/y[1];
x[2]=x[1]+1/y[2];
...
这样就设一个循环
for i=1:12
x[0]=0;
x[i]=x[i-1]+1/y[i];
end
x1=[x[1],x[2],...x[12]]
plot(x1,y)
你可以试一下
6 楼
zhb1284 [专家分:0] 发布于 2007-09-13 08:21:00
楼上的朋友,不行啊,
>> y=[428,490,472,524,521,558,500,516,482,453,393,384];
for i=1:12
x[0]=0;
x[i]=x[i-1]+1/y[i];
end
x1=[x[1],x[2],x[3],x[4],x[5],x[6],x[7],x[8],x[9],x[10],x[11],x[12]]
plot(x1,y)
??? x[0]=0;
|
Error: Missing operator, comma, or semicolon.
我改了几种方式,但对Matlab的语法还没有理解,始终不行!
7 楼
usfca2004 [专家分:40] 发布于 2007-09-13 11:28:00
try the followings:
x=zeors(1,12);
x(1,1)=1/y(1);
i=1;
while i<12
x(1,i+1)=x(1,1+i)+1/y(i+1);
i=i+1;
end
8 楼
zhb1284 [专家分:0] 发布于 2007-09-13 15:09:00
我编写了一个VC程序,根据数据“428,490,472,524,521,558,500,516,482,453,393,384......”直接生成文件数据,麻烦点,但比较起来还是省时间。
y=[428,490,472,524,521,558,500,516,482,453,393,384];
x = [0.00233645 0.00437726 0.00649591 0.00840431 0.0103237 0.0121158 0.0141158 0.0160538 0.0181285 0.0203360 0.0228805 0.0254847];
plot(x,y)
我来回复