For geos:
sudo yum install geos geos-devel
For gdal:
sudo yum install gdal gdal-devel proj-devel proj-nad proj-epsg
Friday, December 19, 2014
Wednesday, December 10, 2014
[Linux] How to mount a server and set up user's directory
How to mount a server
To be continued
How to make a directory under that server
1. log in as a root manager
$su
password:
2. make a directory on that machine.
$cd /home/air/
$mkdir username
3. change the permission of that directory to your name instead of the root manager
$ls -lart
$chown username username
$chown :grads username
To be continued
How to make a directory under that server
1. log in as a root manager
$su
password:
2. make a directory on that machine.
$cd /home/air/
$mkdir username
3. change the permission of that directory to your name instead of the root manager
$ls -lart
$chown username username
$chown :grads username
Tuesday, December 9, 2014
[Git] setting up
1. Install git on your Linux.
2. Configure git settings with global commands if not
$ git config --global user.name "John Doe"
$ git config --global user.email "johndoe@example.com"
You can check the configuration if you already did before.
$ git config --list
user.name=John Doe
user.email=johndoe@example.com
color.status=auto
color.branch=auto
color.interactive=auto
color.diff=auto
...
3.
Monday, December 8, 2014
[Linux] rename extensions of multiple files
For example, change *.html into *.txt.
In Linux,
one can directly type the following in the prompt:
rename .html .txt *.html
In Linux,
one can directly type the following in the prompt:
rename .html .txt *.html
or use bash script
for file in *.html; do
mv "$file" "`basename $file .html`.txt"
done
for files in *.html
do
mv "$files" "${files%.html}.txt"
done
Tuesday, December 2, 2014
Reminder!
Big picture
Decide what you want to do as early as possible.
Don't get distracted from the track easily. Never give up!
You need some higher goal to motivate yourself not because it's a nice habit but it can effectively stop you dropping off and keep you going. A larger goal and bigger picture can motivate your whole life. Inspire yourself to do something really interesting and meaningful. Don't get me wrong, this is not meant to do something cool to others but useless to yourself.
Attempt and practice
If you want something or know you are not good at something, then go for it! Don’t be afraid of that and don’t hesitate!
Start quickly!
If you don’t care about something then you don’t want to spend time on that.
Don’t spend time on thinking what you should do or what you should not. We always have a ideal place and you don’t know how to get there. But you need to just start somewhere and explore, that’s what research is about. It is normal that you try and fail, but then you try again. No fear!
Daily implementation
You can not do everything better than anybody.
You should decide what you really want and then figure out what is the most important part for you, and then put most of the effort on it to make the most productive job.
Don’t be stressed out about the things that are not important.
Decide what you want to do as early as possible.
Don't get distracted from the track easily. Never give up!
You need some higher goal to motivate yourself not because it's a nice habit but it can effectively stop you dropping off and keep you going. A larger goal and bigger picture can motivate your whole life. Inspire yourself to do something really interesting and meaningful. Don't get me wrong, this is not meant to do something cool to others but useless to yourself.
Attempt and practice
If you want something or know you are not good at something, then go for it! Don’t be afraid of that and don’t hesitate!
Start quickly!
If you don’t care about something then you don’t want to spend time on that.
Don’t spend time on thinking what you should do or what you should not. We always have a ideal place and you don’t know how to get there. But you need to just start somewhere and explore, that’s what research is about. It is normal that you try and fail, but then you try again. No fear!
Daily implementation
You can not do everything better than anybody.
You should decide what you really want and then figure out what is the most important part for you, and then put most of the effort on it to make the most productive job.
Don’t be stressed out about the things that are not important.
Tuesday, November 18, 2014
[Linux] difference between g++ and gcc compilers
g++ uses the correct C++ linker options whereas gcc uses the C linker options (so you may get undefined references, etc.)
Monday, November 10, 2014
[R] I/O and Basic Array Implementation
# read txt file
data <- read.table("*.txt")
# Array initialization
for 2D matrix,
a <- matrix(NA,nrow=360,ncol=720);
for 3D matrix,
a <- array(NA,dim=c(360,720,100));
data <- read.table("*.txt")
# Array initialization
for 2D matrix,
a <- matrix(NA,nrow=360,ncol=720);
for 3D matrix,
a <- array(NA,dim=c(360,720,100));
Tuesday, October 21, 2014
[GrADS] Environment Variables 环境变量设置
Beginning with GrADS version 2.0.a8, there is only one choice for GrADS_executable, a single, fully-featured build, which is good.
GADDIR Points to the directory containing the supplemental font and map files in the GrADS release package. If GADDIR is not set, GrADS will look in the default location, /usr/local/lib/grads/.
GASCRP Points to a list of directories containing GrADS utility scripts and user scripts. If more than one directory is specified, acceptable delimiters are a space, a semi-colon, colon, or a comma.
For example:
example% setenv GADDIR /ford1/local/lib/grads
example% setenv GASHP $HOME/grads/shapefiles
example% setenv GASCRP "$HOME/grads/scripts /opt/local/share/grads/library"
example% setenv GAUDFT $HOME/grads/udf/table
Friday, October 17, 2014
[Python] introducing Python environments
python是一门语言,和IDE实现无关。
王玄:
只是看代码的话,就只看VIM
需要逐行debug,就PTVS或者PyCharm这种重型IDE
需要画图,测试idea,就上ipython
因此,总的来说,有几个实现方法。
(1) vim-python。用vim,kate等编辑器写script,然后在shell prompt 跑。
(2) ipython。python的interactive shell,在terminal打开,就像一个软件一样。
$ ipython --pylab
$ ipython -qtconsole *弹出来的是一个窗口
(3) ipython-notebook。python的web-based interactive shell,可以作为作业、present的一个交互手段,出文图方便。
(4) pycharm。IDE,就像matlab一样,可以语法纠错,可以debug。
pygrads是一个更加奇怪的东西……
pygrads一方面,是一个grads+ipython的interactive shell,在terminal打开,也是像一个软件一样。
$ pygrads
ln[1]:ga-> open/o file.ctl
ln[2]:ga-> xx ts
然后就可以像在grads的prompt里面输入各种命令。区别在于:
A. 命令很多简写、替代,需要查grads-pygrads对应表。
B. pygrads 可以导入导出grads的数据,然后再用python的功能。
pygrads另一方面,它却是一个python的library!!!
>>from grads import *
>>ga = GrADS("Bin=/path/opengrads")
>>ga.open("file.ctl")
>>ts = ga.exp("ts")
画图请import pylab,不然画不了。注意不是matplotlib。
>>from pylab import title, savefig
>>clf()
>>ga.pcolor('data')
>>savefig('test.png')
王玄:
只是看代码的话,就只看VIM
需要逐行debug,就PTVS或者PyCharm这种重型IDE
需要画图,测试idea,就上ipython
因此,总的来说,有几个实现方法。
(1) vim-python。用vim,kate等编辑器写script,然后在shell prompt 跑。
(2) ipython。python的interactive shell,在terminal打开,就像一个软件一样。
$ ipython --pylab
$ ipython -qtconsole *弹出来的是一个窗口
(3) ipython-notebook。python的web-based interactive shell,可以作为作业、present的一个交互手段,出文图方便。
(4) pycharm。IDE,就像matlab一样,可以语法纠错,可以debug。
pygrads是一个更加奇怪的东西……
pygrads一方面,是一个grads+ipython的interactive shell,在terminal打开,也是像一个软件一样。
$ pygrads
ln[1]:ga-> open/o file.ctl
ln[2]:ga-> xx ts
A. 命令很多简写、替代,需要查grads-pygrads对应表。
B. pygrads 可以导入导出grads的数据,然后再用python的功能。
pygrads另一方面,它却是一个python的library!!!
>>from grads import *
>>ga = GrADS("Bin=/path/opengrads")
>>ga.open("file.ctl")
>>ts = ga.exp("ts")
画图请import pylab,不然画不了。注意不是matplotlib。
>>from pylab import title, savefig
>>clf()
>>ga.pcolor('data')
>>savefig('test.png')
Monday, October 13, 2014
反演方法
Inversion and Assimilation
反演、同化总是被同时提起,那么这两者到底分别指的是什么?
以碳循环为例。
反演一般即是通过大气二氧化碳浓度的观测数据来估算陆地生态系统碳源碳汇的分布信息。
同化则是指通过各种直接、间接的测量方式来获得观测数据。
Forward model
反演、同化总是被同时提起,那么这两者到底分别指的是什么?
以碳循环为例。
反演一般即是通过大气二氧化碳浓度的观测数据来估算陆地生态系统碳源碳汇的分布信息。
同化则是指通过各种直接、间接的测量方式来获得观测数据。
Forward model
Friday, October 10, 2014
重整旗鼓再开张
不要纠结于一些类似于step change的技术细节。
好好学习python,这个没有什么learning curve,本应更加适合我这种人,请把过去的畏难情绪一笔勾销!!!
技术不是根本问题,但它是瓶颈问题,请务必重视、提高热情、打好基础、好好攻克!
好好学习python,这个没有什么learning curve,本应更加适合我这种人,请把过去的畏难情绪一笔勾销!!!
技术不是根本问题,但它是瓶颈问题,请务必重视、提高热情、打好基础、好好攻克!
Wednesday, October 1, 2014
C语言手札
Tutorial
1. integer division truncates: any fractional part is discarded.
(int): 5/9 = 0
2. printf (a standard function can be called by C, ANSI standard)
\t, tab; \n, new line
%d print as decimal integer,
%6d a least 6 characters wide
%f floating point
%6f 6 characters wide
%.2f 2 characters after decimal point
%6.2f at least 6 wide, 2 after decimal point
Memory
A variable in C++ is a name for a piece of memory that can be used to store information. When a variable is declared, a piece of that memory is set aside for that variable.
First, there is no guarantee that your variables will be assigned the same memory address each time your program is run. The first time you run your program, x may be assigned to memory location 140. The second time, it may be assigned to memory location 168. Second, when a variable is assigned to a memory location, the value in that memory location is undefined (in other words, whatever value was there last is still there). A variable that has not been assigned a value is called an uninitialized variable. Uninitialized variables are very dangerous because they cause intermittent problems (due to having different values each time you run the program).
A good rule is to always assign values to variables when they are declared.
Function
Typically, when learning C++, you will write a lot of programs that involve 3 subtasks:
Compile
When addressing compile errors in your programs, always resolve the first error produced first.
1. integer division truncates: any fractional part is discarded.
(int): 5/9 = 0
2. printf (a standard function can be called by C, ANSI standard)
\t, tab; \n, new line
%d print as decimal integer,
%6d a least 6 characters wide
%f floating point
%6f 6 characters wide
%.2f 2 characters after decimal point
%6.2f at least 6 wide, 2 after decimal point
Memory
A variable in C++ is a name for a piece of memory that can be used to store information. When a variable is declared, a piece of that memory is set aside for that variable.
First, there is no guarantee that your variables will be assigned the same memory address each time your program is run. The first time you run your program, x may be assigned to memory location 140. The second time, it may be assigned to memory location 168. Second, when a variable is assigned to a memory location, the value in that memory location is undefined (in other words, whatever value was there last is still there). A variable that has not been assigned a value is called an uninitialized variable. Uninitialized variables are very dangerous because they cause intermittent problems (due to having different values each time you run the program).
A good rule is to always assign values to variables when they are declared.
Function
Typically, when learning C++, you will write a lot of programs that involve 3 subtasks:
- Reading inputs from the user
- Calculating a value from the inputs
- Printing the calculated value
Compile
When addressing compile errors in your programs, always resolve the first error produced first.
Monday, September 22, 2014
[Inverse Methods]paper reading and discussion
1. 关注数据,图与表格的present方式,是否make sense;
2.继续保持先抓主题框架
3. 更加要深入关心作者如何实现(计算,公式里面对应的每一部分),以及这样实现是否会有什么问题。
4.关注(数据、方法的)不确定性。
5. 注意数据
多读几遍。
目前,1,2,3,4至少是不同形式的四遍。只有以后阅读经验上去了,才会越来越快!
2.继续保持先抓主题框架
3. 更加要深入关心作者如何实现(计算,公式里面对应的每一部分),以及这样实现是否会有什么问题。
4.关注(数据、方法的)不确定性。
5. 注意数据
多读几遍。
目前,1,2,3,4至少是不同形式的四遍。只有以后阅读经验上去了,才会越来越快!
Tuesday, September 16, 2014
写作心得
本来觉得这课就是纯靠自己练习,练习,练习,然后有所提高。
但是读了两篇文章之后确实觉得想法有些改变,尤其关于学生/导师关系。关于socialization我觉得我还是太过保守了,单打独斗,而且好胜心强,不肯求助,导致进步很慢!这个我之前从来没有想过,总是很鄙夷那些抄作业的人,但是有点保守太过,连正常的交流都阻碍了,真的很不应该。我觉得是不是应该和justin多讨论一下??
另外就是在这次写英文文章的时候,有了很多感觉,觉得终于可以像中文写作那样去记录点滴想法,然后按照一定结构组织起来。之前没有觉得自己英语写作具有这个能力了,像GRE写作,托福写作,过去都是停留在脚踩西瓜皮,滑到哪算哪的境地,如今终于打破了语言障碍!欢呼!
由于课业负担太重,这门课只能暂时搁下了。但我会继续在这里更新写作心得。
但是读了两篇文章之后确实觉得想法有些改变,尤其关于学生/导师关系。关于socialization我觉得我还是太过保守了,单打独斗,而且好胜心强,不肯求助,导致进步很慢!这个我之前从来没有想过,总是很鄙夷那些抄作业的人,但是有点保守太过,连正常的交流都阻碍了,真的很不应该。我觉得是不是应该和justin多讨论一下??
另外就是在这次写英文文章的时候,有了很多感觉,觉得终于可以像中文写作那样去记录点滴想法,然后按照一定结构组织起来。之前没有觉得自己英语写作具有这个能力了,像GRE写作,托福写作,过去都是停留在脚踩西瓜皮,滑到哪算哪的境地,如今终于打破了语言障碍!欢呼!
由于课业负担太重,这门课只能暂时搁下了。但我会继续在这里更新写作心得。
Tuesday, September 2, 2014
谈谈消费与需求 on Consumption and Demand
按:因为友人最后一段话我决定分享这个对话录,让更多的人思考现今社会的真相。
我:给大家介绍一个视频 东西的故事
友人:我觉得我现在只能到尽力排除传媒对“需求”的塑造这一步吧。我中学的时候听我叔叔说商业社会塑造的结果就是白天在办公室拼命赚钱,晚上在餐馆和ktv拼命花钱,累的程度相当,你的钱的来源和去向都是同一帮人。后来我发现,对于“那一帮人”来说,他们同样过的也是这样的生活,被传媒塑造和掏空。这一切形成一个巨大的自组织体,维持运转,但背后没有人在操控,每个人都有无力感。
我:就是瞎折腾,GDP的故事不就是这样来的么……其实想想,消费这个概念的历史那么短,尤其在中国,居然深入人心到这种地步,实在可怖。国家不想房价涨就想拉动内需,其实都很危险。
我觉得我来美国之后已经快被和平演变了,这段时间就想着买新的ipad,买车(高中发誓自己不会买车)……
友人:我觉得一定要买什么不买什么都是执念……需要且买得起就买不需要或买不起就不买,同时把自己的需要降到最低。已经不是为了“面子”(不管有意无意)去购买,就已经搞定一大步了。就是降低需求这一块比较难吧。
我:对啊,降低需求是与人的欲望相反的,也与市场经济的规则相悖,你不靠道德底线或者宗教的戒律清规等“执念”来约束那是不可能的呀……
换句话说,人的基本生存需求其实微乎其微,而经营这些基础生活产品几乎没有任何盈利,若强迫每个人仅仅维持基础生活水平,会有大部分人失业。按照市场经济的规则就是导致这样的后果。
若不能让整个体系崩溃,只靠个人微薄之力能有何作为?
友人:这个体系不重要,市场也不重要,重要的是里面的每个人和将来会出生在这个世界上的人。所以市场可以崩溃,体系可以重建,因为人还是会一样生存下去,生存的幸福程度、自我实现程度也与此无关。
不过你说得对,这些都是宏大叙事,和个人关系不大。至少作为我,我就只能在这个世界上找好玩的事,用比较简单的心态去找,然后用这些好玩的事又来支撑自己简单的心态。
我:我觉得你大概是说这些体系市场啊,包括法律、政治制度等都是人创造出来的,但是人们把这些人造品都玩得太过了,把自己都玩进去了还不自知?
其实这是很无力哀伤的事情。还记得我跟你聊过阿米什人的生活方式,那时觉得大家都错了,应该走回简单的生活,现在却也会想到指责奢华繁复的生活似乎有点超出个人的权利范围。如你所说,别人不干涉自己,我也管不着他人。即便考虑可持续发展和将来,人们既然选择了继续这样下去自取灭亡,那也没有什么办法。
我突然又想到这归根结底其实是正义的问题:凭什么无辜的人(第三世界、未来出生的人)要承担罪恶之人犯下的恶果?
友人:对,你最后说的那段。干涉社会建构的合理性在于公平,对于现世的人(第三世界)和未来的人,为他们保证选择的开放性。如你所说,商业社会的思维模式是容易自己把自己玩进去的越玩约畸变,所以为了未出生的人应当避免这种畸变;同时为了第三世界的人应当停止资源掠夺。
但同时为了其余的人,没有人能够动用武力或其他形式的“革命”“突变”,而只能“影响”。所以文学艺术哲学以及科学(非技术类)才变得重要:在所有人麻木的时候保持本真欲望、审美的火种,并期许它扩散开去。
我:给大家介绍一个视频 东西的故事
友人:我觉得我现在只能到尽力排除传媒对“需求”的塑造这一步吧。我中学的时候听我叔叔说商业社会塑造的结果就是白天在办公室拼命赚钱,晚上在餐馆和ktv拼命花钱,累的程度相当,你的钱的来源和去向都是同一帮人。后来我发现,对于“那一帮人”来说,他们同样过的也是这样的生活,被传媒塑造和掏空。这一切形成一个巨大的自组织体,维持运转,但背后没有人在操控,每个人都有无力感。
我:就是瞎折腾,GDP的故事不就是这样来的么……其实想想,消费这个概念的历史那么短,尤其在中国,居然深入人心到这种地步,实在可怖。国家不想房价涨就想拉动内需,其实都很危险。
我觉得我来美国之后已经快被和平演变了,这段时间就想着买新的ipad,买车(高中发誓自己不会买车)……
友人:我觉得一定要买什么不买什么都是执念……需要且买得起就买不需要或买不起就不买,同时把自己的需要降到最低。已经不是为了“面子”(不管有意无意)去购买,就已经搞定一大步了。就是降低需求这一块比较难吧。
我:对啊,降低需求是与人的欲望相反的,也与市场经济的规则相悖,你不靠道德底线或者宗教的戒律清规等“执念”来约束那是不可能的呀……
换句话说,人的基本生存需求其实微乎其微,而经营这些基础生活产品几乎没有任何盈利,若强迫每个人仅仅维持基础生活水平,会有大部分人失业。按照市场经济的规则就是导致这样的后果。
若不能让整个体系崩溃,只靠个人微薄之力能有何作为?
友人:这个体系不重要,市场也不重要,重要的是里面的每个人和将来会出生在这个世界上的人。所以市场可以崩溃,体系可以重建,因为人还是会一样生存下去,生存的幸福程度、自我实现程度也与此无关。
不过你说得对,这些都是宏大叙事,和个人关系不大。至少作为我,我就只能在这个世界上找好玩的事,用比较简单的心态去找,然后用这些好玩的事又来支撑自己简单的心态。
我:我觉得你大概是说这些体系市场啊,包括法律、政治制度等都是人创造出来的,但是人们把这些人造品都玩得太过了,把自己都玩进去了还不自知?
其实这是很无力哀伤的事情。还记得我跟你聊过阿米什人的生活方式,那时觉得大家都错了,应该走回简单的生活,现在却也会想到指责奢华繁复的生活似乎有点超出个人的权利范围。如你所说,别人不干涉自己,我也管不着他人。即便考虑可持续发展和将来,人们既然选择了继续这样下去自取灭亡,那也没有什么办法。
我突然又想到这归根结底其实是正义的问题:凭什么无辜的人(第三世界、未来出生的人)要承担罪恶之人犯下的恶果?
友人:对,你最后说的那段。干涉社会建构的合理性在于公平,对于现世的人(第三世界)和未来的人,为他们保证选择的开放性。如你所说,商业社会的思维模式是容易自己把自己玩进去的越玩约畸变,所以为了未出生的人应当避免这种畸变;同时为了第三世界的人应当停止资源掠夺。
但同时为了其余的人,没有人能够动用武力或其他形式的“革命”“突变”,而只能“影响”。所以文学艺术哲学以及科学(非技术类)才变得重要:在所有人麻木的时候保持本真欲望、审美的火种,并期许它扩散开去。
Sunday, July 20, 2014
最后一周给自己一些动力和压力!
请你好好看看自己的怂样!
我发现只有科研得到乐趣,发现现象和问题的时候才是最开心的!
怎么能找到乐趣呢?
我知道“数据分析告一段落可以说故事了”这种科研感觉不对,但就是无法摆脱从小到大赶作业完成任务的感觉,这不是科研啊啊啊!!!问题意识,钻研兴趣,都去哪儿了
我发现只有科研得到乐趣,发现现象和问题的时候才是最开心的!
怎么能找到乐趣呢?
我知道“数据分析告一段落可以说故事了”这种科研感觉不对,但就是无法摆脱从小到大赶作业完成任务的感觉,这不是科研啊啊啊!!!问题意识,钻研兴趣,都去哪儿了
Monday, July 7, 2014
Tuesday, July 1, 2014
reach out
管师兄真是打醒了我,一个好好能做科研的人,为啥会越来越丧气?
以如今大多数人努力程度之低,根本谈不上轮天赋。
阅读,讨论,抓紧身边一切可用资源,不要退缩!
这几天变得越来越积极,先是管师兄,后来是文师兄,还有John!
一定要积极的利用身边的各种资源!不要把自己关闭到狭小的空间里!
以如今大多数人努力程度之低,根本谈不上轮天赋。
阅读,讨论,抓紧身边一切可用资源,不要退缩!
这几天变得越来越积极,先是管师兄,后来是文师兄,还有John!
一定要积极的利用身边的各种资源!不要把自己关闭到狭小的空间里!
Friday, June 27, 2014
科学还是数据
研究科学问题固然很酷,可这一年我也意识到,如果数据不对,很可能得出错误结论。
所以数据很重要,谨慎做结论!
所以数据很重要,谨慎做结论!
Sunday, May 18, 2014
不当回事 不仔细思考为什么学不下去
1. 思维逻辑能力,写文章,说话,都要一步一步推导。不要东一榔头西一棒槌
Blank is the bed for creation.
2. 坚持,耐心。
Interruption is the killer of productivity.
3. 专注+精神注意力+能量管理+作息。多位一体。
读paper,用什么法子能够让自己真的读paper,建立起papers的档案,和实际纸打的数量,监督自己读书。读的还是太少了!!!
Blank is the bed for creation.
Interruption is the killer of productivity.
3. 专注+精神注意力+能量管理+作息。多位一体。
读paper,用什么法子能够让自己真的读paper,建立起papers的档案,和实际纸打的数量,监督自己读书。读的还是太少了!!!
Friday, May 9, 2014
期末小结&感恩
感谢的客套话我也说不动了,简单回忆一下:
给我最大指导和帮助的,除了老板之外,就是韩国大哥了,多少无私的时间都贡献给小白我!从1月份开始generally讨论科研,到2月份正式合作,中间交流不多,后面4、5月份每次交流我都收获太多!老板给我的更多是直接了当的指点,而韩国大哥是启发式教育啊!!
铭叔麻烦他不能再多了,也是难为他肯为我付出那么多,同时还有Islam,估计这家伙恨我恨的牙痒痒的!我只能说我最恨water5了!
其他组里的人都超级nice,比如Amanda,Julio,至少态度上都很nice很认真!Nate是一个让我觉得能融入组里生活的一个重大因素,他总是让我莫名的放松和安心!意大利人实在是好心肠,我也是最近才发现的,以后要多交流多接触!
Keita这个人定位很模糊,我把他当做精神支柱来着,但他估计没有怎么瞧得起我吧那是,不过没关系,我已经习惯了向高手大牛们索取精神食粮,等着他们需要我回馈的一天吧!Emily总是那个给我温暖的人,很喜欢她的自然光环!
老线、波哥是我系里最铁的朋友了吧,感谢学期初波哥对流体力学入门的开导,解除了我的很多疑虑。德国回来就四年级了,韩国大哥还有一年就毕业,航哥也转眼就走了,要好好珍惜这些师兄师姐!涛涛雷少是在普林这边贴心的学术生活伙伴啊,让我对未来的phd生活抱有期待和憧憬。黄总猫哥能来支持我的报告,很感动也是!
我其实最感激的一个遥远的人是Scott Young,不仅仅是技术上的支持,而是精神上的全线帮助!Miki也是,两次听我给talk都给了很多精神鼓励和支持!
女神、潘大神、翔哥在我期中考试之前都给了很大帮助!我这学期感恩认识了Elie这个老师,是我最幸福的事,他让我意识到,只要好好学,任何东西都是有办法的!
总之,这是充满正能量的一个学期!what a semester!
给我最大指导和帮助的,除了老板之外,就是韩国大哥了,多少无私的时间都贡献给小白我!从1月份开始generally讨论科研,到2月份正式合作,中间交流不多,后面4、5月份每次交流我都收获太多!老板给我的更多是直接了当的指点,而韩国大哥是启发式教育啊!!
铭叔麻烦他不能再多了,也是难为他肯为我付出那么多,同时还有Islam,估计这家伙恨我恨的牙痒痒的!我只能说我最恨water5了!
其他组里的人都超级nice,比如Amanda,Julio,至少态度上都很nice很认真!Nate是一个让我觉得能融入组里生活的一个重大因素,他总是让我莫名的放松和安心!意大利人实在是好心肠,我也是最近才发现的,以后要多交流多接触!
Keita这个人定位很模糊,我把他当做精神支柱来着,但他估计没有怎么瞧得起我吧那是,不过没关系,我已经习惯了向高手大牛们索取精神食粮,等着他们需要我回馈的一天吧!Emily总是那个给我温暖的人,很喜欢她的自然光环!
老线、波哥是我系里最铁的朋友了吧,感谢学期初波哥对流体力学入门的开导,解除了我的很多疑虑。德国回来就四年级了,韩国大哥还有一年就毕业,航哥也转眼就走了,要好好珍惜这些师兄师姐!涛涛雷少是在普林这边贴心的学术生活伙伴啊,让我对未来的phd生活抱有期待和憧憬。黄总猫哥能来支持我的报告,很感动也是!
我其实最感激的一个遥远的人是Scott Young,不仅仅是技术上的支持,而是精神上的全线帮助!Miki也是,两次听我给talk都给了很多精神鼓励和支持!
女神、潘大神、翔哥在我期中考试之前都给了很大帮助!我这学期感恩认识了Elie这个老师,是我最幸福的事,他让我意识到,只要好好学,任何东西都是有办法的!
总之,这是充满正能量的一个学期!what a semester!
Tuesday, May 6, 2014
[GrADS]maskout()
Today I will discuss the usage of maskout function, which is simple but powerful.
syntax:
maskout(expression, mask)
It basically means using a mask from 'mask' file/variable to remove the corresponding grids in 'expression' data/variable.
(1) If you already have some mask files:
ga->d maskout(data,mask(t=1))
this command will suffice.
Remember to put (t=1) behind the mask, because most of well-made mask files don't have time step.
if the mask is 0 and 1, then you either change the undef value in the mask control file into 0 (the actual missing value in the binary file); or just use maskout(data,data-0.5), then all the value below 0 will be maskout.
(2) If you need to make mask files by yourself:
for example,
if you want to mask out the value lower than 100, in other words, you want to leave the value greater than 100,
ga->define mask = const(maskout(data,data-100),1)
if you want to mask out the slope that insignificant with p>0.05,
ga->define mask = const(maskout(p,0.05-p),1)
Notice the difference here, for conditioning data > value, then the mask = data-value; for conditioning data < value, then the mask = value-data.
Besides using with const() function to produce mask, maskout can also be combined with aave and tloop to plot time series.
ga->d tloop(aave(maskout(data,mask(t=1)),g))
The idea here is to upscale by spatial averaging the masked region.
syntax:
maskout(expression, mask)
It basically means using a mask from 'mask' file/variable to remove the corresponding grids in 'expression' data/variable.
(1) If you already have some mask files:
ga->d maskout(data,mask(t=1))
this command will suffice.
Remember to put (t=1) behind the mask, because most of well-made mask files don't have time step.
if the mask is 0 and 1, then you either change the undef value in the mask control file into 0 (the actual missing value in the binary file); or just use maskout(data,data-0.5), then all the value below 0 will be maskout.
(2) If you need to make mask files by yourself:
for example,
if you want to mask out the value lower than 100, in other words, you want to leave the value greater than 100,
ga->define mask = const(maskout(data,data-100),1)
if you want to mask out the slope that insignificant with p>0.05,
ga->define mask = const(maskout(p,0.05-p),1)
Notice the difference here, for conditioning data > value, then the mask = data-value; for conditioning data < value, then the mask = value-data.
Besides using with const() function to produce mask, maskout can also be combined with aave and tloop to plot time series.
ga->d tloop(aave(maskout(data,mask(t=1)),g))
The idea here is to upscale by spatial averaging the masked region.
Monday, May 5, 2014
代码-画图流程
我发现写代码可以分为以下几个过程:
(1)big idea: 严格意义上不算coding的过程,但其实是最重要的,如果在coding之前不想清楚,那就是为了coding而coding,做出来的东西一点价值都没有。
(2)detailed idea: 具体想实现什么。
先把已有数据列出示意图来,是map?是table?多少time step,spatial resolution多少,都罗列出来。
思考可以进行什么样的分析?
Map:
A. magnitude: mean, median, mode, maximum, minimum, range
B. variability (time series or inter datasets or inter models): var/std, cov, mad
(3)搜索实现该分析画图的工具和想法
可以与其他过程独立出来,通过平时积累,网上搜索。
(4)写代码、调试
这才是真正的写代码的过程。
(5)完善调整修饰
这是最坑爹最考验人耐心的画图过程。
(1)big idea: 严格意义上不算coding的过程,但其实是最重要的,如果在coding之前不想清楚,那就是为了coding而coding,做出来的东西一点价值都没有。
(2)detailed idea: 具体想实现什么。
先把已有数据列出示意图来,是map?是table?多少time step,spatial resolution多少,都罗列出来。
思考可以进行什么样的分析?
Map:
A. magnitude: mean, median, mode, maximum, minimum, range
B. variability (time series or inter datasets or inter models): var/std, cov, mad
C. trend stat (slope, P) (kind of regression against ts)
D. correlation/regression
Scatterplot:
time series correlation VAR1 vs VAR2 at one point (regional averaged)
Timeseries plot:
plot rawdata and linear trend
D. correlation/regression
Scatterplot:
time series correlation VAR1 vs VAR2 at one point (regional averaged)
Timeseries plot:
plot rawdata and linear trend
Histogram plot:
A. how total effect attributed to different components
e.g. physical controls; seasonal attribution; regional attribution.
B. seasonal comparison
可以与其他过程独立出来,通过平时积累,网上搜索。
(4)写代码、调试
这才是真正的写代码的过程。
(5)完善调整修饰
这是最坑爹最考验人耐心的画图过程。
Sunday, May 4, 2014
Boundary Layer
对于这一门课,我不能褒奖更多!
除了对流体力学有所涉猎,我居然通过雷诺平均对统计有了更深刻的认识!
除了对流体力学有所涉猎,我居然通过雷诺平均对统计有了更深刻的认识!
Saturday, May 3, 2014
The relationship between Penman Equation, Bulk transfer model, and profile method
There are tons of ways to measure evaporation, and most of these approaches are some sort of interconnected. And it is always confusing to term evaporation in different contexts.
Before you know more about Penman, you need to understand what is turbulent flux <q'w'>(angle quotation means average, same as bar) and how people parameterize them.
First, regard turbulence as the deviation of mean in temporal statistical sense, so as the transfer of momentum, heat, and moisture. Second, we are using a zero-order closure method similarity theory to parameterize the mean qualities needed.(see turbulence closure problem) Similarity theory can be interpreted as parameterizing the mean qualities, but in fact it doesn't mean using any simulation or calculation to retrieve those values. It is based on the similarity between the connected dimensionless groups, which is profound and powerful. Here, one thing that confusing me before was the K theory. K theory is an one-order closure method, by that it means the second order flux term is parameterized by one order variables, such as the mean profiles.
By applying Taylor Hypothesis, one can replace the temporal fluctuations in flux by the spatial changes of mean qualities. (mean: averaging over time)
Bulk transfer model is based on this simplified idea so that the product of the flux <q'w'> can be rewritten as the product of bulk difference in wind speed and humidity.
(to be continued)
Before you know more about Penman, you need to understand what is turbulent flux <q'w'>(angle quotation means average, same as bar) and how people parameterize them.
First, regard turbulence as the deviation of mean in temporal statistical sense, so as the transfer of momentum, heat, and moisture. Second, we are using a zero-order closure method similarity theory to parameterize the mean qualities needed.(see turbulence closure problem) Similarity theory can be interpreted as parameterizing the mean qualities, but in fact it doesn't mean using any simulation or calculation to retrieve those values. It is based on the similarity between the connected dimensionless groups, which is profound and powerful. Here, one thing that confusing me before was the K theory. K theory is an one-order closure method, by that it means the second order flux term is parameterized by one order variables, such as the mean profiles.
By applying Taylor Hypothesis, one can replace the temporal fluctuations in flux by the spatial changes of mean qualities. (mean: averaging over time)
Bulk transfer model is based on this simplified idea so that the product of the flux <q'w'> can be rewritten as the product of bulk difference in wind speed and humidity.
(to be continued)
Saturday, April 26, 2014
用心去科研
要真正搞科研,必须用心去关顾和实践。
就如同当初你弄清楚全国粮食生产情况一样,如今并不需要爬过每一座高山,跨越每一条河流,你有着科技给你的馈赠,只需要坐在电脑面前敲敲键盘就可以掌握天下。现在面临的问题是如何利用这些浩瀚的信息。小伙伴,加油钻研,等到自己不是为了赶进度而赶进度,真正用心科研的那一天!
哈哈,科研也能成为惯性的哈!
就如同当初你弄清楚全国粮食生产情况一样,如今并不需要爬过每一座高山,跨越每一条河流,你有着科技给你的馈赠,只需要坐在电脑面前敲敲键盘就可以掌握天下。现在面临的问题是如何利用这些浩瀚的信息。小伙伴,加油钻研,等到自己不是为了赶进度而赶进度,真正用心科研的那一天!
哈哈,科研也能成为惯性的哈!
Monday, April 21, 2014
既早不晚
好像突然就获得了phd的resilience,获得了不屈不挠,exponential的属性!
这来的既早不晚!
这来的既早不晚!
[R]time series
1. ts(): 将正常的数据变成时间序列,设定起始时间和间隔频率(单位),12表明单位是月
example: ts_pe <- ts(data_pe,start=c(1949,12),frequency = 12)
2. aggregate(): 将高频率时间序列数据转变成低频率时间数据(resample重采样,但必须往低精度采)
example: season_pe <- aggregate(ts_pe,nfrequency=4,FUN=mean)
这里表明按四个单位一平均。
FUN 可以变换成sum等功能。
example: ts_pe <- ts(data_pe,start=c(1949,12),frequency = 12)
2. aggregate(): 将高频率时间序列数据转变成低频率时间数据(resample重采样,但必须往低精度采)
example: season_pe <- aggregate(ts_pe,nfrequency=4,FUN=mean)
这里表明按四个单位一平均。
FUN 可以变换成sum等功能。
Thursday, April 17, 2014
[Python] Install matplotlib and basemap in Centos
更新:安装anaconda,里面自带各种package,包括matplotlib。
主要方法就是全都用pip or easy_install!
1. python>=2.6
2. install pip 这是个强大的下载库工具
$ yum -y install python-pip
3. install numpy, 千万不要用yum.
如果之前用yum装过,要先remove:
$ yum remove numpy python-matplotlib pandas ...
然后install numpy:
$ pip install -U numpy
4. 在安装matplotlib之前,缺两个东西(真是很麻烦,是从报错和google中人肉出来的两个package,总之就是东缺一块西缺一块。。。)
$ easy_install -U distribute
$ yum install libpng-devel (这个是png处理时候需要的包)
5. 终于可以装matplotlib了。。。
$ pip install -U matplotlib
6. basemap这个是最麻烦的,如果前面条件有一环不符合,你就别想用了!
只要前面都好了,下面就照官网做:(官网有一个是给Ubuntu的,非常方便,但其他linux系统就还是要source安装)
先下载basemap -1.x.x版本,gz file 官网上有。
然后回到terminal 进入解压后的文件夹:
basemap-1.x.x $ cd geos-3.3.3
主要方法就是全都用pip or easy_install!
1. python>=2.6
2. install pip 这是个强大的下载库工具
$ yum -y install python-pip
3. install numpy, 千万不要用yum.
如果之前用yum装过,要先remove:
$ yum remove numpy python-matplotlib pandas ...
然后install numpy:
$ pip install -U numpy
4. 在安装matplotlib之前,缺两个东西(真是很麻烦,是从报错和google中人肉出来的两个package,总之就是东缺一块西缺一块。。。)
$ easy_install -U distribute
$ yum install libpng-devel (这个是png处理时候需要的包)
5. 终于可以装matplotlib了。。。
$ pip install -U matplotlib
6. basemap这个是最麻烦的,如果前面条件有一环不符合,你就别想用了!
只要前面都好了,下面就照官网做:(官网有一个是给Ubuntu的,非常方便,但其他linux系统就还是要source安装)
先下载basemap -1.x.x版本,gz file 官网上有。
然后回到terminal 进入解压后的文件夹:
basemap-1.x.x $ cd geos-3.3.3
basemap-1.x.x/geos-3.3.3 $ export GEOS_DIR=<home directory anywhere you put work space in>
basemap-1.x.x/geos-3.3.3 $ ./configure --prefix=$GEOS_DIR
basemap-1.x.x/geos-3.3.3 $ make
basemap-1.x.x/geos-3.3.3 $ make install
basemap-1.x.x/geos-3.3.3 $ cd ..
basemap-1.x.x $ python setup.py install
DONE!!!
Friday, April 11, 2014
[大气物理]大气物理基础小结
有话要说:一把年纪了才开始温故知新……都是些粗浅的大白话理解……
一、基本定律
1. Ideal gas law 理想气体状态方程。
由微观的压力与分子动能(kinetic energy)即温度的关系可以导出(费曼讲义分子运动论),或者可以由
(1)玻意耳定律:常温下压强与体积成正比
(2)查理-盖·吕萨克定律:常压或等积,体积或压力与温度成正比
导出 PV = nRT 最普遍的形式,涉及摩尔数和摩尔体积,阿伏伽德罗常数的关系在此不进赘述。而大气物理中更常使用 P = rou·RT,值得注意前者的R是universal gas constant,而后者的R是specific gas constant。可怜我刚开始看的时候并没有注意两者的区别,生生耽误了不少功夫。。。
2. Dalton's law 道尔顿分压定律。
P = e + P_d
可以理解为气体状态下,分子间的距离过于遥远,以至于相互之间的分子作用力完全可以忽略不计,因此是independent的作用,故每个气体分子对整个气块的压力可以分离可以加和。
思考点在于分子作用力、独立性(概率事件、泊松随机过程)
3. First law of thermodynamics 热力学第一定律。
dU = dQ + dW
内能的变化等于外界对气体的加热(辐射加热R、潜热加热LE、传导加热conduction==感热H?、湍流TKE(convective?)、摩擦生热,不一而足)与外界对气块做功的总和。
这里W是外界对气体做功,则气体压缩,W是正值。假设等压,气体压缩,估计是因为位移是负的(位移向-x轴方向),所以PdV是负值,则W=-PdV。
这个非常好理解,内能的变化等于外界能量的进出。
或写成dQ = dU + PdV,理解为传递给一个系统的热量,既对气体做功,气体膨胀(-dW = PdV),又改变了系统的内能。或方便假设系统中熵的变化(热与温度的关系)是dS 。
有时候,W是气体对外做功,(比如《大气物理基础》)即系统对外做功,如果气体压缩,气体对外做负功,W是负值,则-dW是正值。写成dU = dQ - dW,写成dQ = dU - PdV的形式,
我觉得这个符号特别乱……
辨别: W1为外界对系统做功,W2为系统对外做功,W1=-PdV(压缩), W2=PdV(膨胀)
焦耳定律是指U只与温度有关dU=CvdT。Cv为定容热容量,定容比热C_v还要再除以质量m
终于明白可逆过程是神马意思了,这还真不是想当然。。。之所以要在很慢很慢的速度中推进,是因为要让系统压力与环境压力时时相等,功可逆就是说环境对系统做功与系统对环境做功是正负号关系。
4. Hydrostatic equation 静力平衡方程。
dP = -rou·g dz
个人理解是浮力与重力的平衡,就是上下压力差等于重力推导出来的,用到微元法。思考点在于压力是一个法向于受力面的力,而且各个方向都有,只是因为大气密度有垂直梯度,向上递减,所以净余的是下对上的力。 热力学的推导则用到了重力势能和内能的关系……能量转换什么的高洋上不明觉厉。。。
5. Clausius-Clapeyron equation: e_sat = 6.11·exp(17.3·T/(237.3+T)) (mb/hpa) 水汽量与温度的关系。这个太重要了!
二、基本物理量、常量
- 温度 temperature (T)
- 湿度:绝对湿度 absolute humidity (rou_v),比湿 specific humidity (q_v),水汽混合比 water vapor mixing ratio (r),相对湿度relative humidity (RH), 气压差VPD
- 虚温 virtual temperature (T_v)
- 位温 potential temperature (theta)
- 虚位温 virtual potential temperature (theta_v)
- 蒸汽压 water vapor pressure (e)
- 饱和蒸汽压 (e_sat)
- 气体常数 gas constant (R)
- 比热:等压比热(C_p) ,等容比热(C_v)
- 水气分子量比 ε=0.622=18/29
三、各物理量间基本关系
- q_v = rou_v/rou_a; r = rou_v/rou_d
- 空气密度rou_a = rou_v + rou_d
- 比湿与水汽混合比在数值上相近,因为水汽密度(绝对湿度rou_v)实在过于微小。
- 用露点温度Td 和 C-C equation可以算出实际蒸汽压e,露点温度可以看成是在同样的水汽量、蒸汽压e下,由原有温度降温到令该水汽饱和的温度,这个就是降雨的第一个条件。简而言之,温度决定了饱和需要多少水汽 demand,而露点温度就是现有水气的衡量 actual content。
- T_v = T(1+0.61q) 虚温是对理想气体方程应用在湿空气中的一个校正,因为密度、specific gas constant 都是会随着空气湿度变化的,因此简单运用理想气体方程的话要考虑R的变化,在保持R为干空气气体常数的情况下,虚温就变成绝对温度和比湿的函数。注意,虚温是对理想气体方程的校正,加入了水汽量的信息,我理解这不涉及物理过程,但如果按照物理模型理解则是:虚温是干空气为了具有与湿空气相同的压强和密度所具有的温度,由于湿空气密度小于干空气(注意,湿空气的水分子量小于空气平均分子量),根据理想气体方程,等压密度变小,则温度变大。另外还要注意的是,当上升气团中的水汽饱和之后,假设水汽量不变,即rou_w不变,原式子 rou_d = rou_a - rou_v 要变成 rou_d = rou_a - rou_w = rou_d = rou_a - (rou_v + rou_l) 所以结果是 T_v = T(1+0.61q_sat - q_liquid)
- theta = T(P_0/P)^(R_a/C_p) 位温某种程度上容易理解一些,但是涉及的热力学知识更加复杂。这里常见的物理模型是假设理想气体在绝热条件adiabatic下,未饱和的湿空气下降到标准气压P_0处时的温度。位温考虑了空气的可压缩性,被用来除去气团与绝热膨胀、压缩带来的cooling or warming effect,用来比较不同高度层中空气气团的温度。
I. (热力学第一定律) rouC_p·dT = dP
II. (理想气体方程) P = rouRT
III. (静力平衡方程) dP = -rougdz
由I,II 可得到位温,泊松方程
(C)如果要引入熵的定义,那就是s=Q/T,温度是分子热动能,是布朗运动、随机过程,而熵是有序程度,突然觉得好神奇的热统计学!热量由动能和秩序共同决定,比如同样温度的气体和固体,当然是气体的热量大……,这个和比热的关系是什么?很好奇!!
那么等压绝热地把气体从一个高度放到海平面的过程就是一个等熵过程,令ds = 0。
因为dQ = Tds,
所以dQ = dH - VdP = Tds => dH = Tds + VdP
=> ds = dH/T - V/TdP = C_pdT/T - V/TdP
加入理想气体方程,
ds = C_pdT/T - RdP/P。
ds = 0, 则C_pdT/T = RdP/P
由I,III可得到气温与高度的关系,即干绝热直减率,dT/dz = -g/Cp
由I,II,III联立,还是得到气压与温度的关系。
要得到气压与海拔的关系,假设温度不变,则有P = P_0·exp(-z/H),其中标高H = RT_0/g0。
(2)另外,这个泊松方程只是针对理想气体,对于湿空气又要另外处理,这就是为什么有假相对位温。。。静力平衡方程
II. (理想气体方程) P = rouRT
III. (静力平衡方程) dP = -rougdz
由I,II 可得到位温,泊松方程
I. 推导可有三种思路:
(A)根据热力学第一定律 dU = dQ + dW / dQ = dU + PdV
(A)根据热力学第一定律 dU = dQ + dW / dQ = dU + PdV
(1)内能变化受温度变化调控,dU = dT×等容比热×质量m,定容热容量C_v = dU/dT
(2)外界对气体做功dW = -PdV,等压绝热过程中,气块与周围环境气压的调整是相当迅速的,每一时刻,做功的气压P是已经调整后的气压,由于气块气压在下降、上升过程中会不断变化,所谓等压,其实是微元后的等压,并不是恒压(气块在整个上下移动过程中压力不变)。。。
(3)绝热令dQ=0,
针对每一时刻每单位变化的体积气体列以下方程,C_v·dT = -PdV,
(4)对理想气体公式两边求导, PdV + VdP = RdT,得到C_v·dT + RdT = VdP,
C_p·dT = (C_v+R) dT = VdP,可得rouC_p·dT = dP。
气块上升根本不是等压或等容过程,两者都在变化,所以用焓的状态来想也挺好的,
绝热,焓没有发生变化,所以温度的变化就来自于体积和压力的共同变化。
等容过程,需要等价于体积变化的热能,而等压过程,需要等价于压力变化的热能,
由于等容过程难以计算和接近,所以通过等压过程,实际上要求的就是压力变化下的热能,再引入压力的垂直梯度,就可以得到温度如何随高度变化的压力变化而变化。
绝热,焓没有发生变化,所以温度的变化就来自于体积和压力的共同变化。
等容过程,需要等价于体积变化的热能,而等压过程,需要等价于压力变化的热能,
由于等容过程难以计算和接近,所以通过等压过程,实际上要求的就是压力变化下的热能,再引入压力的垂直梯度,就可以得到温度如何随高度变化的压力变化而变化。
(B)如果引入焓的定义,关于等压比热,定压热容量C_p = dH/dT,
C_pdT = dU + dPV = dQ + VdP
焓是状态描述量:H = U + PV,dH = dU + PdV + VdP = dQ + VdP
在等压过程中,VdP = 0, 所以等压过程中焓变就是热量变化。如果是等压绝热,dQ = 0,则是等焓过程。
那么等压绝热地把气体从一个高度放到海平面的过程就是一个等熵过程,令ds = 0。
因为dQ = Tds,
所以dQ = dH - VdP = Tds => dH = Tds + VdP
=> ds = dH/T - V/TdP = C_pdT/T - V/TdP
加入理想气体方程,
ds = C_pdT/T - RdP/P。
ds = 0, 则C_pdT/T = RdP/P
由I,III可得到气温与高度的关系,即干绝热直减率,dT/dz = -g/Cp
由I,II,III联立,还是得到气压与温度的关系。
要得到气压与海拔的关系,假设温度不变,则有P = P_0·exp(-z/H),其中标高H = RT_0/g0。
(2)另外,这个泊松方程只是针对理想气体,对于湿空气又要另外处理,这就是为什么有假相对位温。。。静力平衡方程
四、重要概念
- 静力稳定性:以前不知道这个词那么奇怪,干嘛起那么长
- 绝热递减率:大气大部分过程都是绝热过程,这意味着没有热量进出。干绝热递减率,发生原因是因为气压的变化,体积的膨胀,
位温描述了绝热过程下保持大气标准压强时的温度,位温是一个守恒的量
Monday, April 7, 2014
不要自乱阵脚
1、在规定的时间内完成任务,不要占用其他时间(即拖延)来完成单项任务。
之所以后期速率下降,就是因为所谓的八十/二十原则,可以理解为一个对数曲线,到后期就无法加速,既是感觉到快要饱和,就有刹车的意思。只有告诉自己还有下一个明确的任务,才能够继续保持较高的效率。
2、要学会多任务切换
灵活转换能力太弱
想要做的事情实在太多:
1、完成donohue's method 本来就已经有代码,只需要迅速改完就可以,已经有计算各种各样trend的代码
2、开始看新代码,justin邮件里面的代码。
之所以后期速率下降,就是因为所谓的八十/二十原则,可以理解为一个对数曲线,到后期就无法加速,既是感觉到快要饱和,就有刹车的意思。只有告诉自己还有下一个明确的任务,才能够继续保持较高的效率。
2、要学会多任务切换
灵活转换能力太弱
想要做的事情实在太多:
1、完成donohue's method 本来就已经有代码,只需要迅速改完就可以,已经有计算各种各样trend的代码
2、开始看新代码,justin邮件里面的代码。
Wednesday, April 2, 2014
EU watch 数据处理基本流程
1. download data from EU watch (I looked for the data for nearly one month... just because of the wrong ftp site...)
2. use R script to make the land vector into a normal 3d array (terrible!)
3. use R script to write netcdf file
4. compress the nc file
$ ncks -4 -L9 input.nc output.nc
5. use GrADS to resample 0.5 deg to 1.0 deg into control file and binary file
fwrite use different time settings to put the data into one written file
6. use CDO to convert binary and control files into netcdf again!
$ cdo -f nc import_binary input.ctl output.nc
2. use R script to make the land vector into a normal 3d array (terrible!)
3. use R script to write netcdf file
4. compress the nc file
$ ncks -4 -L9 input.nc output.nc
5. use GrADS to resample 0.5 deg to 1.0 deg into control file and binary file
fwrite use different time settings to put the data into one written file
6. use CDO to convert binary and control files into netcdf again!
$ cdo -f nc import_binary input.ctl output.nc
Monday, March 31, 2014
我是这个伟大领域的一份子
我是这个伟大领域的一份子:认识地球,认识气候,认识人与自然的关系。
气候变化也许在十年后无人研究,但这30年对地球地表系统,大气系统,水循环的充分研究无疑是巨大的财富。
气候变化也许在十年后无人研究,但这30年对地球地表系统,大气系统,水循环的充分研究无疑是巨大的财富。
Sunday, March 30, 2014
Kolmogorov——伟大的数学家计算学家教育家思想家
自修哲双走哪都是康德的节奏后,现在又出现了走哪儿都是Kolmogorov的新节奏。这位苏联数学巨匠,所涉领域包括概率论、算法信息论、拓扑学、直觉主义逻辑、湍流、经典力学和计算复杂性理论。
他的数学观也颇具独创性,认为数学是现实中数量关系与抽象空间关系的桥梁。
数学运用到物理学过程中出现的困难往往在于为运用数学所作的假设的选择,和由数学手段所得结果的解释。
而他对人掌握数学的适应性有如下评述:(1)算法能力,对于方程式有高超的解决能力,变形的能力(说明死记硬背公式是不行的)这个我真心太缺乏了呜呜呜。(2)几何学直观,对于抽象的东西能够清晰描绘想象,并能够深入思考其联系。(3)逻辑性推理能力,包括数学归纳法。
他的数学观也颇具独创性,认为数学是现实中数量关系与抽象空间关系的桥梁。
数学运用到物理学过程中出现的困难往往在于为运用数学所作的假设的选择,和由数学手段所得结果的解释。
而他对人掌握数学的适应性有如下评述:(1)算法能力,对于方程式有高超的解决能力,变形的能力(说明死记硬背公式是不行的)这个我真心太缺乏了呜呜呜。(2)几何学直观,对于抽象的东西能够清晰描绘想象,并能够深入思考其联系。(3)逻辑性推理能力,包括数学归纳法。
Wednesday, March 26, 2014
不要纠结,勇敢去飞!
从来只在细节上尽善尽美,精益求精,却未免牵牵绊绊、束手束脚!
如何不让内心被庸庸碌碌的生活小事,上下波动的一己悲欢所埋没?
从来未尝走出舒适区域,未尝永真正的努力去追求内心的理想!
如何唤醒心底的动力,不顾一切勇敢去飞?
要看清这世上的云泥之别,只要一天意识到自己是云,就要高傲地生活。
如何不让内心被庸庸碌碌的生活小事,上下波动的一己悲欢所埋没?
从来未尝走出舒适区域,未尝永真正的努力去追求内心的理想!
如何唤醒心底的动力,不顾一切勇敢去飞?
要看清这世上的云泥之别,只要一天意识到自己是云,就要高傲地生活。
Tuesday, March 25, 2014
turbulence&ET
1. turbulence 对于latent heat 的作用
2. u star 如何影响彭满方程
2. u star 如何影响彭满方程
Friday, March 14, 2014
[转自张旦波]怎么把paper快快读了
阅读的快有两种:一种是一目十行,另一种是读时能迅速判断出哪些不用读。
第一种的快,只是干傻活,即使一目百行,终究只是搬砖;第二种的快,才是真正的快。各位或许已经明白了,终极的快,无穷大的快速阅读,是不需要读文献。许多大牛的资讯是从谈话中来的,甚至不需要什么资讯这些扰人耳目的东西,只需要做自己的idea行了,不用管别人说什么。其实我也不知道大牛是怎么弄的,上面这段话就当我是在说瞎话吧,呵呵。
我辈大多数人当然还得读paper了,可能还要读很多很多papers,所能做到的就是如何能更迅速精准地去判断哪些不需要读,以及如何让文献中不需要读的部分增加。
读文献得有些前提:
1,有一定的知识基础,可以开始做课题。比如,要做超导,至少得熟悉统计物理、高等量子力学以及固体物理的基本概念。
2,基本的英语快速阅读能力。速读、略读、跳读甚至让别人读,要做到没有什么心理压力。我见过一些读文章时生怕漏掉一个字眼的,要速读文献还得放轻松些才行。
我读文献的一些看法和经验:
一,内功,读文献快是因为知道它处于你的知识体系中的哪个位置:
1.起点很重要。对一个领域,找到一个切入点后(导师或你自己找到的相关课题),一般会有几篇比较重要的文章。这些文章需要当回事,最好亲自动手去重复下重要的推导。在一开始下了比较大的功夫后,对该小领域重要的概念和物理图像会有切实的把握。
2.找好切入点后,逐步营造自己的知识体系。把每次读文献,当作自己在某个topic上拓展知识、增进理解以及发展课题的契机。看到一篇新文章时,问下自己该文章在你的知识体系中是什么地位,它有没有补充了你的知识,有没有和你以前的观念相冲突?对于你目前正在做的课题,有没有带来新的启发?
3.当读的文章比较多时,偶尔拿出一大块时间来,比如一整个下午,或一整个晚上,把它们梳理清楚,形成一个整体的印象。
4.最重要的或许是,能找到和你一起讨论文献和课题的人。
当你对一个领域有着充分的了解后,读文献时你想要什么,以及一篇文献能带给你什么,就会有着比较清晰的认识。知识体系脉络清晰,能让你迅速精准的判断哪些不用读;而知识体系的壮大,能让你不需要读的东西增加。
二,外功,读文献也有一些技巧:
1.利用软件。文献上的图有些其实可以比较容易重复出来,用mathematica(或其它数学软件)几行命令就能实现的不妨试试,改改常数,通过不断的反馈来增进自己的理解以及看看有什么启发。这种方式对我来说很有用。
2.利用搜索引擎。我其实基本只用google scholar、arxiv以及直接上各期刊的网站。
3.读每篇文献的title、abstract、introduction和summary。注意,在abstract这些里作者只给出它认为核心的东西,而对你来说,对你有用而且重要的部分可能并没有在abstract里提到。
4.读文献时用查找功能(ctrl+F)。有时候看文章里有没有讲什么,直接查找关键词就行,甚至可能比看abstract之类还快。
5.有时候直接去看文献里的图就行了,需要的时候再去看正文。
6.去找某一特定问题的答案时,可能需要找一堆文献,只读文章中涉及到该问题的部分。
7.有时候我们只需要找到一个信息而已,不需要纠结它到底是什么意思。对于不懂但暂时不重要的东西不需要什么心理压力。
8.偶尔去读读其它领域的文章,不为别的,就为了挑战下自己对陌生信息的汲取能力。
Thursday, March 13, 2014
转一篇拖延症的真诚好文
原文作者:陈达成
上大学以后,我开始有了拖延的毛病。立下目标无数,但时常却动力奇缺,常常在网上浏览着各色的小说和帖子,或是玩很无聊的弱智在线小游戏,却不愿碰专业书本或文献一下,甚至哪怕deadline就在几天之后,只有在deadline之前一点点时间才会因紧迫感而开始着手学习任务。这样下来,学业上总体来说算是马马虎虎,但却离自己的理想越来越远。总之,就是无法完全地上进,又不愿彻底地堕落。
上大学以后,我开始有了拖延的毛病。立下目标无数,但时常却动力奇缺,常常在网上浏览着各色的小说和帖子,或是玩很无聊的弱智在线小游戏,却不愿碰专业书本或文献一下,甚至哪怕deadline就在几天之后,只有在deadline之前一点点时间才会因紧迫感而开始着手学习任务。这样下来,学业上总体来说算是马马虎虎,但却离自己的理想越来越远。总之,就是无法完全地上进,又不愿彻底地堕落。
拖延的基础,实际上是对自身很高甚至不切实际的期望。如果说完成任务是走过一块一人宽、十米长的厚木板,那么当它放在地面上时,几乎人人都可以轻松地走过。但对结果的高期望则像是将这块木板架到了两座高楼间十层楼高的地方,于是我们会害怕掉下去,即害怕失败或害怕成功(比如我有时偷偷希望实验不要成功,这样我就可以不用面对之后更大强度的后续实验,其实是害怕失败的一种变体),于是我们甚至不敢向前迈上一步。而deadline则是身后的一团火,当它离我们足够近时,害怕被烧着的恐惧感战胜了对掉下去的恐惧感,于是我们一下子冲了过去,在deadline前赶完了任务,尽管质量很难说。
更可怕的是,很多拖延的人(包括我自己)甚至很享受那种deadline过后突然一下放松的感觉,而且拖延的结果有时反而挺好(比如我本科时写实验报告,如果我拖到最后,我往往可能因为能够和其他人讨论并参考其他人的观点而比我先完成要写得更全面更好)。这种时候,我会在心里表扬自己很有“效率”。同时,长期这样下来,尽管我不愿承认,但我潜意识里确实觉得自己如果花了很多时间成绩却平平,会是一件非常丢脸的事情。于是这一切的一切,都再次强化的拖延—— 即使结果不好,我也可以说,那是因为我没尽全力,如果我真正努力,肯定会结果很好的(心理学上的高自尊人格)。
但我们不能永远靠放火来逼自己走过木板,那样的话,总会有烧着自己的一天;而且,那种压抑的焦虑感和对自己不满意的感觉也并不令人愉快。因此,最好的办法是将木板的高度降低——不要对自己的结果(比如分数)太高的要求,认真完成就好。由于我们的天资和其它能力的限制,也许即使我们竭尽全力也无法像某些出众人物一样做得那么好,但不管怎么样,绝大多数情况下,尽力的结果都会比我们不去努力要来得好得多,不是吗?
对此在豆瓣的那个帖子里有一个非常有趣的方法。那位作者将一篇论文拖了几个月之久都不愿开写,她的心理师让她不要管好坏,以她可以写出的最差的论文为目标写一篇出来作为试验。作者照做了,然后惊讶地发现她写出来的“最差”的文章竟然挺让自己满意的,感觉稍做修改就可以交给导师过目了。当然,有时写出来的初稿和论文要求还是有差距的,比如要求12页但初稿只有5页。这种情况下作者就用了心理师教她的另一个方法:每次工作一个小时,目标是让论文多一页,同样以“最差”为目标。这个方法实际就是大大降低了拖延者做事的心理成本和负担,相当于把“木板”放到了“地面”上。不妨一试。
人的完美倾向,严重点就是完美主义,在拖延中也起了很大作用。当我想起幼时的远大理想并希望为之努力时,我只要想起我的同学中无处不在的“牛人”,便会觉得自己已经浪费了太多时间,而且别人现在不仅比我强得多,更因为他自身的优势而占有了比我更好的资源,所以我现在即使努力估计也赶不上他了,更别提什么远大的理想了,于是就又开始了拖延。
事实上,这就像是一场马拉松,你在开始因为种种原因落后于别人不少,于是你就开始纠结自己到底有没有跑下去的必要,却不努力去跑,于是被拉得更远。这时,你望着遥远的终点,感觉很绝望,都不想跑下去了。这时,如果你不去看不去想重点,也不去想别人,只看着自己的脚下跑——“管它呢,我先跑过这个小土丘再说。”就这样一个小目标一个小目标地跑,最终你一定会跑到终点线,那时你也许会发现,你并不是最慢的,甚至是很不错的。所以,专注于你努力的过程而非最后的结果,为你认真学习了一个下午或认真做了一个实验而不是最后考试的那个A或一个漂亮的实验结果而表扬自己,你会发现完成工作其实不怎么难。
另外,专注于当下对拖延者来说也是很需要注意的一个地方。这里说的专注于当下,不是指专注于你现在脑子里的想法和情绪,而是专注于你现在在做的或选择要做的事情。其实,很多拖延的人恰恰就是太过关注自己一时的情绪,比如觉得自己不开心了,得放松一下,上上网……然后就开始了拖延。其实从心理学角度来说,过于关注自己一时的情绪是不懂得推迟满足感的一种表现,就像小孩子想要一个玩具就非要马上得到不可一样,这样的做法会大大削弱一个人的自制力。而且,心理学实验表明,满足自己一时的情绪需求并非最佳策略,从长期角度上来讲,它会降低一个人的自我满足感和幸福感而非增加,想想因为玩乐休闲而拖延了工作后自己的负罪感和焦虑感就知道了。
在这个方面,我个人认为森田疗法的理念是很适用的。具体而言,就是不去理会那些打搅你的情绪波动(比如对自己说:“你要郁闷就郁闷吧,不管你了。”然后就不理会了),顺其自然,专心做你要做的事情。就像一颗小石子投入湖中,会泛起一圈圈涟漪,你若不理,湖面最终会自己平静下来;倘若你过于注意那颗小石子,试图把它捞出来,反而会激起更大的波澜,使湖面不得平静。豆瓣那个帖子的作者提供了一个方法,我觉得也是很有用的:把你当时因为一时情绪想要做的事情(比如上网、玩游戏、看电影、看小说等等)记下来,告诉自己等你做完工作就去做那些事情,然后就专心工作,等到工作结束再去做记下的事情。
此外,不要为未来过度操心 也是专注当下的一个方面。这点很容易理解,我就不在此赘言了。
同时,对于已经发生的不愉快的事情,或是对自己过去行为的不满,面对和接受好了,不必逃避。但面对和接受不是放任自流,而是不再沉浸于自责、痛苦等负面情绪中,客观地更好地理解当下的状况,进而为以后做打算。这一点可以和前文提到的“马拉松”的例子联系起来,只有真正面对和接受了你落后于别人的事实,你才不会为“我想得第一可是却落后别人那么多”之类的想法而纠结,进而才能以现实为基础,踏踏实实地努力去跑。
另外,在看书的时候(当然也有其它时候),很多人都常有“刚才看了好几页却不知道讲了些什么”的“不自主飞翔”的神游体验。对此,养成发现新事物的习惯,像初生的婴儿一样去看世界,是很有好处的。无论在什么环境中,时刻注意那些熟悉的东西有什么变化,比如看书,就可以注意想想这书里讲的和我以前知道的有什么不同又有什么联系、有什么很有意思的地方等等,慢慢地,就能做到专注于当下而不至于迷失。
战胜拖延,追根究底,还是要改变自己的思维方式。这并不容易,但不是不可能。改变思维方式,尤其是改变潜意识,最重要的是要改变自我对话的方式。下面是一些自我对话的tips(括号里是要丢弃的自我对话方式):
1.我选择/我想要…… (vs.我必须/我一定得……)
2.这个任务我可以每次做一小步 (vs.这个任务太大了)
3.我今天要开始做…… (vs.我今天必须完成……)
4.我也可以是平凡人 (vs.我必须完美/出类拔萃)
5.我一定要休息娱乐/休息娱乐是正常生活的一部分 (vs.我没空休息娱乐/休息娱乐就是偷懒)
我想大多数有拖延情况的人也许都还没到严重成“症”的地步,但也或多或少地被它影响了生活,影响了对心中理想的追寻。克服一个问题并不简单,需要自己给自己很多的支持与鼓励,期间也许会有许多的反复,但只要我们的大方向是好的,我们就该肯定自己。
“认识到眼前残酷 (这个词程度太深,但我想不出换什么好)的现实,同时又看到未来的光明与希望。”这是我一直很欣赏的对生活的态度。
Monday, March 10, 2014
Important Points & Reading List
知识点
(一)基本概念
流体力学、湍流、大气物理基础、下渗过程、质量输送、水量平衡、地球能量平衡、温室气体与能量平衡
已掌握:emissivity, virtual potential temperature, index notation, 拉格朗日欧拉描述,continuity, mass, momentum, energy budget equation
(二)数学工具
线性代数、张量分析、统计方法
已掌握:张量初步
阅读清单
1. Physical hydrology
(1) Dingman: hydrological processes, hydrologic modelling
Todo: 6
Done:
(2) Shuttleworth: energy budget, precipitation, ABL, resistence
Todo: 4, 6 surface energy fluxes
11-14 precipitation
15-19 ABL
Done: 2-3 virtual potential temperature
8 GCM
(3) Hornberger: hydrology basic physical concepts
Todo: 8 unsaturated water
Done:
(4) Bonan:
Todo: surface energy fluxes
2. Boundary layer
(1) Stull:
Todo: 2,3,5
Done: 1
(2) Lumley:
Todo: 1
Done:
3. Fluid Dynamics
(1) 305 Note
(2) Lumley : video
(3) Hornberger:
Todo: 3 fluid dynamics
4. Atmosphere
(一)基本概念
流体力学、湍流、大气物理基础、下渗过程、质量输送、水量平衡、地球能量平衡、温室气体与能量平衡
已掌握:emissivity, virtual potential temperature, index notation, 拉格朗日欧拉描述,continuity, mass, momentum, energy budget equation
(二)数学工具
线性代数、张量分析、统计方法
已掌握:张量初步
阅读清单
1. Physical hydrology
(1) Dingman: hydrological processes, hydrologic modelling
Todo: 6
Done:
(2) Shuttleworth: energy budget, precipitation, ABL, resistence
Todo: 4, 6 surface energy fluxes
11-14 precipitation
15-19 ABL
Done: 2-3 virtual potential temperature
8 GCM
(3) Hornberger: hydrology basic physical concepts
Todo: 8 unsaturated water
Done:
(4) Bonan:
Todo: surface energy fluxes
2. Boundary layer
(1) Stull:
Todo: 2,3,5
Done: 1
(2) Lumley:
Todo: 1
Done:
3. Fluid Dynamics
(1) 305 Note
(2) Lumley : video
(3) Hornberger:
Todo: 3 fluid dynamics
4. Atmosphere
Saturday, March 8, 2014
spritz对科研的启示
spritz从阅读原理来看是不合理,它假设人眼接受、大脑理解速率时时、处处相等。其实传统阅读之所以高效,就是因为大脑对语群是进行详读/略读进行了预判,容易理解的地方速率快,难理解的地方速率慢。而这个应用就是把该节省的没节省,把不该节省的时间节省了,导致了理解困难、回溯困难。
我们之所以读书慢,首先是因为信息爆炸,其次也是因为注意力下降。这个应用抓住了集中注意力这一要点,不过显然让注意力更加集中并不是该应用的优势所在。这件事情在科研上亦有借鉴意义,解决问题之前先别忙着咣咣猛搞,而是先搞清楚问题在哪。如果没想清楚问题所在就开始解决问题,就是南辕北辙。
我们之所以读书慢,首先是因为信息爆炸,其次也是因为注意力下降。这个应用抓住了集中注意力这一要点,不过显然让注意力更加集中并不是该应用的优势所在。这件事情在科研上亦有借鉴意义,解决问题之前先别忙着咣咣猛搞,而是先搞清楚问题在哪。如果没想清楚问题所在就开始解决问题,就是南辕北辙。
Thursday, March 6, 2014
Turbulence很难很有趣!
这个流体力学最难的分支实在太迷人了!
一路上越走快越觉得自己脑力太差,理解速度太慢!
加油,不走留在原地当然很舒服,但只有让自己不舒服才能实现自己的梦想和成功!
一路上越走快越觉得自己脑力太差,理解速度太慢!
加油,不走留在原地当然很舒服,但只有让自己不舒服才能实现自己的梦想和成功!
Wednesday, March 5, 2014
如何集中注意力?How to stay focused?
两周体验总结:这个早睡早起非常有效,而同时晚上不要疲于工作,早早进入睡眠状态,也是非常有帮助的。而要晚上不疲于工作,白天效率又要极高才行,而要白天效率极高,你平时的生活必须要有明显的生活、工作分离,高效、健康的生活方式,这也就意味着周末正常作息,放松和学习一些课外新鲜事物的兼容。
最重要的策略,当然是要坚持、不放弃!
1. 做好工作准备。专注简单的工作环境,早起,自我暗示等。在纸上简单列出今日的工作计划(不要太多太花时间)。
尽早完成重要工作。(先重要后紧急,重要的事情不做,迟早会变成致命的紧急事件)形成积极暗示。
2. 休息时间不能分心。午休小睡等迅速恢复体力精神,与查邮件,查短信,游戏,电视剧,小说的两种休息时间会带来完全不同的效果。如果你一直在用后者休息,那么你永远不会有注意力集中事情完成的真正休息时间。
Breaks aren’t about having fun, that’s what having real time off is for. Breaks are about strategically recouping your energy and focus to reattack the work at hand.
3. 积极工作。尤其是在那些漫长工作时间。
费曼技巧。
1)write down concepts on one piece of paper
2) try to imagine teach a student those concepts using description and figures
3) go back to reference if you are not sure about your lecture
4) loop until you can make both you and other people understand
4. 固定的时间表。深层次的工作生活分开,避免形成拖延。不然万一哪天你要出去玩,但是事情都没做完,就去不成。或者报告提前了你就跪了。
最重要的策略,当然是要坚持、不放弃!
1. 做好工作准备。专注简单的工作环境,早起,自我暗示等。在纸上简单列出今日的工作计划(不要太多太花时间)。
尽早完成重要工作。(先重要后紧急,重要的事情不做,迟早会变成致命的紧急事件)形成积极暗示。
2. 休息时间不能分心。午休小睡等迅速恢复体力精神,与查邮件,查短信,游戏,电视剧,小说的两种休息时间会带来完全不同的效果。如果你一直在用后者休息,那么你永远不会有注意力集中事情完成的真正休息时间。
Breaks aren’t about having fun, that’s what having real time off is for. Breaks are about strategically recouping your energy and focus to reattack the work at hand.
3. 积极工作。尤其是在那些漫长工作时间。
费曼技巧。
1)write down concepts on one piece of paper
2) try to imagine teach a student those concepts using description and figures
3) go back to reference if you are not sure about your lecture
4) loop until you can make both you and other people understand
4. 固定的时间表。深层次的工作生活分开,避免形成拖延。不然万一哪天你要出去玩,但是事情都没做完,就去不成。或者报告提前了你就跪了。
[流体力学](一)连续性方程
一、拉格朗日、欧拉描述
拉格朗日:经典力学应用在每一个物质点上的描述,对每一个物质点的时间、速度、位移进行描述。
欧拉:参照系的替换,把跟踪物质点换成在特定点观察物质点的运动速度。衍生场理论,把时间依赖性去掉,把速度变成场。
质量守恒定律(mass conservation law)
=>同一流体的质量在运动过程中不生不灭
二、直角坐标系+拉格朗日推导
直角坐标系中,密度由四维变量(t,x,y,z)时间、三个方向决定,
假设在无限小的流体质点,由于距离太短,时间变化为0,
拉格朗日:经典力学应用在每一个物质点上的描述,对每一个物质点的时间、速度、位移进行描述。
欧拉:参照系的替换,把跟踪物质点换成在特定点观察物质点的运动速度。衍生场理论,把时间依赖性去掉,把速度变成场。
质量守恒定律(mass conservation law)
=>同一流体的质量在运动过程中不生不灭
二、直角坐标系+拉格朗日推导
直角坐标系中,密度由四维变量(t,x,y,z)时间、三个方向决定,
假设在无限小的流体质点,由于距离太短,时间变化为0,
假设在dx,dy,dz这几个微小的变化里,密度在不同方向上发生了变化导致了质量的变化
对这个dx微小变化进行泰勒展开(偏微分多阶之和),去掉二阶以上展开。
最终得到有限体积内的质量变化为0:
drou/dt + d(rouu)/dx + d(rouv)/dx + d(rouw)/dz = 0
物理意义:相对密度变化率等于负的相对体积变化率,从而体积内的质量不会发生改变。
三、欧拉推导
CS控制面, CV控制体积
drou/dt代表单位体积内不定常性(非定常场 non constant)引起的质量变化,右侧-d(rouui)/dxi代表了单位体积表面流出的流体质量。
四、不可压缩流体
drou/dt=0,
因此,
d(rouu)/dx + d(rouv)/dx + d(rouw)/dz = d(rouui)/dxi = divergence of rouu = 0
即是流体微小质团的密度、质量在流动过程中不发生变化,因此体积也不发生变化。
Tuesday, March 4, 2014
princeton google drive 小测
1. 同一台电脑不支持多个Google account 的 Google drive登陆,每次需要登出并且设置新账号到新的空目录才能够同步,实在坑爹。
2. 在浏览器内google 产品的切换也是个问题,如果我想在普林Google账号写google doc,但又要打开personal gmail邮箱,会出现各种权限交换,非常麻烦,登了这个就要退出那个,故以后要双浏览器了,chrome还是继续登陆原来的Google 账号,然后写Google doc就用safari了……
2. 在浏览器内google 产品的切换也是个问题,如果我想在普林Google账号写google doc,但又要打开personal gmail邮箱,会出现各种权限交换,非常麻烦,登了这个就要退出那个,故以后要双浏览器了,chrome还是继续登陆原来的Google 账号,然后写Google doc就用safari了……
Saturday, March 1, 2014
线性代数3-方程组=>矩阵
一、方程组的几何解释
线性方程组的矩阵形式AX=B
系数矩阵(matrix of coefficients)A,
未知向量(vectors of unknown)X,
右侧向量B.
二维平面:
一个二元一次方程的解是一条直线。
行图像:每个完整方程用直线表现出来,两直线的交点是两个二元一次方程的解。
列图像:系数矩阵变成多个列向量,把未知向量分解成列向量的系数,然后找到正确的未知向量系数(线性组合)得到右侧向量B。列向量是vector,转换成向量的加法。
*如果是三个方程,则是三维向量的加法。
*列向量的个数,就是线性方程组的维度。
三维空间:
三点组成一个平面,一个三元一次方程的解是一个平面。
两个方程的解是两个二元一次方程组,还是两个平面,解是直线,两个平面之间有交线
三个方程的解是三个平面相交,想象成两个平面相交在一条直线上,再来一个平面,直线与平面相交于一个点上。
一个含有3个未知数的方程组在三维空间中确定一个平面,两个方程组确定一条直线,三个方程组确定一个点,这个点就是方程组的解,当然前提是这三个方程组所确定的平面两两不平行。而三维空间的行图像很难画出。
列图像:还是用向量加法。
列的线性组合是否能覆盖整个三维空间?或者说所有B是否都有对应的解?
非奇异矩阵(non-singular matrix)
可逆矩阵(invertible matrix)
如果是奇异矩阵,不可逆矩阵
线性方程组的矩阵形式AX=B
系数矩阵(matrix of coefficients)A,
未知向量(vectors of unknown)X,
右侧向量B.
二维平面:
一个二元一次方程的解是一条直线。
行图像:每个完整方程用直线表现出来,两直线的交点是两个二元一次方程的解。
列图像:系数矩阵变成多个列向量,把未知向量分解成列向量的系数,然后找到正确的未知向量系数(线性组合)得到右侧向量B。列向量是vector,转换成向量的加法。
*如果是三个方程,则是三维向量的加法。
*列向量的个数,就是线性方程组的维度。
三维空间:
三点组成一个平面,一个三元一次方程的解是一个平面。
两个方程的解是两个二元一次方程组,还是两个平面,解是直线,两个平面之间有交线
三个方程的解是三个平面相交,想象成两个平面相交在一条直线上,再来一个平面,直线与平面相交于一个点上。
一个含有3个未知数的方程组在三维空间中确定一个平面,两个方程组确定一条直线,三个方程组确定一个点,这个点就是方程组的解,当然前提是这三个方程组所确定的平面两两不平行。而三维空间的行图像很难画出。
列图像:还是用向量加法。
列的线性组合是否能覆盖整个三维空间?或者说所有B是否都有对应的解?
非奇异矩阵(non-singular matrix)
可逆矩阵(invertible matrix)
如果是奇异矩阵,不可逆矩阵
行图像中看即至少有两个方程组所表示的平面是平行的,
列图像中看即至少有两个列向量是指向同一方向的(即不相互独立,共线向量)
此时,只有b处在这个向量和另一个非共线向量所表示的平面内时,方程组才有解。
二、消元法(elimination)解方程组
矩阵与向量相乘:
[2 5] [1] [1] [5] [12]
[1 3] [2] = 1 [2] + 2[3] = [7 ]
上三角矩阵
增广矩阵 augment
将主对角线上的主元固定(0不能做主元),把主元下面的元素消为0。
右侧向量回代过程:A中加入b列向量变成增广矩阵,增广就是增加的意思,增加了新列,左侧矩阵消元时,右侧向量也会跟着变化
将U和c代入原式子可得解
消元法失效的情况(指不能得到三个主元):当主元上为0时,就通过交换行将主元位置变为非0,当通过交换行还不能解决0主元的时候,消元法就失效了。(不能解决0主元的矩阵是不可逆矩阵)
三、矩阵运算一个3×3矩阵 乘以 一个列向量 = 列向量
二、消元法(elimination)解方程组
矩阵与向量相乘:
[2 5] [1] [1] [5] [12]
[1 3] [2] = 1 [2] + 2[3] = [7 ]
上三角矩阵
增广矩阵 augment
将主对角线上的主元固定(0不能做主元),把主元下面的元素消为0。
右侧向量回代过程:A中加入b列向量变成增广矩阵,增广就是增加的意思,增加了新列,左侧矩阵消元时,右侧向量也会跟着变化
将U和c代入原式子可得解
消元法失效的情况(指不能得到三个主元):当主元上为0时,就通过交换行将主元位置变为非0,当通过交换行还不能解决0主元的时候,消元法就失效了。(不能解决0主元的矩阵是不可逆矩阵)
三、矩阵运算一个3×3矩阵 乘以 一个列向量 = 列向量
等于列向量每个元素乘以一列 之和
一个行向量 乘以 一个3×3矩阵 = 行向量
等于行向量每个元素乘以一行 之和
等于行向量每个元素乘以一行 之和
矩阵相乘如何取行、列向量?
得到每一行如a(1,:)
要取左侧矩阵的第一行,右侧矩阵的三列(即整个矩阵)
得到每一个元素,如a(2,3)
则要取左侧矩阵的第二行,右侧矩阵的第三列进行行列相乘
相乘的法则:如何计算?
所谓相乘,是行a或列b同一序号的元素乘积之和
即ab = sum(aibi)
左侧矩阵取出的行向量/整个矩阵,每次相乘时取列元素/列向量
右侧矩阵取出的列向量/整个矩阵,每次相乘时取行元素/行向量
取出来的列向量、行向量序号要对应,比如第一列乘第一行
[Matlab] Mac Retina 安装 Matlab 2013b 分辨率低问题
分辨率低的原因在于Matlab 2013b自带的java Runtime Environment(JRE)版本太老,不支持Retina屏幕。
1)打开Matlab,检查JRE版本是否已经是1.7.0_45。在命令行端口处(prompt)输入:
3)去除旧版本的JRE 7u11 ,打开Terminal(bash shell),依次敲入以下命令行:
1)打开Matlab,检查JRE版本是否已经是1.7.0_45。在命令行端口处(prompt)输入:
>>java -version
2)发现版本确实过时(outdated)后,下载相应的Java1.7.0_45。3)去除旧版本的JRE 7u11 ,打开Terminal(bash shell),依次敲入以下命令行:
$ cd /Applications/MATLAB_R2013b.app/sys/java/jre/maci64
$ mv jre jre.orig
4)替换matlab环境变量路径到新的JRE所在文件夹: $ ln -s '/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home' jre
也有可能放在下面这个路径:$ ln -s /Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/jre
Thursday, February 27, 2014
终于有少许突破了。。。加油!
进入科研队伍也是有两三年了,现在终于。。。终于对数据有了稍许感觉,出了什么bug大概也有判断的方向了,之前一直觉得没有怎么前进,估计是努力和灵活性都同时缺乏的结果,因为灵活性不够,就卡在那里,不继续努力。
大师兄,终于有你说的那种感觉了!
大师兄,终于有你说的那种感觉了!
Friday, February 21, 2014
[Linux] Install R and Rpy on Linux
Updated on 02/04/2014
Check the Rhome
open Rstudio
>> R.home(component = “home”)
Install rpy2 with Anaconda
I am not sure how other people work on this.
I tried to install rpy2 by this command:
pip install rpy2
but it failed because the error like headline, gcc status, etc..
I also tried to install some dependencies like python-devel, but still, in vain.
Finally, I tried conda install. This magic command always works. That's why I always save it as the last back-up option.
Here you go:
After one year, I found I've spent a lot of useless time in doing this. Lesson learned: never install standalone python package on your own. That's a lot of pain.
Install Rpy on Linux
Written on 02/21/2014
- 下载R的压缩包R-x.y.z.tar.gz并保存到本地:the R archive Web Page
- 在命令行输入 tar xzvf R-x.y.z.tar.gz 解压缩到该文件夹
- 命令行输入 cd R-x.y.z 进入该文件夹
- 命令行输入./configure
- 命令行输入make ,将近 10分钟的编译过程
- 命令行输入make check 保证程序正常安装
- 如果有root的权限,以管理员身份登陆,命令行输入make install 这样主机上所有用户都能使用
- 命令行输入make dvi;make info;make pdf
- 安装完毕
Tuesday, February 18, 2014
重拾线性代数·2
强烈推荐原博客:孟岩:理解矩阵(一)
容纳运动是空间的本质特征。事实上,不管是什么空间,都必须容纳和支持在其中发生的符合规则的运动(变换)。
1. 线性空间是什么样的对象的集合?
线性空间中的任何一个对象,通过选取基和坐标的办法,都可以表达为向量的形式。
2. 线性空间中的运动如何表述的?也就是,线性变换是如何表示的?
从线性空间中的一个点运动到任意的另外一个点,都可以通过一个线性变化来完成。在线性空间中,当你选定一组基之后,不仅可以用一个向量来描述空间中的任何一个对象,而且可以用矩阵来描述该空间中的任何一个运动(变换)。而使某个对象发生对应运动的方法,就是用代表那个运动的矩阵,乘以代表那个对象的向量。
在线性空间中选定基之后,向量刻画对象,矩阵刻画对象的运动,用矩阵与向量的乘法施加运动。
矩阵的本质是运动的描述。== 矩阵是线性空间里的变换的描述。
矩阵是线性空间中的线性变换的一个描述。在一个线性空间中,只要我们选定一组基,那么对于任何一个线性变换,都能够用一个确定的矩阵来加以描述。对于一个线性变换,只要你选定一组基,那么就可以找到一个矩阵来描述这个线性变换。换一组基,就得到一个不同的矩阵。所有这些矩阵都是这同一个线性变换的描述,但又都不是线性变换本身。
容纳运动是空间的本质特征。事实上,不管是什么空间,都必须容纳和支持在其中发生的符合规则的运动(变换)。
1. 线性空间是什么样的对象的集合?
线性空间中的任何一个对象,通过选取基和坐标的办法,都可以表达为向量的形式。
2. 线性空间中的运动如何表述的?也就是,线性变换是如何表示的?
从线性空间中的一个点运动到任意的另外一个点,都可以通过一个线性变化来完成。在线性空间中,当你选定一组基之后,不仅可以用一个向量来描述空间中的任何一个对象,而且可以用矩阵来描述该空间中的任何一个运动(变换)。而使某个对象发生对应运动的方法,就是用代表那个运动的矩阵,乘以代表那个对象的向量。
在线性空间中选定基之后,向量刻画对象,矩阵刻画对象的运动,用矩阵与向量的乘法施加运动。
矩阵的本质是运动的描述。== 矩阵是线性空间里的变换的描述。
矩阵是线性空间中的线性变换的一个描述。在一个线性空间中,只要我们选定一组基,那么对于任何一个线性变换,都能够用一个确定的矩阵来加以描述。对于一个线性变换,只要你选定一组基,那么就可以找到一个矩阵来描述这个线性变换。换一组基,就得到一个不同的矩阵。所有这些矩阵都是这同一个线性变换的描述,但又都不是线性变换本身。
什么是基呢?这里只要把基看成是线性空间里的坐标系就可以了。
若矩阵A与B是同一个线性变换的两个不同的描述(之所以会不同,是因为选定了不同的基,也就是选定了不同的坐标系),则一定能找到一个非奇异矩阵P,使得A、B之间满足这样的关系:
A = P-1BP
所谓相似矩阵,就是同一个线性变换的不同的描述矩阵。
什么相似标准型,对角化之类的内容,都要求变换以后得到的那个矩阵与先前的那个矩阵式相似的,为什么这么要求?因为只有这样要求,才能保证变换前后的两个矩阵是描述同一个线性变换的。
若矩阵A与B是同一个线性变换的两个不同的描述(之所以会不同,是因为选定了不同的基,也就是选定了不同的坐标系),则一定能找到一个非奇异矩阵P,使得A、B之间满足这样的关系:
A = P-1BP
所谓相似矩阵,就是同一个线性变换的不同的描述矩阵。
什么相似标准型,对角化之类的内容,都要求变换以后得到的那个矩阵与先前的那个矩阵式相似的,为什么这么要求?因为只有这样要求,才能保证变换前后的两个矩阵是描述同一个线性变换的。
重拾线性代数·1
一. 学习动机(exciting questions)
矩阵究竟是什么东西?
向量可以被认为是具有n个相互独立的性质(维度)的对象的表示,矩阵又是什么呢?
我们如果认为矩阵是一组列(行)向量组成的新的复合向量的展开式,那么为什么这种展开式具有如此广泛的应用?特别是,为什么偏偏二维的展开式如此有用?如果矩阵中每一个元素又是一个向量,那么我们再展开一次,变成三维的立方阵,是不是更有用?
矩阵的乘法规则究竟为什么这样规定?
矩阵的乘法规则究竟为什么这样规定?
为什么这样一种怪异的乘法规则却能够在实践中发挥如此巨大的功效?很多看上去似乎是完全不相关的问题,最后竟然都归结到矩阵的乘法,这难道不是很奇妙的事情?难道在矩阵乘法那看上去莫名其妙的规则下面,包含着世界的某些本质规律?
行列式究竟是一个什么东西?
行列式究竟是一个什么东西?
为什么会有如此怪异的计算规则?行列式与其对应方阵本质上是什么关系?为什么只有方阵才有对应的行列式,而一般矩阵就没有。而且,行列式的计算规则,看上去跟矩阵的任何计算规则都没有直观的联系,为什么又在很多方面决定了矩阵的性质?难道这一切仅是巧合?
矩阵为什么可以分块计算?
分块计算这件事情看上去是那么随意,为什么竟是可行的?
对于矩阵转置运算AT,有(AB)T = BTAT,对于矩阵求逆运算A-1,有(AB)-1 = B-1A-1。两个看上去完全没有什么关系的运算,为什么有着类似的性质?这仅仅是巧合吗?
为什么说P-1AP得到的矩阵与A矩阵“相似”?
特征值和特征向量的本质是什么?
对于矩阵转置运算AT,有(AB)T = BTAT,对于矩阵求逆运算A-1,有(AB)-1 = B-1A-1。两个看上去完全没有什么关系的运算,为什么有着类似的性质?这仅仅是巧合吗?
为什么说P-1AP得到的矩阵与A矩阵“相似”?
特征值和特征向量的本质是什么?
它们定义就让人很惊讶,因为Ax =λx,一个诺大的矩阵的效应,竟然不过相当于一个小小的数λ,确实有点奇妙。但何至于用“特征”甚至“本征”来界定?它们刻划的究竟是什么?
说话模棱两可表现出岌岌可危的人生态度
1.要知道“我”真正需要的是什么;
2.先扬后抑的方法并不是对他人的礼貌和尊重,而是让沟通更费周折的画蛇添足;
3.说话含混不清,表现出一个人困惑于他人能否接受自己的观点。
2.先扬后抑的方法并不是对他人的礼貌和尊重,而是让沟通更费周折的画蛇添足;
3.说话含混不清,表现出一个人困惑于他人能否接受自己的观点。
======================================================================
模棱两可地表态,是故作从容地防御
有的人在讲一件事情的时候,总是习惯先绕个弯子,对于真正的需求,他们没有办法直言不讳地明说,因为他们不知道对方会做出什么样的反应,他们会为此而惴惴不安,这便是他们保持高度防御意识的表现。
人们为什么会有这种防御意识?
其中最主要的原因就是人们担心坦率地表达自己的需求后,对方能否接受。出于此顾虑,给自己“留一条后路”就成了一个更好的办法。
有的人在讲一件事情的时候,总是习惯先绕个弯子,对于真正的需求,他们没有办法直言不讳地明说,因为他们不知道对方会做出什么样的反应,他们会为此而惴惴不安,这便是他们保持高度防御意识的表现。
人们为什么会有这种防御意识?
其中最主要的原因就是人们担心坦率地表达自己的需求后,对方能否接受。出于此顾虑,给自己“留一条后路”就成了一个更好的办法。
防御意识有什么消极影响?
防御意识让人和人之间的沟通变得更加复杂。警惕性和怀疑的心理,让交流中的当事人局促不安。而且不自然、难以敞开心扉的交流也很耗费我们的精力,很容易让我们陷入疲惫的精神状态。所以我们不喜欢防御的状况,和防御的人相处,自然也会让我们产生自我防御的顾虑。
这样的交流手段使人和人之间的沟通变得效率低下,当事者对彼此之间的真正所需缺乏清楚的认识。如此乏善可陈的僵持关系终究是无法获得进展的,他们不会询问自己的困惑,多数时候都在自行揣测,而这样的行为又促使了误会的产生。
经常摆出一副防御姿态的人,对自己的需求也变得愈发迟钝,他们对自己生活的主导没有足够的信心,生机盎然的生活与他们渐渐无缘。我们要知道,自己在言行上的诚恳与否,决定了对方与自己交流的态度。
这样的交流手段使人和人之间的沟通变得效率低下,当事者对彼此之间的真正所需缺乏清楚的认识。如此乏善可陈的僵持关系终究是无法获得进展的,他们不会询问自己的困惑,多数时候都在自行揣测,而这样的行为又促使了误会的产生。
经常摆出一副防御姿态的人,对自己的需求也变得愈发迟钝,他们对自己生活的主导没有足够的信心,生机盎然的生活与他们渐渐无缘。我们要知道,自己在言行上的诚恳与否,决定了对方与自己交流的态度。
》》》谁在用模糊的口头禅?——防御性沟通的语言模式
仔细观察人的语言模式,我们会发现,怀有较高防御意识的人经常会使用以下话语。把这些话作为参照和自己比对,考虑一下经常使用这些话会对你的人际交往产生何种影响。
1.“好的,但是……”
当人们在交流过程中出现意见上的分歧时,其中一方的本意原为“不行,绝对不可以!”但为了不伤和气,他先肯定了对方,当对方以为自己的要求得到许可时,他又费劲脑汁地将自己拒绝的本意含糊地表达出来。
但由于已经表现出了肯定,再反驳便导致了说服力的缺乏,而且迟来的拒绝也很容易使对方心生埋怨。即使你觉得“不行”很难说出口,但是不及时表达出拒绝的态度,你会更加受困于对方所提的要求。
平时经常使用这类语言模式的人要记住,对于你想要拒绝的请求,及早拒绝绝对优于你的模棱两可。并且先扬后抑的方法并不是对他人的礼貌和尊重,而是让沟通更费周折的画蛇添足。
2. 语言末尾的表达含混不清
有些人在沟通时语言含混不清,语序错乱无序,话题没有主次之分。这样含混不清的表达无法给别人留下深刻的印象,并且他们对自己的需求也没有确切的认识。在对个人看法侃侃而谈的人面前,他们表现得怯懦、卑微,正因如此,阻碍了他们对人际关系的把握。
说话含混不清,表现出一个人困惑于他人是否能接受自己的观点。而这种表现很可能成为人际关系的绊脚石。所以先把自己要讲的内容整理好,然后再经口传达出去,最后再静观对方的反应。从这几个环节中总结出经验,从而渐渐让自己的语言更符合逻辑,表达的内容更容易让人接受和理解。
3.“就那么回事……”
在别人提问的时候,有些人经常用“就那么回事……”作为回答。以前来我这里咨询的人当中就有一位经常使用这句话。记得在我和他交谈的10分钟内,我用“正”字来记录从他口中说出的“就那么回事……”。
结果,当我把记录拿给他看的时候,他自己也十分惊讶。在无意识下频繁地说出这种话,很能说明问题,那便是其无聊乏味的精神状态。虽然他表面上看似若无其事,内心却充满了对生活绝望的情绪。
语言的表达可以展现一个人对生活的态度,经常使用这类语言,会让一个人对生活的态度变得更加消极。所以要认清自己常用的表达方式,有意识地积极更改,这也是调节生活状态的一种良好手段。
4.“某某人说……”
不论谈论什么样的事情,有些人总是习惯举别人的例子,或者引用他人的话,就像一个犯了错误的孩子,将过错推卸给其他的小朋友一样。经常使用这句话的原因在于他们的判断和行为基准都依赖于其他人。
因自信的缺乏,当坦白说出自己的想法和需求时,他们担心无法得到接受。无法表达的自身需求,又促使他们借用他人的话作为防御工具。
但是这种语言模式对人际关系并非有利。要想让关系得到进展,首先要将自己的需求明确地表达出来,这样才能使对方进一步了解自己,提高关系的亲密度。如果你总是习惯借别人的话开口,以别人的论调为中心,那么你就有必要对此好好思考一番了。
心理TIPS:说清自己的需求才能提高自信
警惕和防备就像是乌龟的壳,它们的作用都是对脆弱部位进行保护。但你是否打算永远背负着这沉重的外壳呢?
我们时常会羡慕那些可以坦率表露自身欲求的人,他们不会把这些欲求缩小或夸大,经他们侃侃而谈,似乎多数问题都可以迎刃而解。这些人可以如此从容不迫的原因,在于他们清楚地认识到了自己的欲求,并且有明确的人生方向和价值观。
为了确切地表达自己的想法,我们必须知道“我”真正需要的是什么,不要以任何借口使自己的表达显得模棱两可。也许我们本身的欲求并非通过合理的表达就能实现,但是通过耐心、融洽的沟通,在双方之间达成一种共同受益的默契,即使不以防御的心态作为交际的基础,也能让自己从容自若地表达。
仔细观察人的语言模式,我们会发现,怀有较高防御意识的人经常会使用以下话语。把这些话作为参照和自己比对,考虑一下经常使用这些话会对你的人际交往产生何种影响。
1.“好的,但是……”
当人们在交流过程中出现意见上的分歧时,其中一方的本意原为“不行,绝对不可以!”但为了不伤和气,他先肯定了对方,当对方以为自己的要求得到许可时,他又费劲脑汁地将自己拒绝的本意含糊地表达出来。
但由于已经表现出了肯定,再反驳便导致了说服力的缺乏,而且迟来的拒绝也很容易使对方心生埋怨。即使你觉得“不行”很难说出口,但是不及时表达出拒绝的态度,你会更加受困于对方所提的要求。
平时经常使用这类语言模式的人要记住,对于你想要拒绝的请求,及早拒绝绝对优于你的模棱两可。并且先扬后抑的方法并不是对他人的礼貌和尊重,而是让沟通更费周折的画蛇添足。
2. 语言末尾的表达含混不清
有些人在沟通时语言含混不清,语序错乱无序,话题没有主次之分。这样含混不清的表达无法给别人留下深刻的印象,并且他们对自己的需求也没有确切的认识。在对个人看法侃侃而谈的人面前,他们表现得怯懦、卑微,正因如此,阻碍了他们对人际关系的把握。
说话含混不清,表现出一个人困惑于他人是否能接受自己的观点。而这种表现很可能成为人际关系的绊脚石。所以先把自己要讲的内容整理好,然后再经口传达出去,最后再静观对方的反应。从这几个环节中总结出经验,从而渐渐让自己的语言更符合逻辑,表达的内容更容易让人接受和理解。
3.“就那么回事……”
在别人提问的时候,有些人经常用“就那么回事……”作为回答。以前来我这里咨询的人当中就有一位经常使用这句话。记得在我和他交谈的10分钟内,我用“正”字来记录从他口中说出的“就那么回事……”。
结果,当我把记录拿给他看的时候,他自己也十分惊讶。在无意识下频繁地说出这种话,很能说明问题,那便是其无聊乏味的精神状态。虽然他表面上看似若无其事,内心却充满了对生活绝望的情绪。
语言的表达可以展现一个人对生活的态度,经常使用这类语言,会让一个人对生活的态度变得更加消极。所以要认清自己常用的表达方式,有意识地积极更改,这也是调节生活状态的一种良好手段。
4.“某某人说……”
不论谈论什么样的事情,有些人总是习惯举别人的例子,或者引用他人的话,就像一个犯了错误的孩子,将过错推卸给其他的小朋友一样。经常使用这句话的原因在于他们的判断和行为基准都依赖于其他人。
因自信的缺乏,当坦白说出自己的想法和需求时,他们担心无法得到接受。无法表达的自身需求,又促使他们借用他人的话作为防御工具。
但是这种语言模式对人际关系并非有利。要想让关系得到进展,首先要将自己的需求明确地表达出来,这样才能使对方进一步了解自己,提高关系的亲密度。如果你总是习惯借别人的话开口,以别人的论调为中心,那么你就有必要对此好好思考一番了。
心理TIPS:说清自己的需求才能提高自信
警惕和防备就像是乌龟的壳,它们的作用都是对脆弱部位进行保护。但你是否打算永远背负着这沉重的外壳呢?
我们时常会羡慕那些可以坦率表露自身欲求的人,他们不会把这些欲求缩小或夸大,经他们侃侃而谈,似乎多数问题都可以迎刃而解。这些人可以如此从容不迫的原因,在于他们清楚地认识到了自己的欲求,并且有明确的人生方向和价值观。
为了确切地表达自己的想法,我们必须知道“我”真正需要的是什么,不要以任何借口使自己的表达显得模棱两可。也许我们本身的欲求并非通过合理的表达就能实现,但是通过耐心、融洽的沟通,在双方之间达成一种共同受益的默契,即使不以防御的心态作为交际的基础,也能让自己从容自若地表达。
Thursday, February 13, 2014
Learn more study less-笔记(更新内容置顶)
技术:
快速阅读
1)指读法(声读法,数字游戏法): 调整手指移动速度控制阅读速度,降低速度揣摩重点,掠过不重要的内容。
2)练习阅读 :
速度提高:3分钟读的单词数,用稍微快于自己能理解的速度。
理解力提高:3分钟,记下知识点,再读材料,边读边记下,对比两个知识点的数目。
可以考虑用以下方法练习四种技能:
快速阅读(指读法)+ 笔记流 + 费曼技巧复述内容对照:练习阅读理解力+口语。
3)积极阅读:
a)要点是什么?完整获取信息 b)怎样才能记住要点:联系,视觉化,比喻法 c)怎么扩展主要点以及应用,明白,扩展和应用。
笔记流 (精美复制老师的笔记并无必要,与其浪费时间不如联想老师内容的关系)
1)不要呆板、僵硬、貌似层次分明的笔记
2)在写下来的观点之间建立联系
内在化
1)为你正在学习的东西创造脑海中的图像
2)在这幅图像上加上其他的感官和情感
3)寻找图像不适用或不足的地方、防止产生错误的联系
六步骤及目标:
1)获取:每个人处理各种形式信息的能力直接造成了学习能力的高低。在获取阶段丢失的信息在后面的环节无法补偿,没有任何其他整体性学习技术可以弥补这一损失。
目标:简化找出真正需要的信息,容量获取尽量多的信息、速度
2)明白:只是理解了信息的表面意思。只有明白了基本信息才能深入,破除理解障碍
目标:分解问题、缩小范围
3)拓展:
a、深度:探究知识的背景
b、横向:探究知识的关系;建立模型,在模型与原知识之间建立联系
c、纵向:与其他结构联系后,从其他结构的角度探究知识;
简图法&比喻法 &内在化
4)纠错:剔除错误关系;实践!!!(如阅读与你观点相反的书籍,把结论放入现实世界看)
5)应用
6)测试:确定达到了哪一层次
五种信息类型:
1)随意信息:无规律、死记硬背;逻辑、联想法、挂钩法、压缩法
2)观点信息:难点在于获取阶段;速度技巧、图示法
3)过程信息:依赖于拥有正确模型;内在化、比喻法、图示法、模型纠错、要大量练习
4)具体信息
5)抽象信息:降低接收速度,深入研究
策略基础:
1)结构--关于某个学科的知识之间联系的总和,它是你大脑中的城市。
2)模型--将知识压缩成基本的单元,模型是结构的种子,形成模型的方法包括比喻法、内在化和简图法,它是你的知识道路中主要的几个十字路口。
3)高速公路--不同结构之间的联系,有助于创造性的思考。“跳出盒子之外思考”很好的描述了这种跳出原有结构之外,从其他结构来观察原有结构的思考方式。
核心是比喻法,通过纵向比较,将不同学科之间用共同点联系起来。
快速阅读
1)指读法(声读法,数字游戏法): 调整手指移动速度控制阅读速度,降低速度揣摩重点,掠过不重要的内容。
2)练习阅读 :
速度提高:3分钟读的单词数,用稍微快于自己能理解的速度。
理解力提高:3分钟,记下知识点,再读材料,边读边记下,对比两个知识点的数目。
可以考虑用以下方法练习四种技能:
快速阅读(指读法)+ 笔记流 + 费曼技巧复述内容对照:练习阅读理解力+口语。
3)积极阅读:
a)要点是什么?完整获取信息 b)怎样才能记住要点:联系,视觉化,比喻法 c)怎么扩展主要点以及应用,明白,扩展和应用。
笔记流 (精美复制老师的笔记并无必要,与其浪费时间不如联想老师内容的关系)
1)不要呆板、僵硬、貌似层次分明的笔记
2)在写下来的观点之间建立联系
内在化
1)为你正在学习的东西创造脑海中的图像
2)在这幅图像上加上其他的感官和情感
3)寻找图像不适用或不足的地方、防止产生错误的联系
六步骤及目标:
1)获取:每个人处理各种形式信息的能力直接造成了学习能力的高低。在获取阶段丢失的信息在后面的环节无法补偿,没有任何其他整体性学习技术可以弥补这一损失。
目标:简化找出真正需要的信息,容量获取尽量多的信息、速度
2)明白:只是理解了信息的表面意思。只有明白了基本信息才能深入,破除理解障碍
目标:分解问题、缩小范围
3)拓展:
a、深度:探究知识的背景
b、横向:探究知识的关系;建立模型,在模型与原知识之间建立联系
c、纵向:与其他结构联系后,从其他结构的角度探究知识;
简图法&比喻法 &内在化
4)纠错:剔除错误关系;实践!!!(如阅读与你观点相反的书籍,把结论放入现实世界看)
5)应用
6)测试:确定达到了哪一层次
五种信息类型:
1)随意信息:无规律、死记硬背;逻辑、联想法、挂钩法、压缩法
2)观点信息:难点在于获取阶段;速度技巧、图示法
3)过程信息:依赖于拥有正确模型;内在化、比喻法、图示法、模型纠错、要大量练习
4)具体信息
5)抽象信息:降低接收速度,深入研究
策略基础:
1)结构--关于某个学科的知识之间联系的总和,它是你大脑中的城市。
2)模型--将知识压缩成基本的单元,模型是结构的种子,形成模型的方法包括比喻法、内在化和简图法,它是你的知识道路中主要的几个十字路口。
3)高速公路--不同结构之间的联系,有助于创造性的思考。“跳出盒子之外思考”很好的描述了这种跳出原有结构之外,从其他结构来观察原有结构的思考方式。
核心是比喻法,通过纵向比较,将不同学科之间用共同点联系起来。
Sunday, February 9, 2014
关键不在于压制情绪,而是在于唤醒理智
近期看到柏拉图人性三分法在生活中的应用,很是欣喜!欲望、激情和理性这三个层次,并非抽象不可及。理性是对激情的记录描摹和分析。我们可以真切体会到写作、口头表达对思维组织的重要性。说清楚了,写清楚了,才表明想清楚了。当然,理性若占据了全部,激情退出舞台,这时候就进入了有点无聊的纯分析、纯学术阶段。
转自笑来博文:
转自笑来博文:
情绪是很难控制的──因为它本身就处于“更底层”(相对于理智来说)。并不像大家想象得那样,把情绪压制下去就没事儿了──更可能的结果是,那情绪越是压制越是强烈。
事实上,更为有效的建议是:关键不在于压制情绪,而是在于唤醒理智。按照脑科学家的研究结果来看,由于能量是有限的,所以,一旦唤醒理智,情绪将自然而然地被削弱,甚至只能休眠。
第一种手段是,先了解以上的道理之后,将来感受到强烈情绪的时候,对自己用语言描述自己正在经历的感受──或者在心里对自己说,或者用笔写下来,或者向别人说这种方式并不推荐,但它是基督教吸引人的重要原因之一,因为有什么事都可以跟神父说……)。这种手段看似平常,但有着神奇的功效。原理是当我们使用语言的时候,必须启动负责理智的第三层,否则我们没办法使用语言去描述任何事情。一旦第三层开始启动了,它就会渐渐占用更多能量。
第二种手段是,启用即时感受。这是个新的概念。当我们感知周遭事物的时候,实际上我们有两种方式:模式认知,即时感受。使用模式认知的时候,信息交由第二层处理,然后再返回第三层;使用即时感受的时候,信息直接由第三层处理。什么事即时感受呢?就是你能听到身边的声音,看到眼前的景象,体会到风吹过皮肤的感觉……(这个有点像冥想,旁观自己的思想。冥想盆则是旁观别人和自己的行为和语言)
一旦负责理智的第三层重新被启动,并且能够正常运转之时,你对第二层所能够体会到的情绪将有“被更新”的描述,即,所谓的“理智地对待情绪”。
很多人由于不懂这样的道理,所以,他们是被反方向牵引的。当他们突然被强大的情绪所影响之时,第三层休眠掉,而后又受不了第二层过于活跃,于是他们下意识地启动负责反射的第一层──吃和睡就由这一层管理)。日常生活中经常看到女生失恋之后就变胖了,大抵上就是为了使第二层休眠所以不顾一切地启动第一层才造成的。
Friday, February 7, 2014
[Pygrads] Basic functions
Python-grads interface is exactly what I want.
Hopefully, I will discuss time module operations in next blog. Here we go!
First things first: install pygrads version: 1.1.8
First step: import libraries
#Libraries
import grads
import matplotlib.pyplot as plt
import numpy as np
# start grads
ga = grads.GrADS()
# or
#ga = grads.GrADS(Bin='grads',Window=False,Echo=False)
Second step: open files in GrADS thru python
# open control file
ctl_file = 'home/computer/usr/filename.nc'
ga('sdfopen' + ctl_file)
# display data
ga.imshow('variable.1(t=400)', interpolation = 'nearest')
plt.show()
Third step: import data into python
# import data
data = ga.exp('variable.1(t=1)')
# extract grid information
ga('set t 1 last')
info = ga.coords()
nt = len(info.time)
nlat = len(info.lat)
nlon = len(info.lon)
print info
print nt, nlat, nlon
Basic operations:
asum = np.sum(data)
amean = np.mean(data)
astd = np.std(data)
print(asum,amean,astd)
# extract data for a single point in the domain
ga('set x 100')
ga('set y 100')
ga('set t 1 last')
data = ga.eval('dataname.1')
# calculate areal mean over multiple time series
ga('set t 1')
mean_vals = []
for t in xrange(0,nt):
data = ga.exp('dataname.1(t=' + str(t+1) + ')') # python和grads里面的index初始值不一样
mean_vals.append(np.mean(data))
# plot the data
plt.plot(data)
plt.show()
Hopefully, I will discuss time module operations in next blog. Here we go!
First things first: install pygrads version: 1.1.8
First step: import libraries
#Libraries
import grads
import matplotlib.pyplot as plt
import numpy as np
# start grads
ga = grads.GrADS()
# or
#ga = grads.GrADS(Bin='grads',Window=False,Echo=False)
Second step: open files in GrADS thru python
# open control file
ctl_file = 'home/computer/usr/filename.nc'
ga('sdfopen' + ctl_file)
# display data
ga.imshow('variable.1(t=400)', interpolation = 'nearest')
plt.show()
Third step: import data into python
# import data
data = ga.exp('variable.1(t=1)')
# extract grid information
ga('set t 1 last')
info = ga.coords()
nt = len(info.time)
nlat = len(info.lat)
nlon = len(info.lon)
print info
print nt, nlat, nlon
Basic operations:
asum = np.sum(data)
amean = np.mean(data)
astd = np.std(data)
print(asum,amean,astd)
# extract data for a single point in the domain
ga('set x 100')
ga('set y 100')
ga('set t 1 last')
data = ga.eval('dataname.1')
# calculate areal mean over multiple time series
ga('set t 1')
mean_vals = []
for t in xrange(0,nt):
data = ga.exp('dataname.1(t=' + str(t+1) + ')') # python和grads里面的index初始值不一样
mean_vals.append(np.mean(data))
# plot the data
plt.plot(data)
plt.show()
justify yourself in your phd life
今天听brown bag我再次觉得自己需要在“present自己的work”上面多下功夫。
justify 自己的工作,需要两手准备,
第一是心态的转变,摒弃替老板搬砖的心态,为自己的命题找意义,这也是Keita一开始就说的。只有seriously尊重自己的工作,也就逐渐有热情去跟大家将自己的工作意义。
心态的转变的更深层含义,是寻找motivation。只有自己对科研有了动力和目标,其他东西都能够顺利地逐渐得到解决,Jonghun说的。反之,如果被老板,或者被组里其他同僚牵着鼻子走,是不会走得远的。自己要主动的思考科学问题,思考要不要发文章,思考和谁联系能够让自己的工作更好!
当然,不是说闭门造车!跟着各位大牛的脚步非常重要,要更加开放交流!
第二是练习,练习,还是练习。并非说没有技巧,但技巧本身也是需要通过尝试、筛选出来,并且不断地练习才能化为己有。不要天真的以为馅饼会从天而降,不要天真的以为别人似乎都是靠天赋一下就得到了它。
周一学习批判性思维,受到的启发是要集中火力解决一个心理素质。
坚持,专注!
目前这两周还处于一个技术摸索阶段,等我找到了自己的工具节奏,也许我的科研成果出来就会比较快了。
技术问题不是问题,是指可以通过努力来解决。目前的办法就是,吊死在python上面,然后所有的工具都用python。好在我早就开始放弃matlab和bash,matlab是因为和组内环境不兼容,而且缺少python的连接性;bash是因为需要大量的linux知识,语法太旧了,用得不爽利。
代码学习,一定要擅长读别人的代码,学习别人的代码。不要以为可以省点时间,跳过各种tutorial,系统性的学习能够让自己以后更加顺利。
justify 自己的工作,需要两手准备,
第一是心态的转变,摒弃替老板搬砖的心态,为自己的命题找意义,这也是Keita一开始就说的。只有seriously尊重自己的工作,也就逐渐有热情去跟大家将自己的工作意义。
心态的转变的更深层含义,是寻找motivation。只有自己对科研有了动力和目标,其他东西都能够顺利地逐渐得到解决,Jonghun说的。反之,如果被老板,或者被组里其他同僚牵着鼻子走,是不会走得远的。自己要主动的思考科学问题,思考要不要发文章,思考和谁联系能够让自己的工作更好!
当然,不是说闭门造车!跟着各位大牛的脚步非常重要,要更加开放交流!
第二是练习,练习,还是练习。并非说没有技巧,但技巧本身也是需要通过尝试、筛选出来,并且不断地练习才能化为己有。不要天真的以为馅饼会从天而降,不要天真的以为别人似乎都是靠天赋一下就得到了它。
周一学习批判性思维,受到的启发是要集中火力解决一个心理素质。
坚持,专注!
目前这两周还处于一个技术摸索阶段,等我找到了自己的工具节奏,也许我的科研成果出来就会比较快了。
技术问题不是问题,是指可以通过努力来解决。目前的办法就是,吊死在python上面,然后所有的工具都用python。好在我早就开始放弃matlab和bash,matlab是因为和组内环境不兼容,而且缺少python的连接性;bash是因为需要大量的linux知识,语法太旧了,用得不爽利。
代码学习,一定要擅长读别人的代码,学习别人的代码。不要以为可以省点时间,跳过各种tutorial,系统性的学习能够让自己以后更加顺利。
Tuesday, February 4, 2014
技术学习期末小结
programming...这个词有点被用的过于泛滥。
过去的一个学期,在这上面没有太用功,但多多少少更加了解了各种语言和环境。
回首看来,Justin说的东西都非常正确,我以后一定要认真听老板的话!
首先,接触两个全新的操作系统。
(11月上旬)MacOS:需要适应的主要是触摸盘,文件管理系统,多任务管理,系统整理,移动硬盘读取。
Mac让我感觉最爽的除了和Linux内核相通,任务管理的高效,还有和ipad iphone的同步。
不太适应的是,两个平台上软件不太一样,需要寻找更适合的替代工具。(这种情况下,于是发现过去大部分软件其实都是多余的…… )
(11-1月)Linux:一开始并没有当一个系统用,现在逐渐有这个概念了。。。逐渐接触terminal, bash, shell, vi...
逻辑大概是:
》vim这种text editor就是写各种script的工具,写适用于各种软件的script/source code源代码,如R(.R),GrADS(.gs),matlab(.m), C(.c), Python(.py), Shell(.sh)。
》对于C和Fortran,是需要compile编译成计算机可识别的语言来执行的,所以需要make file;
》对于其他scripting language,是直译式的(比编译要慢),不需要make file,但需要通过chmod +x来使之可以执行。
》用相应的软件或者环境来运行源代码。
因此,Python有着空前绝后的优越性!!
我觉得此前最错误的就是,不理解基本概念,把各种工具混为一谈,导致自己没有选择正确的方向下手!
然后,开始上手画图工具GrADS。GrADS其实可以说是一个数据可视化的快捷工具,附有非常简便的数据读取、分析功能,可以做简单的分析。
接着,开始学R。R其实就是统计版的Matlab,界面好像,语法好像。
如今,正式开始学习Python。
短短几个月,接触的范围还是挺广的呵呵。
过去的一个学期,在这上面没有太用功,但多多少少更加了解了各种语言和环境。
回首看来,Justin说的东西都非常正确,我以后一定要认真听老板的话!
首先,接触两个全新的操作系统。
(11月上旬)MacOS:需要适应的主要是触摸盘,文件管理系统,多任务管理,系统整理,移动硬盘读取。
Mac让我感觉最爽的除了和Linux内核相通,任务管理的高效,还有和ipad iphone的同步。
不太适应的是,两个平台上软件不太一样,需要寻找更适合的替代工具。(这种情况下,于是发现过去大部分软件其实都是多余的…… )
(11-1月)Linux:一开始并没有当一个系统用,现在逐渐有这个概念了。。。逐渐接触terminal, bash, shell, vi...
逻辑大概是:
》vim这种text editor就是写各种script的工具,写适用于各种软件的script/source code源代码,如R(.R),GrADS(.gs),matlab(.m), C(.c), Python(.py), Shell(.sh)。
》对于C和Fortran,是需要compile编译成计算机可识别的语言来执行的,所以需要make file;
》对于其他scripting language,是直译式的(比编译要慢),不需要make file,但需要通过chmod +x来使之可以执行。
》用相应的软件或者环境来运行源代码。
因此,Python有着空前绝后的优越性!!
我觉得此前最错误的就是,不理解基本概念,把各种工具混为一谈,导致自己没有选择正确的方向下手!
然后,开始上手画图工具GrADS。GrADS其实可以说是一个数据可视化的快捷工具,附有非常简便的数据读取、分析功能,可以做简单的分析。
接着,开始学R。R其实就是统计版的Matlab,界面好像,语法好像。
如今,正式开始学习Python。
短短几个月,接触的范围还是挺广的呵呵。
Monday, February 3, 2014
批判性思维-笔记
一、绪论
思维就像其他技巧一样,需要学习和训练。
对自己的思维能力有所发现:思维不可见,所以只有自己清楚意识到自己在怎样进行思考,并且努力认识这种思考所包含的优势和弱点时才能逐渐成长为思考者。
理解概念的重要性:基本原理的应用和重复。
建立全新的思维习惯
二、公正思考
态度谦逊—妄自尊大:浅尝辄止,草率判断,毫不批判,拿来主义
勇敢无畏—胆小怯懦:对和自己不一致观点的恐惧,生活在他人的看法中
设身处地—自我中心:注意力放在自身,只关注自己的痛苦、欲望、希望,不愿意改变自己的看法
理智健全—理智伪善:说一套,做一套,双重标准
坚持不懈—头脑懒惰:面对挑战性难题轻言放弃,对脑力劳动的痛苦和挫折容忍度低。对于高层次思维的所有领域,坚持不懈是至关重要的,大部分人在初期阶段就选择放弃,尽管他们避免了短期的头脑挫折,但却获得了面对日常生活中复杂问题日易滋生的挫败感。
笃信推理—怀疑推理:坚信自己体系中的事实,盲目崇拜,信任直觉,经验和本能冲动,相信命运。
意识自由—依赖被动:固守己见,呆板迟钝,盲从
三、策略
集中力量在基本点上进行突破,不要一次挑选过多,采取一种途径来试验所有的办法
1、利用浪费的时间,不要忧心忡忡,充满忧虑
自问:
今天何时进行的思考最为糟糕,何时最为高明
解决掉了什么事情
是否听任消极思考来让自己无谓的灰心丧气
如果重复昨天的工作,有什么能让自己有所改进
今天的行为是否为长期的目标付出努力
2、一天解决一个特定问题(11章)
问题在哪里?如何解决?
3、消化吸收头脑标准(5章)
4、保持记录头脑日记
记录情势,反应,透过表面挖掘实质
5、实践头脑战略(17章)
记录观测结果,自我发现自我提高
6、重塑你的个性
何时承认错误,何时拒绝承认
何时在别人指责自己缺陷时变得防御自卫
何时自大无知妨碍学习
7、应对自我
自我反思:
是否为鸡毛蒜皮大发雷霆
是否为一己私利做非理性的事
是否强加自我意志于他人
是否没有直说想法而在背后心怀怨恨
8、重新定义看待事物的角度
9、和情绪取得联系
10、分析群体对你生活的影响
思维就像其他技巧一样,需要学习和训练。
对自己的思维能力有所发现:思维不可见,所以只有自己清楚意识到自己在怎样进行思考,并且努力认识这种思考所包含的优势和弱点时才能逐渐成长为思考者。
理解概念的重要性:基本原理的应用和重复。
建立全新的思维习惯
二、公正思考
态度谦逊—妄自尊大:浅尝辄止,草率判断,毫不批判,拿来主义
勇敢无畏—胆小怯懦:对和自己不一致观点的恐惧,生活在他人的看法中
设身处地—自我中心:注意力放在自身,只关注自己的痛苦、欲望、希望,不愿意改变自己的看法
理智健全—理智伪善:说一套,做一套,双重标准
坚持不懈—头脑懒惰:面对挑战性难题轻言放弃,对脑力劳动的痛苦和挫折容忍度低。对于高层次思维的所有领域,坚持不懈是至关重要的,大部分人在初期阶段就选择放弃,尽管他们避免了短期的头脑挫折,但却获得了面对日常生活中复杂问题日易滋生的挫败感。
笃信推理—怀疑推理:坚信自己体系中的事实,盲目崇拜,信任直觉,经验和本能冲动,相信命运。
意识自由—依赖被动:固守己见,呆板迟钝,盲从
三、策略
集中力量在基本点上进行突破,不要一次挑选过多,采取一种途径来试验所有的办法
1、利用浪费的时间,不要忧心忡忡,充满忧虑
自问:
今天何时进行的思考最为糟糕,何时最为高明
解决掉了什么事情
是否听任消极思考来让自己无谓的灰心丧气
如果重复昨天的工作,有什么能让自己有所改进
今天的行为是否为长期的目标付出努力
2、一天解决一个特定问题(11章)
问题在哪里?如何解决?
3、消化吸收头脑标准(5章)
4、保持记录头脑日记
记录情势,反应,透过表面挖掘实质
5、实践头脑战略(17章)
记录观测结果,自我发现自我提高
6、重塑你的个性
何时承认错误,何时拒绝承认
何时在别人指责自己缺陷时变得防御自卫
何时自大无知妨碍学习
7、应对自我
自我反思:
是否为鸡毛蒜皮大发雷霆
是否为一己私利做非理性的事
是否强加自我意志于他人
是否没有直说想法而在背后心怀怨恨
8、重新定义看待事物的角度
9、和情绪取得联系
10、分析群体对你生活的影响
Tuesday, January 28, 2014
批判性思维是正确迅速发现问题的良药
在解决问题前有那么几个线索:
1)不是R导致的,因为关掉R之后还是出现了类似情况
2)今天安装了搜狗输入法update,Rstudio(回忆了老半天。。。)
3)打开memory clean之后一定爆表
4)打开activity monitor发现进程mds占用了大量内存(这里学习了terminal用top | grep,ps来看内存使用)
5)网上同志告诉我mds就是spotlight这个家伙
6)根本没用spotlight...
判断失误
偏见bias:一直被蒙蔽双眼,直接排除掉每次用来打开memory clean的alfred。
知识储备不够导致的推理不足:在被各种自相矛盾的事实冲昏头脑。由于spotlight测试过没有问题,我没有联系到alfred可能会用到spotlight的底层功能,以及与搜狗输入法更新出现不兼容。
1)不是R导致的,因为关掉R之后还是出现了类似情况
2)今天安装了搜狗输入法update,Rstudio(回忆了老半天。。。)
3)打开memory clean之后一定爆表
4)打开activity monitor发现进程mds占用了大量内存(这里学习了terminal用top | grep,ps来看内存使用)
5)网上同志告诉我mds就是spotlight这个家伙
6)根本没用spotlight...
判断失误
偏见bias:一直被蒙蔽双眼,直接排除掉每次用来打开memory clean的alfred。
知识储备不够导致的推理不足:在被各种自相矛盾的事实冲昏头脑。由于spotlight测试过没有问题,我没有联系到alfred可能会用到spotlight的底层功能,以及与搜狗输入法更新出现不兼容。
Tuesday, January 21, 2014
网络硬盘[Dropbox][Google Drive]·使用手记(持续更新)
- Dropbox
自从来到美利坚,就抛弃用了一年的快盘转投dropbox了。
首先,速度真是太快了,尤其是照片共享,dropbox的服务是不用说的,令人咋舌的优秀。
其次,大量的pdf文档、扫描纸质文档、邮件处理的移动端应用、浏览器阅读器,都支持一键导出到dropbox,大大节省了在笔记本上来回拖拽文档、照片的时间。
- Google Drive
速度也很不错,但在应用支持上相对dropbox来说就弱了很多。鉴于此,我把dropbox定位为阅读类资料的存放地点,而把google drive当成科研资料的集成点。比如数据,写作,表格,出的图,ppt等。目前,让我最满意的是数据和图,图的预览非常简洁清楚,matlab直接读取硬盘上的数据,我再也不需要像过去带着移动硬盘到处跑。。。
Monday, January 20, 2014
I have a dream [马丁路德金纪念日]
看着EU watch各家的地表过程模型,心生澎湃之感,半年来终于有成为时代弄潮儿的志向了!
Sunday, January 12, 2014
level1-4数据的教训:不要太过急切
思路不清晰,对要处理的对象头绪不清楚就在那里瞎搞,只能是白费时间。
教训:
认真阅读文档介绍。稍微花半个小时看清楚,也许后面就理解更快了。
然后对各项数据要进行一定点、线的测试,才能判断能不能用。
教训:
认真阅读文档介绍。稍微花半个小时看清楚,也许后面就理解更快了。
然后对各项数据要进行一定点、线的测试,才能判断能不能用。
十天收获很多
1.研究的兴趣增加,玩乐的兴致下降
2.专注是唯一的不二法门
3.保障规律的作息,适当放松自我调节
4.体会到口头表达、写作能有效整理思路的机理有了心理层面的认识,并尝试应用
5.高效学习技巧学习中……机械记忆这个方法应该要放弃了,加强对各个事物的联想!
6.技术是个严重的问题,但不是最根本的问题。不要被技术唬住,从而浪费大量的时间。
7.做数据非常重要!
8.Jonghun说不要太心焦,这样确实会坏事。鼠目寸光的危险,轻重不分的危险。
2.专注是唯一的不二法门
3.保障规律的作息,适当放松自我调节
4.体会到口头表达、写作能有效整理思路的机理有了心理层面的认识,并尝试应用
5.高效学习技巧学习中……机械记忆这个方法应该要放弃了,加强对各个事物的联想!
6.技术是个严重的问题,但不是最根本的问题。不要被技术唬住,从而浪费大量的时间。
7.做数据非常重要!
8.Jonghun说不要太心焦,这样确实会坏事。鼠目寸光的危险,轻重不分的危险。
Saturday, January 11, 2014
英语表达能力对科研的重要性
1.present and justify your work
2.communication in class and group
3.conference
4....last but not the least, pass the general exam and 510....
2.communication in class and group
3.conference
4....last but not the least, pass the general exam and 510....
不当家不知柴米油盐贵
看了一些paper写了一些proposal,也有了不少想法,只是会批判别人工作做得怎么怎么不行……数据怎么有漏洞。现在自己要找数据了,才知道要用合适的数据来说话有多么的困难!
学期初听潘大神做数据是最根本的言论还不以为然。现在才知道书生误国,就是这个道理!
其实以前组里出野外也知道观测数据来之不易,无论是生态还是水文,人们都是拿生命在搞科研呢!不过毕竟没有那么深刻的体会,当时知道我的项目是为了做数据库的时候,有点觉得应了曾爷和管师兄的预估。但从科研事业的长远角度来看,这是相当重要的,而我终于意识到了这一点。
数据的可靠性,数据的全面充分完整性,是同行们提高科研水平,加快科研进度的保障。对于我们这些新人来说,熟悉数据、从底层做起是进入领域的必经之路,总有一天绕不过他。除非你能自己做模型,不用观测数据,不过这在我们这个专业几乎就是痴人说梦!
学期初听潘大神做数据是最根本的言论还不以为然。现在才知道书生误国,就是这个道理!
其实以前组里出野外也知道观测数据来之不易,无论是生态还是水文,人们都是拿生命在搞科研呢!不过毕竟没有那么深刻的体会,当时知道我的项目是为了做数据库的时候,有点觉得应了曾爷和管师兄的预估。但从科研事业的长远角度来看,这是相当重要的,而我终于意识到了这一点。
数据的可靠性,数据的全面充分完整性,是同行们提高科研水平,加快科研进度的保障。对于我们这些新人来说,熟悉数据、从底层做起是进入领域的必经之路,总有一天绕不过他。除非你能自己做模型,不用观测数据,不过这在我们这个专业几乎就是痴人说梦!
Monday, January 6, 2014
[Latex]快速入门
简洁明了的一篇教程,非常适合上手。转自董楠
1.LaTeX软件的安装和使用
方法A(自助):在MikTeX的官网下载免费的MikTeX编译包(150Mb)并安装。下载WinEdt(9.5Mb)(收费)或TexMaker(32Mb)(免费)等编辑界面软件并安装。
方法B(打包):在ctex.org下载ctex套装(203Mb或1.3Gb)(含MikTeX及WinEdt)
方法A(自助):在MikTeX的官网下载免费的MikTeX编译包(150Mb)并安装。下载WinEdt(9.5Mb)(收费)或TexMaker(32Mb)(免费)等编辑界面软件并安装。
方法B(打包):在ctex.org下载ctex套装(203Mb或1.3Gb)(含MikTeX及WinEdt)
哈哈这一部分当然不包含在标题的30分钟里。
新人不必纠结软件问题,随便什么软件随便什么版本只要下载下来能编译出pdf来就可以,先下载了装上来试试再说。我推荐winedt也是方便我在介绍按钮样子的时候可以统一描述。在真正开始跑步之前没有必要纠结该买NIKE跑鞋还是ADI跑鞋,跑起来再说。不要瞻前顾后,just try it.
2.第一个文档
打开WinEdt,建立一个新文档,将以下内容复制进入文档中,保存,保存类型选择为UTF-8。
\documentclass{article}
\begin{document}
hello, world
\end{document}
然后在WinEdt的工具栏中找到编译按钮(在垃圾桶和字母B中间),在下拉菜单中选择XeLaTeX,并点击编译。 (这里请注意一下我之前一直笔误写的XeTeX,给大家带来困扰深感歉意)
如果顺利的话,我们就可以顺利生成出第一个pdf文件,点击工具栏中的放大镜按钮就可以快速打开生成的pdf文件。
3.标题、作者和注释
建立一个新文档,将以下内容复制进入文档中,保存,保存类型选择为UTF-8,编译并观察现象。
\documentclass{article}
\author{My Name}
\title{The Title}
\begin{document}
\maketitle
hello, world % This is comment
\end{document}
%为本行右边所有内容被注释掉,在生成的pdf中不会显示。
块注释也有专门的语句,不过更方便的方式是选中一块区域点鼠标右键,点comment
4.章节和段落
建立一个新文档,将以下内容复制进入文档中,保存,保存类型选择为UTF-8,编译并观察现象。
\documentclass{article}
\title{Hello World}
\begin{document}
\maketitle
\section{Hello China} China is in East Asia.
\subsection{Hello Beijing} Beijing is the capital of China.
\subsubsection{Hello Dongcheng District}
\paragraph{Tian'anmen Square}is in the center of Beijing
\subparagraph{Chairman Mao} is in the center of Tian'anmen Square
\subsection{Hello Guangzhou}
\paragraph{Sun Yat-sen University} is the best university in Guangzhou.
\end{document}
退格只是我个人偏好,看起来层次清晰美观。实际操作上未必要如此,每一行之前的空格不影响编译生成PDF的排版结果。
5.加入目录
建立一个新文档,将以下内容复制进入文档中,保存,保存类型选择为UTF-8,编译并观察现象。
\documentclass{article}
\begin{document}
\tableofcontents
\section{Hello China} China is in East Asia.
\subsection{Hello Beijing} Beijing is the capital of China.
\subsubsection{Hello Dongcheng District}
\paragraph{Hello Tian'anmen Square}is in the center of Beijing
\subparagraph{Hello Chairman Mao} is in the center of Tian'anmen Square
\end{document}
6.换行
建立一个新文档,将以下内容复制进入文档中,保存,保存类型选择为UTF-8,编译并观察对比现象。
\documentclass{article}
\begin{document}
Beijing is
the capital
of China.
Washington is
the capital
of America.
Amsterdam is \\ the capital \\
of Netherlands.
\end{document}
4.章节和段落
建立一个新文档,将以下内容复制进入文档中,保存,保存类型选择为UTF-8,编译并观察现象。
\documentclass{article}
\title{Hello World}
\begin{document}
\maketitle
\section{Hello China} China is in East Asia.
\subsection{Hello Beijing} Beijing is the capital of China.
\subsubsection{Hello Dongcheng District}
\paragraph{Tian'anmen Square}is in the center of Beijing
\subparagraph{Chairman Mao} is in the center of Tian'anmen Square
\subsection{Hello Guangzhou}
\paragraph{Sun Yat-sen University} is the best university in Guangzhou.
\end{document}
退格只是我个人偏好,看起来层次清晰美观。实际操作上未必要如此,每一行之前的空格不影响编译生成PDF的排版结果。
5.加入目录
建立一个新文档,将以下内容复制进入文档中,保存,保存类型选择为UTF-8,编译并观察现象。
\documentclass{article}
\begin{document}
\tableofcontents
\section{Hello China} China is in East Asia.
\subsection{Hello Beijing} Beijing is the capital of China.
\subsubsection{Hello Dongcheng District}
\paragraph{Hello Tian'anmen Square}is in the center of Beijing
\subparagraph{Hello Chairman Mao} is in the center of Tian'anmen Square
\end{document}
6.换行
建立一个新文档,将以下内容复制进入文档中,保存,保存类型选择为UTF-8,编译并观察对比现象。
\documentclass{article}
\begin{document}
Beijing is
the capital
of China.
Washington is
the capital
of America.
Amsterdam is \\ the capital \\
of Netherlands.
\end{document}
空一行为另起一段,\\为段内强制换行。
我对之前手滑写出New York is the capital of America这类低级错误表示非常抱歉。
7.数学公式
建立一个新文档,将以下内容复制进入文档中,保存,保存类型选择为UTF-8,编译并观察对比现象。
\documentclass{article}
\usepackage{amsmath}
\usepackage{amssymb}
\begin{document}
The Newton's second law is F=ma.
The Newton's second law is $F=ma$.
The Newton's second law is
$$F=ma$$
The Newton's second law is
\[F=ma\]
Greek Letters $\eta$ and $\mu$
Fraction $\frac{a}{b}$
Power $a^b$
Subscript $a_b$
Derivate $\frac{\partial y}{\partial t} $
Vector $\vec{n}$
Bold $\mathbf{n}$
To time differential $\dot{F}$
Matrix (lcr here means left, center or right for each column)
\[
\left[
\begin{array}{lcr}
a1 & b22 & c333 \\
d444 & e555555 & f6
\end{array}
\right]
\]
Equations(here \& is the symbol for aligning different rows)
\begin{align}
a+b&=c\\
d&=e+f+g
\end{align}
\[
\left\{
\begin{aligned}
&a+b=c\\
&d=e+f+g
\end{aligned}
\right.
\]
\end{document}
具体细节可以自行搜索LaTeX的数学符号表或别人给的例子。
$...$是开启行内数学模式,用于和文本合在一起使用。
$$...$$和\[...\]是另起一行居中开启数学模式。通常用起来差别不是很大,不过$$会修改默认的公式行间距,有时可能会对文章的整体效果有影响。
有一些网站可以通过画图的方式来生成公式,有的编辑器集成了各种数学功能按钮。这对于公式需求少的人来说很方便,具体信息可以自己去搜索。但是如果你的文章中要出现大段的证明过程,就会发觉还是老老实实地google一篇latex数学符号表,然后不懂的去查代码,自己用手指敲来得干脆利索。再进阶一点,可以去搜一下有关LaTeX的自定义command的内容去看一下,在敲公式时能省很多力气。
8.插入图片
将待插入的图片姑且先命名为figure1.jpg
建立一个新文档,将以下内容复制进入文档中,保存,保存类型选择为UTF-8,放在和图片文件同一个文件夹里,编译并观察现象。
\documentclass{article}
\usepackage{graphicx}
\begin{document}
\includegraphics[width=4.00in,height=3.00in]{figure1.jpg}
\end{document}
在老版本的LaTeX中是只支持eps图片格式的,现在的LaTeX对jpg、bmp、png等等常见图片都可以支持。
9.简单表格
建立一个新文档,将以下内容复制进入文档中,保存,保存类型选择为UTF-8,编译并观察对比现象。
\documentclass{article}
\begin{document}
\begin{tabular}{|c|c|}
aaa & b \\
c & ddddd\\
\end{tabular}
\begin{tabular}{|l|r|}
\hline
aaaa & b \\
\hline
c & ddddd\\
\hline
\end{tabular}
\begin{center}
\begin{tabular}{|c|c|}
\hline
a & b \\ \hline
c & d\\
\hline
\end{tabular}
\end{center}
\end{document}
注意观察有无\hline和有无\begin{center}的区别。注意观察\begin{tabular}后的lcr的区别,分别是left对齐,center对齐和right对齐。
10.结尾
到目前为止,你已经可以用LaTeX自带的article模板来书写一篇基本的论文框架了,至少你已经能够借助搜索然后复制粘贴这些命令例子来开始用LaTeX编辑了。
在论文从框架到完整的过程中,必然还存在许多的细节问题,比如字体字号,比如图片拼合,比如复杂的表格等等。
那些问题,就请咨询google吧。通常来说我们作为初学者会提出的问题,早就已经有许多的先辈们在网络上提过同样的问题了,看看别人的回答就可以。
LaTeX在国内的普及率并不高,因此许多时候如果搜英文关键词,会获得更好的效果。
10.结尾
到目前为止,你已经可以用LaTeX自带的article模板来书写一篇基本的论文框架了,至少你已经能够借助搜索然后复制粘贴这些命令例子来开始用LaTeX编辑了。
在论文从框架到完整的过程中,必然还存在许多的细节问题,比如字体字号,比如图片拼合,比如复杂的表格等等。
那些问题,就请咨询google吧。通常来说我们作为初学者会提出的问题,早就已经有许多的先辈们在网络上提过同样的问题了,看看别人的回答就可以。
LaTeX在国内的普及率并不高,因此许多时候如果搜英文关键词,会获得更好的效果。
Subscribe to:
Posts (Atom)