matlab里dirac,matlab的二维dirac函数积分

问题描述:

matlab的二维dirac函数积分

因为matlab里面没有二维的fourier变换,所以只好改用积分来实现.但是在对二维dirac函数积分的时候遇到了问题,

syms l m;

A=(l^0+m^0)/2;

I0=dirac(l-0.5)*dirac(m-0.5);

% A I0都是任意给定的关于l,m的函数,这里取A=1,I0=dirac(l-0.5)*dirac(m-0.5);

syms u v;

f0=I0*A;

tempf1=int(f0*exp(i*l*u),l,-inf,inf);

V=int(tempf1*exp(i*m*v),m,-inf,inf);

但是这段程序一运行可以发现,中间返回的过程函数tempf1结果为0,但事实上tempf1的值应该为dirac(m-0.5)*exp(i*u/2);

另外编写一段程序

syms x y;

f1=int(dirac(x),x,-inf,inf)

f2=int(dirac(x)*y,x,-inf,inf)

f3=int(dirac(x)*dirac(y),x,-inf,inf)

运行发现f1、f2的返回结果都是正确的,但f3返回的就是0.

应该怎么解决呢?

1个回答

分类:

综合

2014-11-27

问题解答:

我来补答

我的matlab运行第一个结果就是你预测的tempf1 =dirac(m-1/2)*exp(1/2*i*u),

后边的没有出现你说的 0

f1 =1

f2 =y

f3 =dirac(y)

没有说的 0 啊

我用的版本是7.01,是不是版本的问题!

展开全文阅读

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值