iniwap

iniwap的博客

他的个人主页  他的博客

pys60小应用之计算N点圆周卷积并作图

iniwap  2009年08月12日 星期三 11:56 | 1459次浏览 | 4条评论

数字信号处理的知识,在手机上实现,感觉并matlab实现爽多了。

 

import appuifw,graphics,e32
def cn(x):
    return x.decode('utf-8')
running=1
xn=[0]
hn=[0]
nx=int(raw_input(cn('请输入x1(n)长度:')))
nh=int(raw_input(cn('请输入x2(n)长度:')))
print cn('请输入序列x1(n):')
for i in range(nx):
    xn.append(float(raw_input()))
print cn("请输入序列x2(n):")
for i in range(nh):
    hn.append(float(raw_input()))
del xn[0]
del hn[0]
N=int(raw_input("Input N:"))
for i in range(len(xn),N):
    xn.append(0)
for i in range(len(hn),N):
    hn.append(0)
yn=[0]
for i in range(N):
    yn1=yn2=0
    for j in range(i+1):
        yn1+=xn[j]*hn[i-j]
    for t in range(i+1,N):
        yn2+=xn[t]*hn[N+i-t]
    yn.append(yn1+yn2)
def handle_redraw(rect):
    canvas.blit(img)
def quit():
    global running
    running=0
canvas=appuifw.Canvas(event_callback=None,redraw_callback=handle_redraw)
appuifw.app.body=canvas
appuifw.app.screen="full"
w,h=canvas.size
img=graphics.Image.new((w,h))
appuifw.app.exit_key_handler=quit
while running:
    img.clear(0xffffff)
    for i in range(18):
        img.line((i*10,0,i*10,208),0x0000ff)
    for i in range(21):
        img.line((0,i*10,176,i*10),0x0000ff)
    img.line((0,110,160,110),0x000000)
    img.line((155,105,160,110),0x000000,width=2)
    img.line((155,115,160,110),0x000000,width=2)
    img.line((10,20,10,160),0x000000)
    img.line((5,25,10,20),0x000000,width=2)
    img.line((15,25,10,20),0x000000,width=2)
    for i  in range(1,N+1):
        img.line((10*i,110,10*i,110-3*yn[i]),0xff0000,width=4)
        text=yn[i]
        img.text((10*i,110-3*yn[i]),u"%.0f"%text,0x000000)
        if yn[i]==0:
            img.point((10*i,110),0xff0000,width=4)
    img.text((40,30),u"%d"%N)
    img.text((50,30),cn("点圆周卷积图"),font=u'FONT_BOLD')
    handle_redraw(())
    graphics.screenshot().save('c:\\a.jpg')
    e32.ao_yield()

评论

我的评论:

发表评论

请 登录 后发表评论。还没有在Zeuux哲思注册吗?现在 注册 !
张斌

回复 张斌  2009年08月14日 星期五 00:50

你是工作在pys60上,还是仅仅玩玩,做得很棒啊

3条回复

  • iniwap

    回复 iniwap  2009年08月14日 星期五 10:45

    玩玩~这玩意现在还不能当饭吃啊~唉。。。不过我会一直走下去的

    2条回复

暂时没有评论

Zeuux © 2024

京ICP备05028076号