这个三维视图怎么画不出来?
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 编辑 ]
回复 楼主 cammer534 的帖子
请问错误具体出现在什么地方? Warning: Matrix dimensions must agreemesh的三个输入变量维数需要满足一定的关系,你的这个不满足。建议参照mesh的帮助检查一下你要绘图的变量。
回复 沙发 ch_j1985 的帖子
错误显示的就是Warning: Matrix dimensions must agree, not rendering mesh。其他没有。就是没图出来[ 本帖最后由 cammer534 于 2008-9-30 10:26 编辑 ]
回复 板凳 sogooda 的帖子
sogooda,谢谢你的指导。我认为也是你说的那里有错误,帮助我也看了,就是自己解决不了。FRFT是分数阶傅立叶变换,类似FFT。 =meshgrid(f,t);
f t 是具体是什么,请贴出来
回复
个人觉得是你画图时对应变量维数不一致的问题:建议你在workspace栏里查看一下f1、y的维数是否相同,如果不同,则无法画出图来;
其他plot命令中的变量维数也检查一下。
仅为个人建议。
回复 7楼 blueking1985 的帖子
谢谢你了,检查出来了,是X维数不对,F, T都是1024*1024。X是1024*1。但是不知道,怎么把X也调成1024*1024。X是frft(分数阶傅立叶变换)的幅值。 感觉我画的不对,主要是因为mesh(X,Y,Z)中前2个参数去错了。谢谢小西了(Nanjing University of Aeronautics &Astronautics??)
回复 8楼 cammer534 的帖子
meshgrid试试看 原帖由 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]