cammer534 发表于 2008-9-29 22:05

这个三维视图怎么画不出来?

clear all; close all; clc;
fs=100; N=1024; t=(0:N-1)/fs;
y=exp(j*pi*(0.5*t.^2))+randn(size(t)); f1=(-N/2:N/2-1)*fs/N;
figure(1); plot(f1,y);
faf = frft(y,1); X1=abs(faf); f=(-N/2:N/2-1)*fs/N;
figure(2); hold on; plot(f(1:N),X1(1:N),'b');
faf1 = frft(y,1.033); X=abs(faf1); f=(-N/2:N/2-1)*fs/N;
plot(f(1:N),X(1:N),'r'); xlabel('采样点'); ylabel('幅值'); title('FRFT'); grid on;
figure(3); =meshgrid(f,t); mesh(F,T,X); grid on;

出错:Warning: Matrix dimensions must agree, not rendering mesh。
我是菜鸟,希望大侠指点下,我程序里的错误,谢谢。

[ 本帖最后由 ChaChing 于 2009-7-11 19:12 编辑 ]

ch_j1985 发表于 2008-9-29 22:43

回复 楼主 cammer534 的帖子

请问错误具体出现在什么地方?

sogooda 发表于 2008-9-30 09:25

Warning: Matrix dimensions must agree

mesh的三个输入变量维数需要满足一定的关系,你的这个不满足。建议参照mesh的帮助检查一下你要绘图的变量。

cammer534 发表于 2008-9-30 10:23

回复 沙发 ch_j1985 的帖子

错误显示的就是Warning: Matrix dimensions must agree, not rendering mesh。其他没有。就是没图出来

[ 本帖最后由 cammer534 于 2008-9-30 10:26 编辑 ]

cammer534 发表于 2008-9-30 10:28

回复 板凳 sogooda 的帖子

sogooda,谢谢你的指导。我认为也是你说的那里有错误,帮助我也看了,就是自己解决不了。
FRFT是分数阶傅立叶变换,类似FFT。

sigma665 发表于 2008-9-30 20:22

=meshgrid(f,t);
f t 是具体是什么,请贴出来

blueking1985 发表于 2008-10-1 10:23

回复

个人觉得是你画图时对应变量维数不一致的问题:
      建议你在workspace栏里查看一下f1、y的维数是否相同,如果不同,则无法画出图来;
      其他plot命令中的变量维数也检查一下。
仅为个人建议。

cammer534 发表于 2008-10-1 10:48

回复 7楼 blueking1985 的帖子

谢谢你了,检查出来了,是X维数不对,F, T都是1024*1024。X是1024*1。但是不知道,怎么把X也调成1024*1024。X是frft(分数阶傅立叶变换)的幅值。

cammer534 发表于 2008-10-1 10:52

感觉我画的不对,主要是因为mesh(X,Y,Z)中前2个参数去错了。谢谢小西了
(Nanjing University of Aeronautics &Astronautics??)

ch_j1985 发表于 2008-10-1 13:59

回复 8楼 cammer534 的帖子

meshgrid试试看

sigma665 发表于 2008-10-1 15:01

原帖由 cammer534 于 2008-10-1 10:48 发表 http://www.chinavib.com/forum/images/common/back.gif
谢谢你了,检查出来了,是X维数不对,F, T都是1024*1024。X是1024*1。但是不知道,怎么把X也调成1024*1024。X是frft(分数阶傅立叶变换)的幅值。

已经知道 f t x
用griddata可以
页: [1]
查看完整版本: 这个三维视图怎么画不出来?