gnumex 可以让 matlab mex 使用 gcc 进行编译,主要是 Windows 上。
需要安装
MingW
gnumex, 可装在 mingw 目录下,会自动识别 mingw
装好以后
matlab 中执行,gnumex, 出来一个设置的界面,生成 mex optional batch file
以后编译的时候,使用
gnumex -f _path_to_mexopts.bat file_to_be_compiled
13 Apr 2010
latex文字上加点
貌似 latex 不支持 utf-8
要输入 ä,则用\"a
如果是matlab,需要使用latex解释器,字母上面加点,例如:
要输入 ä,则用\"a
如果是matlab,需要使用latex解释器,字母上面加点,例如:
text(0.5,0.5,'$\dot{a}$','interpreter','latex','fontsize',16)
9 Apr 2010
LATEX+BIBTEX
1. 最简单的latex文件
\documentclass{article}
\begin{document}
blabla
\end{document}
blabla里边随便写一些乱七八糟的东东, 就能被编译然后看到了~.~
中文支持, 用CJK包
\documentclass{article}
\usepackage{CJK}
\begin{CJK}{GBK}{song}
\begin{document}
试汉字
\end{CJK}
\end{document}
2. 注释
'%'用来注释%后的语句, 编译时忽略
块注释:
\iffalse
...
\fi
3. 空格
\ ,~ 二者都可以表示空一格; \,表示空很小一点距离, \:大一点, \;再大一点; \!往回退一点点; \hspace{1cm/10pt/0.1\texwidth}横向空一定距离, \vspace{...}纵向空一定距离; \phantom{000}中间随便写些什么, 宽的字符就空得多一些, 窄的字符就空的少一些, 比\hspace{}强硬一些, 不过在公式对齐时最好还是用&, 用\phantom比较难调, 而且不方便修改.
4. 插图,表格
好象\label要放到\begin{figure}...\end{figure}环境的最后才能在引用时正确显示标号(还没有试清楚). 见下面:
例:
\begin{table}
\centering
\caption{The $t^{\alpha}$). The columns are the same as in Table \ref{tab-emission}.}
\begin{tabular}{c|c|c}
\hline
a1 & b1 & c1 \hline
a2 & b2 & c2 \hline
...
\label{kaka}
\end{tabular}
\end{table}
注意label的位置, 在{tabular}内而不是外边, 否则就出乱子了. figure的label也是. 实际上是\label命令必须紧接着\caption命令给出.
5. 生成索引
\usepackage{makeidx}
\makeindex
\begin{document}
body: \index{a!b} (可以是a, a!b, a!b!c等)
\printindex
\end{document}
见到\makeindex后latex foo.tex会自动生成foo.idx, 然后在命令行中还要makeindex foo.idx生成.ind文件, 然后才能再latex foo.tex.
6. 参考文献, 如何使用bibtex
首先要建立一个foo.bib文件用于存放文献信息, 内容见xampl.bib, 有各种格式的, 如
@ARTICLE{article-minimal,
author = {L[eslie] A. Aamport},
title = {The Gnats and Gnus Document Preparation System},
journal = {\mbox{G-Animal's} Journal},
year = 1986,
}
其中article-minimal是要被引用时用的;
然后主文件(foo.tex)中做以下的事:
\cite{article-minimal}
...
\bibliography{foo}
\bibliographystyle{plain} (别人有个各种样式的比较)
最后编译的时候分四步: 1. latex foo.tex (生成.aux文件) 2. bibtex foo.aux 3. latex foo.tex 4. latex foo.tex (重复); 当然, 在执行的时候是可以不写后缀的, 如5. xdvi foo即可看效果.
bibtex 会生成一个bbl文件, 以后就可以直接修改这个文件, 投稿的时候也只需带上这个文件, 或者把这个文件的内容拷到tex文件中.
参考: man bibtex, bibtex/, "关于参考文献.pdf", bibtex.chm 或LaTeX2e使用手册(即出版出来的
7. 用bibtex,如何实现每章后面加上参考文献
\usepackage{chapterbib}
然后看chapterbib.sty文件,里面的说明非常之详细
8. 在一个圆圈里放一个数字: \textcircled{\scriptsize1} 或者 $\bigcirc$\hspace{-7.5pt}1
如何在文中实现带圈的数字
答:1)使用\textcircled{}命令,后面的参数可以是一个字符或者汉字(配合CJK)
,甚至也可以是公式,但是它只会给第一个字符或者汉字加上 > 合适的圆圈,字体
放缩命令对它也有效,因此可以利用这点实现两个字符加圈的效果,但是需要仔细的
调整尺寸,参考如下命令: > \Large{\textcircled{\small{12}}}、\textcircled
{九}。
2)使用pifont宏包,那里面有很漂亮的带圈的各种数字符号(仅限于阿拉伯数字,如果想>
使用加圈的中文“一”至“九”就不行了)。在.tex > 文件中尝试下列命令:\ding{172}>~\ding{211}。
3)在GB和GBK字库中本来就有10个加圈数字形式,可以直接在 CJK中使用。如果不超过11的>
话应该够用了呵呵:①②③④⑤⑥⑦⑧⑨⑩,这些汉 > 字可以直接使用数字软键盘输入(>
以智能ABC输入法为例,其实大部分输入法都是一样的):打开软键盘,选择“数字序号”>
即可看到。
9. 记数器解决方案
\begin{enumerate}
\item
\item
\newcounter{temp} \setcounter{temp}{\value{enumi}}
\end{enumerate}
...
\begin{enumerate}
\setcounter{enumi}{\value{temp}}
\item dd
\end{enumerate}
10. 用Latex做幻灯片
目前欣赏beamer. 这里有一个非常齐全的用 latex做幻灯片的各种方案的比较. (原始网址是http://webpc.shtu.edu.cn/yctang/CteX_Talk/homepage/compare.htm)
11. 如何输出这个字符 ~
1. \textasciitilde 或者 2. \~{}
12. 插入其他格式的图片如jpg格式的
(1). 最简单的办法是用pdflatex进行编译, 于是只需在原文件中写上该图片的名字;
(2).用graphicx宏包, (不知1,2是否一起用)
13. 一个加超链接的例子
\href{http://www.toolscenter.org/products/texniccenter}{TeXnicCenter}
14. 关于特殊字符
有一个叫symbols-a4.pdf的文件, 里边记录了几千个特殊符号的表示方法, 例如
15. \sqrt的真正用法: \sqrt[a]{b}, 其中a是在根号前的那个数字, 如果是3, 就是开三次方.
16. 使用bibtex前面已有介绍, 如何修改bst文件? 还是不清楚, 不过成功修改了一个:
FUNCTION {article}
{ output.bibitem
format.authors "author" output.check
author format.key output
%%%%% name.or.dash
format.date "year" output.check
date.block
eprint missing$
{
crossref missing$
{ journal
"journal" output.check
format.vol.num.pages output
}
{ format.article.crossref output.nonnull
format.pages output
}
if$
format.journal.pages
}
{eprint output}
if$
format.note output
fin.entry
}
这个 function就是对bib文件的条目为article的进行整理的, 原来对于是预印本文献, 我的bib条目是
@ARTICLE{2006astro.ph..1063Z,
author = {{Zhang}, B. and {Gil}, J. and {Dyks}, J.},
title = "{Physical Interpretations of Rotating Radio Transients}",
journal = {ArXiv Astrophysics e-prints},
eprint = {arXiv:astro-ph/0601063},
year = 2006,
month = jan,
adsurl = {http://adsabs.harvard.edu/cgi-bin/nph-bib_query?bibcode=2006astro.ph..1063Z&db_key=PRE},
adsnote = {Provided by the Smithsonian/NASA Astrophysics Data System}
}
其中有eprint项, 但是在所用的aa.bst中没有, 结果显示为 Zhang ..., ArXiv Astrophysics e-prints, ..., 而没有arXiv:astro-ph/0601063, 结果参考文献的这个条目根本不能确定是哪一篇文献.
解决办法就是在aa.bst中最前面声明journal, year...的地方加上eprint, 然后如上加上红字部分, 意思是如果eprint项是空的, 那么按照正常的显示期刊, 卷号, 页码, 如果不空, 则不显示这些, 而只输出eprint中的内容.
相应的参考文献有btxhack(设计bst文件), btxdoc(针对bib文献, 是bibtex的用法). 在tex的发行中都包含了.
17. 要生成一个自己想要的bst样式文件, 最好的办法是用custom-bib, 找到这个tgz的包, 解压, 里边有详细的说明, 照着做就是了. 简单说就是latex 编译文件, 按提示选则, 最终生成bst文件.
原文地址 http://blog.ecoman.asia/user1/51/archives/2007/937.html
7 Apr 2010
删除/卸载 windows search(Windows Desktop Search)
如果是4.0版,请按照如下的方法卸载:
1、Start by running up Add & Remove Programs from the control panel and look for Windows Desktop Search in the list. Unlike with version 3, Windows Search v4 should be there.
4.0版是可以在“添加和删除程序”里面找到卸载项的。
2、If not, open a cmd window (click on Start, then “Run..” and type cmd in the Run dialogue that then appears). Then copy and paste the following line into the cmd window:
但如果“添加和删除程序”找不到卸载项,请点击 开始--运行,输入cmd,然后自制如下的内容到cmd窗口内执行。
%systemroot%\$NtUninstallKB940157$\spuninst\spuninst.exe
3、If that also fails and you get a “The system cannot find the path specified.” error, then I have zipped up a copy that you can download from here. To work out where to extract it to, type:
如果还是失败,请下载此文件 ,然后解压到C:\WINDOWS\目录下(注意解压出来的目录名是 $NtUninstallKB940157$ ),然后再重复第2步。(或者找到目录C:\WINDOWS\$NtUninstallKB940157$\spuninst,双击运行文件 spuninst.exe)
echo %systemroot%
into your cmd window and note the location it points to (it is likely to be C:\Windows, but may not be if you upgraded to XP for Windows 2000 for example). Open the zip file, and extract the $NtUninstallKB940157$ to this location. Now repeat step 2.
5 Apr 2010
word中怎样在方框里打钩
Word 2003,2007类似.
1.完美型
制作方法:
1、右击工具栏-勾选“控件工具栏”,将打开“控件工具栏”;
2、在控件工具栏中找到“复选框”控件;
3、单击这个按钮之后,会在当前光标位置自动插入一个“复选框”按钮和“CheckBox1”字符,此时“控件工具栏”左上角的“设计模式”按钮(就是那个有三角板、尺子和铅笔的按钮)为按下状态,表明此时处于“设计模式”;
4、在“CheckBox1”复选框上右击:“复选框 对象”-“编辑”,把 “CheckBox1”文字改成需要的文字(也可以右击这个复选框,在菜单中选择“属性”,然后在属性对话框中设置更多内容);
5、点击“控件工具栏”里左上角那个“设计模式”按钮,返回到正常的文字编辑状态,此时你可以在那个框中点击鼠标来打勾或者取消打勾。
(此方法参考pconline bbs ID:liuyuping)
2.简约型
选择菜单中"插入"——“符号”,在窗口的字体中选择“Wingdings”或“Wingdings2”(Wingdings字体是一种将字母与图形相关联的字体),然后拖动滚动条找到相应的符号(空白框以及带钩的框都有)。
(此方案参考pconline bbs ID:zkzkzkzkzk)
3.普通型
“插入”--“特殊符号”--“数学序号”--选择“√”,然后在“格式”菜单中,找到“中文版式”,选择“带圈字符”即可。
==================
文字打钩办法
首先直接按下“Ctrl+F9”快捷键,产生一个空域符号(一对大括号)。将鼠标定位于大括号内,然后输入如下代码“EQ \o(A,√)”,注意括号中的“,”是英文标点,不要双引号。用鼠标分别选中䄔和√对它们的大小、位置、字符间距等分别进行设置(和一般文字相同,比如选中√,格式-字体-字符间距-位置中提升),使这两个字符的相对大小、相对位置合适,完成后用鼠标全部选择,按下“Shift+F9”快捷键。注意不要双引号。
文字也是一样的,把A换成文字就可以了,这种方法是实现两个字符重叠。
24 Mar 2010
matlab三维作图
三维曲线的画法
三维空间曲线要用到plot3函数,这个和plot类似。plot3函数有三个参数,x,y和z轴,比如下面的例子:
>> T = -2:0.01:2;
>> plot3(cos(2*pi*T),sin(2*pi*T),T)
如果安装了Symbolic Math Toolbox的话也可以用下面ezlpot3函数的方法:
>> ezplot3(‘cos(2*pi*T)’,’sin(2*pi*T)’,'T’,[-2 2])
三维曲面的画法
有mesh何surf两种命令来画三维曲面,它们使用的场合不同。前者是当z轴是x和y的显式函数时,后者是x,y,z中某个为其他2个的函数。
mesh函数
>> [X Y]=meshgrid(-2:.1:2, -2:.1:2);
>> Z = X.^2 – Y.^2;
>> mesh(X, Y, Z)
mesh
同理用Symbolic Math Toolbox可以直接执行
>> ezmesh(‘X.^2 – Y.^2′, [-2 2], [-2 2])
surf函数
在函数不能表示成z = f(x, y)时,需要用surf函数。比如x^2+y^2+z^2=1.
先需要用柱面坐标或者球坐标来表示。这里用柱面坐标表示为 r^2+z^2=1
x = sqrt(1-z2)cosθ, x = sqrt(1-z2)sinθ;
执行matlab指令:
>> [theta, Z] = meshgrid((0:0.1:2)*pi, (-1:0.1:1));
>> X =sqrt(1 – Z.^2).*cos(theta);
>> Y =sqrt(1 – Z.^2).*sin(theta);
>> surf(X, Y, Z); axis square
同理用Symbolic Math Toolbox可以直接执行
>> ezsurf(’sqrt(1-s^2)*cos(t)’,’sqrt(1-s^2)*sin(t)’, ’s’, [-1, 1, 0, 2*pi]); axis equal
Subscribe to:
Posts
(
Atom
)