NumPy中array和matrix用于矩阵乘法时的区别

  在NumPy中,array用于表示通用的N维数组,matrix则特定用于线性代数计算。array和matrix都可以用来表示矩阵,二者在进行乘法操作时,有一些不同之处。   使用二维的array时,运算符* 用于计算逐元素相相乘,函数dot() 用于计算矩阵相乘,例子如: import numpy as np a = np.array([[1, 2], [3, 4]]) b = np.arra…
Read more

R语言中lapply()和sapply()的用法

  R语言中提供了一系列*apply()的函数,为数据分析中Split-Apply-Combine的策略提供了简洁方便的实现,这些函数的基本工作流程都是首先将数据按照某种规则划分(split)为较小的几部分,然后对各个部分应用(apply)某些操作,再将结果整合(combine)起来。关于Split-Apply-Combine策略的详细内容,可以参考Hadley Wickham的The Split…
Read more

利用R语言词法作用域特性缓存数据

  R语言采用词法作用域(lexical scoping,或称静态作用域static scoping),关于作用域的相关说明可以参考Wiki,这里先举一个例子说明R语言词法作用域的特点。   定义两个函数g() 、f() 以及一个变量z 如下所示: z <- 10 g <- function(x) { x + z } f <- function(y) { z <- 20 g…
Read more

Android中Service的四种使用方式

Service是Android中的四大组件之一,用于在后台进行长时间作业,不提供用户界面。Service可以直接由其他的应用程序组件启动并在后台运行,也可以与其他组件绑定来实现进程间通信。本文介绍了创建Service的基本方法,并通过实例描述了Service的四种使用方式,包括Service的启动和绑定,以及IntentService和AIDL Service的使用。 0. 创建Service  …
Read more

Makefile中=与:=的区别

在GNU make中,可以使用“=”和“:=”来定义变量,二者的区别主要在于展开时机。 1. 使用“:=”定义变量   使用“:=”定义的变量称为“简单展开变量(simply expanded variables)”,顾名思义,“:=”右边的表达式如果包含对变量的引用,则这些对变量的引用会直接展开,得到一个确切的值,并赋给“:=”左边的变量。这种定义和赋值的形式类似于C语言中对变量的赋值,举例来说…
Read more

使用ISERDES实现高速数据输入接口

  ISERDES是Virtex-6系列FPGA提供的高级SelectIO资源,是专用的解串器,可以实现高速的串并转换,大大降低了设计高速解串器所带来的逻辑和时序的复杂度。 ISERDES也支持SDR和DDR两种模式。ISERDES的结构框图如图1所示。     图1中, D是ISERDES的高速串行数据输入端口,此端口可与所有Virtex-6的I/O资源配合工作,以满足所需的 I/O …
Read more

使用OSERDES实现高速数据输出接口

  OSERDES是Virtex-6系列FPGA提供的高级SelectIO资源,是专用的串行器,可以实现高速的并串转换。每个OSERDES 模块包括一个用于数据和三态控制的串行器。数据和三态串行器都可以配置成 SDR(Single Data Rate,单倍数据速率)和 DDR 模式。单个OSERDES数据串行化可达 6:1,三态串行化可达 4:1;如使用两个OSERDES进行宽度扩展,则可达到10…
Read more

使用Chrome的审查元素功能自定义WordPress主题

  WordPress具有大量的主题模板可供选择,这些主题一般都会给出一些设置界面,用于对主题进行自定义。除此之外,结合Chrome浏览器的审查元素功能,可以进一步对网页进行自定义,获得独一无二的显示效果。   举例来说,对于如图1所示的页面,页面上面的包含标题和导航栏的页眉背景是白色的,比较单调,希望给它加上透明的效果。     使用Chrome浏览器打开网页,在网页上点击右键,选择“…
Read more

利用校园网IPv6流量上网方法简述

  在校园网对IPv4按流量收费而对IPv6流量免费的环境下,挂着上网账号开着uTorrent一晚上回到解放前不再是梦想。其实仅使用IPv6流量完全可以应对日常的网络使用,本文列举了使用IPV6流量浏览网页与下载资源的若干方法,而且速度不慢。 1. 使用GoAgent作为IPv6代理   GoAgent相关介绍可以参考Wiki,其官方站点在这里。GoAgent支持IPv6,在提供IPv6的校园网中…
Read more

VHDL中信号与变量的差异

  在VHDL中,使用信号(signal)或变量(variable)可以实现动态数值的传递,二者功能虽然类似,但在实现方式上却有着很大的区别。对于初学者,理解信号和变量的差异是十分重要的。 1. 信号(signal)的特点 信号是逻辑电路中的连接线,可以用于元件间和元件内部电路各单元间的连接。 信号使用“<=”符号赋值。 在顺序描述语句中,信号的赋值不是即时更新的。只有在相应的进程、函数或过…
Read more