如何使用 Endnote 和 LaTeX/BibTeX 建立论文的参考文献

Endnote X4 是整理论文参考资料的绝佳工具。如果能把 Endnote 与 LaTeX 结合使用是再好不过了。这里介绍一种将 Endnote 内的书目导出为 LaTeX 可用的 BibTeX 格式的方法。
假设 Endnote X4 里已经整理好了一些参考资料的信息。

Endnote 的配置

  1. 下载这个文件,然后把它放到 Endnote 安装文件夹下的 styles 子文件夹中;
  2. 打开 Endnote X4,从菜单栏里选取 Edit -> Output Styles -> Open Style Manager
  3. 找到并勾选第一步中的 BibTeX_Export,关闭该窗口
  4. 从菜单栏中 Edit -> Output Styles 选刚增加的 BibTeX_Export
  5. 编辑条目:双击需要引用的参考资料,在 Label 一栏里填一个唯一标识符, 如 danny11
  6. 在 Endnote 主窗口中选中所有需要引用的参考资料,菜单 File -> Export,Output Style 选 BibTeX_Export,保存为一个 txt 文档到 LaTeX 的工作目录中。然后更改文件后缀名为 .bib,如 mybib.bib;

CTeX 中使用 BibTeX

建立好 .bib 文件后就可以按照常规使用 BibTeX 的方式建立文献参考了。

  1. 编写 LaTeX 代码;
  2. 在结尾前加入 BibTeX 相关代码,如
    1
    2
    \bibliographystyle{plain}
    \bibliography{mybib
    } % mybib是Endnote导出的文件名
  3. 正文中需要引用的地方就可以加入
    1
    \cite{danny11} % danny11 是 之前在 Endnote 中设置的 label

SimPowerSystems 异步电动机标么值转换问题

Simulink SimPowerSystems 里的异步电机元件分 SI(国际标准)和 pu(标么值)两种。它们之间是等效的,但是转换的方式讲的不是很清楚。参考官方 MATLAB 的文档,可以知道原来这里的基准值取得比较特殊,和大多数的工程参考书籍上的不太一样:基准功率取的单相额定功率,基准电压取的电压的有效值。但是通过仿真比较我却发现元件的实际构造与文档里的说明不太一样。

已知 SI 单位下的 Pn, Vn, fn 以及 Rs, Lls, Rr, Llr, Lm, J, F, p,正确的基准值取法应该如下:

基准功率:三相功率 Sb = Pn
基准电压:额定相电压的峰值 Vb = Vn/sqrt(3)*sqrt(2)
基准电流:Ib = Pn/Vn
基准阻抗:Zb = Vb/Ib
基准角速度:wb = 2*pi*fn
基准电感:Lb = Zb/wb
基准磁链:phib = vb/wb
基准转矩:Tb = Pn/(wb/p)
基准阻尼系数:Fb = Tb/(wb/p)

pu 元件中所使用的参数值只要按照 “标么值=有名值/基准值” 的公式进行计算就可以,比如下面的 m 文件代码:

1
2
3
4
5
6
7
Rs_pu = Rs/Zb       % 定子电阻
Lls_pu = Lls/Lb     % 定子漏电感
Rr_pu = Rr/Zb       % 转子电阻
Llr_pu = Llr/Lb     % 转子漏电感
Lm_pu = Lm/Lb       % 励磁电感
H = 0.5*J*(wb/p)^2/Pn   % 转动惯量/时间常数
F_pu = F/Fb     % 阻尼系数

对于 pu 元件,其输入和测量值也是采用的标么值。可以在信号线上加入相应的 gain 环节就可以转换为 SI 信号,比如

1
2
3
4
5
6
7
8
% 输入
Tm_pu = Tm/Tb

% 测量值
Te = Te_pu*Tb
wm = wm_pu*(wb/p)
I = I_pu*Ib
V = V_pu*Vb

这种标么值的表示方法和 Prabha Kunder 的《电力系统稳定与控制》一书第 199 页中感应电动机模型标么值的表示方法是完全一样的。

MATLAB 常用配置

默认以管理员身份运行

  1. 桌面右键 MATLAB 程序图标,在弹出菜单中选择 Properties;
  2. 单击 Compatibility 选项卡,最下面 Run this program as an administrator 打勾
  3. 点击 OK 按钮确定。

修改默认起始目录

  1. 桌面右键 MATLAB 程序图标,在弹出菜单中选择 Properties;
  2. 单击 Shortcut 选项卡,在 Start in 里填写指定起始目录路径;
  3. 点击 OK 按钮确定。

打开 Simulink 时自动给 Workspace 变量赋值

  1. 新建一个 m 文件,文件名任意,如 loadvar
  2. 文件中输入需要的赋值语句,如 K=1
  3. 新建一个 model 文件
  4. Simulink 菜单栏中选 File -> Model Properties
  5. 点击 Callbacks 标签
  6. 在左栏中选 PreLoadFcn
  7. 在右侧写刚才建立的 m 文件的文件名 loadvar,点击 OK 按钮确定
  8. 保存文件。下次再打开该 model 文件,workspace 中会自动出现 K = 1

MATLAB 箱线图函数 boxplot 用法示例

试验 E 只有两种结果:发生与不发生。这个试验独立重复做 50 次,观察这么一个大的试验最后 50 次 E 里事件发生的次数。例如:某人每天迟到的概率为 0.1,前一天迟不迟到不影响后一天,观察连续 50 天他迟到的总次数。这样的试验做 5000 次,也就是每 50 天观察一次记下结果。

1
x=binornd(50,0.1,5000,1);

产生一组数据,服从参数 n=50, p=0.1 的二项分布。x 为一个尺寸为 5000×1 列向量。

1
x=x/50;

归一化。

1
mean(x)

求 5000 个数据的期望。

1
std(x)

求标准差。

1
sqrt(50*0.1*0.9)/50

手动求标准差。公式应该是 sqrt(n*p*(1-p))=sqrt(50*0.1*0.9),但数据归一化了,所以标准差要再除以 50。

1
median(x)

求中位数。

1
iqr(x)

求 IQR。

1
[min(x) max(x)]

求最小值和最大值。

1
2
hist(x,51)
hist(x,31)

画两次直方图,组距分别为 51 和 31。

1
histfit(x,31)

绘制统计直方图与其正态分布拟合曲线。

1
boxplot(x)

画箱线图。

1
2
s=sqrt(0.9*0.1/50);
z=normrnd(0.1,s,5000,1);

产生 5000×1 个服从正态分布,期望和方差与前面的二项分布数据相同的数据。

1
boxplot([x z])

把两个箱线图画在一个图上。

1
2
skewness(x)
skewness([x z])

求偏斜度。这个是什么?还没学到。

这个例子说明了什么?中心极限定理有个棣莫弗–拉普拉斯定理,说由于二项分布可以看成大量独立的同分布随机变量之和,那么它们在 n 充分大的时候近似的服从与其期望和方差相同的正态分布。

12