请指教matlab中的卷积问题
请问我这么写问题在哪里我是刚刚开始用,请大家多多指教哈
谢谢
t=1:10;
t1=1:10;
a=sin(t);
b=sinc(t1);
c=CONVMTX(a,b);
stem(c);
xlim() 原帖由 shally628 于 2006-10-21 16:27 发表
请问我这么写问题在哪里
我是刚刚开始用,请大家多多指教哈
谢谢
t=1:10;
t1=1:10;
a=sin(t);
b=sinc(t1);
c=CONVMTX(a,b);
stem(c);
xlim()
用conv命令 但是用conv函数就会报错
Attempt to execute SCRIPT conv as a function. 原帖由 shally628 于 2006-10-21 17:10 发表
但是用conv函数就会报错
Attempt to execute SCRIPT conv as a function.
把你自己命名的文件改名,conv是matlab自带的函数,你用which conv all命令看看就知道了
看来这个问题真的挺严重 那我该怎么办呀?
你能不能给我一个正确使用卷积的例子
万分感谢呀 原帖由 shally628 于 2006-10-21 17:20 发表
那我该怎么办呀?
你能不能给我一个正确使用卷积的例子
万分感谢呀
1. 在matlab命令窗口输入:which conv all
把除了下面路径以外的m文件全部删除:<your matlab path>\toolbox\matlab\datafun\conv.m,即只保留这个
2. 在m文件编辑窗口中输入以下代码:
function myConv
t=1:10;
a=sin(t);
b=sinc(t);
c=conv(a,b);
stem(c);
xlim()
3. 把函数保存为myConv.m
4. 运行 ok
太感谢你了
我是新手
以后希望能够多向你请教哈 原帖由 shally628 于 2006-10-21 17:41 发表
ok
太感谢你了
我是新手
以后希望能够多向你请教哈
建议多浏览本论坛或者其他论坛的帖子,特别是 for beginner 的 原帖由 eight 于 2006-10-21 17:27 发表
1. 在matlab命令窗口输入:which conv all
把除了下面路径以外的m文件全部删除:<your matlab path>\toolbox\matlab\datafun\conv.m,即只保留这个
2. 在m文件编辑窗口中输入以下代码:
functio ...
我还想请问一下,我开头到底是问什么问题了
谢谢哈 原帖由 shally628 于 2006-10-21 17:50 发表
我还想请问一下,我开头到底是问什么问题了
谢谢哈
matlab不支持两个同名同输入参数的函数,事实上,没有一种语言支持 原帖由 eight 于 2006-10-21 18:58 发表
matlab不支持两个同名同输入参数的函数,事实上,没有一种语言支持
不好意思,我没有懂你的意思
你能具体的给我说一下,开头我的程序哪里有问题好吗
谢谢 原帖由 shally628 于 2006-10-21 23:01 发表
不好意思,我没有懂你的意思
你能具体的给我说一下,开头我的程序哪里有问题好吗
谢谢
你按照我给你的第一步做了以后,是否发现除了那个路径以外还有其他同名函数?你把自定义的函数命名为matlab自带的函数,是不允许的,明白吗? 原帖由 eight 于 2006-10-22 10:08 发表
你按照我给你的第一步做了以后,是否发现除了那个路径以外还有其他同名函数?你把自定义的函数命名为matlab自带的函数,是不允许的,明白吗?
我按照你给我说的第一步做了之后只有一个函数,然后我也没管他,我就在我的函数前面加了个function myconv1 然后把我函数存在了work目录下(开头没有)
而且我不晓得为什么我的卷积结果还是不对 原帖由 shally628 于 2006-10-22 10:18 发表
我按照你给我说的第一步做了之后只有一个函数,然后我也没管他,我就在我的函数前面加了个function myconv1 然后把我函数存在了work目录下(开头没有)
而且我不晓得为什么我的卷积结果还是不对
我刚才试了一下你原来的程序,没有出现你说的错误,运行正常,不过弹出的figure中没有任何东西,不知道你当时如何操作的。至于你说的卷积结果不对,是什么意思呢?conv函数就是求一维卷积的,二维用conv2 原帖由 eight 于 2006-10-22 10:25 发表
我刚才试了一下你原来的程序,没有出现你说的错误,运行正常,不过弹出的figure中没有任何东西,不知道你当时如何操作的。至于你说的卷积结果不对,是什么意思呢?conv函数就是求一维卷积的,二维用conv2
其实我是用在这个里面的:
clc;
clear;
fs=40/pi;Ts=1/fs;A=0;B=10;
t1=-100*pi:0.01:1*100*pi;
y=sin(B*t1+A);
subplot(4,1,1);
plot(t1,y);axis([-4 4,-1 1]);
subplot(4,1,2);
t2=-100*pi:Ts:100*pi;
y2=sin(B*t2+A);
stem(t2,y2);
axis([-4 4,-1 1]);
t3=-100*pi:Ts:100*pi;
h=sinc(B*t3);
subplot(4,1,3);
stem(t3,h);
axis([-4 4,-1 1]);
y3=CONV(y2,h);
subplot(4,1,4);
plot(y3);
本来是想用卷积恢复信号的,结果卷积出来结果就不对
页:
[1]