Passion * Hope * Dream

小林的百科筆記

Above All

Last night I listened to the song 'Above All' while working on my project. It's been a while since I last listened to this song and it again reminded me of how great and how tender the love the Lord has for me. How precious that today I am loved by Him...



Above All

 

Verse 1: Above all powers

Above all kings

Above all nature

And all created things

Above all wisdom

And all the ways of man

You were here

Before the world began


Verse 2: Above all kingdoms

Above all thrones

Above all wonders

The world has ever known

Above all wealth

And treasures of the earth

There's no way to measure

What You're worth


CHORUS: Crucified

Laid behind a stone

You lived to die

Rejected and alone

Like a rose

Trampled on the ground

You took the fall

And thought of me

Above all


Repeat Verse 1

Repeat Verse 2

Repeat CHORUS (x2)

 

Like a rose

Trampled on the ground

You took the fall

And thought of me

Above all


There is no built-in function in Matlab to round a number to specific significant figures. However I have found a little trick from somewhere in the internet which works! It simply makes use of the 'mat2str' (or 'num2str') and 'eval' (or 'str2num') Matlab functions. For example, first generate a matrix 'A' with random numbers:

A = rand(2,3)*100

A =
70.6046 27.6923 9.7132
3.1833 4.6171 82.3458

Then convert into 'string' using 'mat2str' and specifies how many digits of precision, here I have made this to be 3:

>> A_temp = mat2str(A,3)

A_temp =
[70.6 27.7 9.71;3.18 4.62 82.3]

Now convert the string back to numerical values by using 'eval':

>> A_rounded = eval(A_temp)

A_rounded =
70.6000 27.7000 9.7100
3.1800 4.6200 82.3000


So the values have been rounded to 3 sig. fig. :-)

Now if we use 'num2str' instead of 'mat2str', we need to convert back to numerical values by using 'str2num' because 'eval' will not work. Moreover, I just found out that using 'num2str' can actually allow rounding to specific decimal places. Using the same 'A' matrix as above, and then specify the precision to be '%4.4e\n' which will round the values to the 4th decimal place:


A_temp2 = num2str(A,'%4.4e\n')

A_temp2 =
7.0605e+001
2.7692e+001
9.7132e+000
3.1833e+000
4.6171e+000
8.2346e+001

>> A_rounded2 = str2num(A_temp2)

A_rounded2 =
70.6050
27.6920
9.7132
3.1833
4.6171
82.3460

Noticed that it is necessary to have the '\n' in the string that specifies the format of precision, otherwise the result will go weird.

PS: I noticed that there are still small rounding errors (or floating point errors), however this trick should be good enough for general purposes.

繁簡之爭

網上關於繁簡之爭的文章多不勝數, 剛剛又看了好一些。我是支持把繁體字作為中國規範文字的一員, 不單是因為自幼學的是繁體字(但我也看得懂簡體字, 因自小母親常帶我和姐姐到內地書店看書買書), 更因為繁體字確實承載了我們中國五千年文化的精華, 中國文字的美感和內涵。不過也不需完全廢除簡體字, 因為它使手寫中文更為方便, 這功能是應該被繼續延續下去的。其實我覺得使用簡體字作為規範文字這個政策已經光榮地完成了它的歷史任務 -- 就是在廣大中國老百姓當中掃盲。如今中國國力興盛, 是時候恢復繁體字了。

一些內地網友說學繁體字怕會加重小孩子的學習擔子, 其實大家不必為此憂慮, 因為小孩子的學習能力是成年人所不能小噓的況且難道大家覺得中國內地同胞的小孩子會比不上港澳臺同胞的小孩子的學習能力嗎? 港澳臺的小孩都可以, 那麼內地的小孩也就肯定沒問題呀! 即便是成人, 始終繁簡都是同一種文字, 看多了就懂了。對外國人來說, 繁體筆劃是多了一點, 但邏輯性較強, 而且跟比如說英文的字根有異曲同工的效用, 這能讓他們更系統性地學習中文, 利多於弊。

以下集結了一些
網友支持繁體字的見解 (出處: http://blog.sina.com.cn/s/blog_47841af70100e1gd.html#comment4):
================================================
潭谷東篱子: 支持恢复繁 体字,最起码报纸、书籍、招牌等公用设施全部改为繁体字,手写可以用简体字,只要我们周围都充满繁体字的环境,不怕你不认得,看多了就认得了,无需专门学 习,从今年下学期小学一年级课本就开始改为繁体字,二年级以上的可以不改,等下学期二年级才改,慢慢就会恢复繁体字了。不要一下子想全部改繁,把门牌、报 纸、慢慢改为繁体字,人们习惯了,就可全改,并不用多少资源,就像路牌,坏了要换新的,就可用改为繁体字了,不坏的路牌照用简体,用这种简繁并存的方式, 持续一段时间。直至最终去掉简体字为止。
================================================
ludwig5648: 我是大陸人,不是臺灣人。但既然認定港澳臺是中國的,港澳臺人也是中國人(新馬都已經算上了)。那就請彼此以同胞的待遇來互相提攜,共存共榮。
從小到大我所受的教育用的是簡化字。生活中所見也都是簡化字。我用正體字完全是靠自學,而且沒別人逼迫我去學。
驅 動我逆向學習整體的動力只是:不想割斷與過去的聯系。不想若干年后看不懂祖上遺留的信件。不想對著幾十年前,甚至今天仍在發行的母語書籍發愣。任何語言文 字只要不學不用,不消多少年就會徹底消亡。是的,十三萬萬對兩千萬。各位愛國青年不覺得可怕嗎?二十一世紀了,傳統還依然有罪嗎?如果中國人幾千年的傳統 都是灰黑色的,那我們今天又為什么要挾精挑細選出的四大發明,天工開物以自重?還要請出李約瑟老人家來捧場呢?
中 國號稱五千年文明古國,實際有文字可考的在三千多年。推廣簡化字的這不到六十年,只是這三千多年的六十分之一。如果一個六十歲的老人,只有相當于一歲孩童 的經歷和學養,如何能受得人尊重,如何能拾得起自尊呢?有哪個國家、政府、民族愿意拋棄傳承了幾千年的民族文字而與過去一刀兩斷呢?抑或每每要乘坐時空穿 梭機回到過去面對面交流?沒有了本民族的文字,那么民族身份又該如何處置呢?
整體字的簡化,最初是為了易寫易認。但在推廣之初誰也不會想到電腦會如此迅速地普及,打字竟然會成為最主要的書寫方式。在電腦普及的今天,書寫麻煩顯然不是問題。至于易認,在知識爆炸,全力推廣外語的時代;學幾個母語正體字,應當不是什么不可能的任務吧?
最 近這幾十年中國人的經歷,尤其是青年所受的影響,使一些人愈發沒有包容力,思維也趨于兩極化。你不愿用,也不愿學,請不要阻止別人去學,去用;更無必要為 此著急上火強詞奪理,最后竟至唾星飛濺語無倫次。社會如此之大,正體字的回歸又剛剛興起,繁簡不管是再次切換抑或一定程度上并行也一定需要時間。在這樣的 時期有幾個人寫錯,不是什么十惡不赦之罪吧?況且你看到有人用得不對,如何就推論中國人因此一定學不會呢?
是 的,俗體字早已有之。可也正是因為我們祖先的包容力而存活到將其大力發展并推廣的年代。上千年來都沒有人要滅絕簡化字,那現在為什么一定要將事實上承載中 國人民族生命記憶的正體字實質上推向絕滅呢?講美式英語的的美國人就從來沒有想要滅絕英式英語,或者裁定美國人因為一定學不會而不可以學英國話。
這些奇怪的邏輯,我始終不能明白。
================================================
kjj92: 回复668 楼的帖子“舉”古還作“與”呢。文字發展本來就是趨於增多,看如今年年新增的詞彙便知。這個增加的目的是爲了精確文字的表義,哪裡是甚麼分辨讀音?“鬍 鬚”二字,上邊部首代表的就是毛髮,如果是為了區別讀音,何以“鬍鬚”同樣讀作“胡須”?鬢,髮,鬍,鬚,髯,髭等都是人體不同部位毛髮的名稱,可以見到 都是以“髟”作為部首的,正是這種嚴謹的造字方式把漢字分門別類,而此種成熟體系在如今簡化字裏早就蕩然無存,根本就弱化了漢字表義的準確性。這種多義字 當以甲骨文為甚,因為其統共不過4000字。數千年的發展方有如今準確的傳統漢字,而簡化字則完全本末倒置,又回到甲骨文的時代去了。
================================================
jing: 恢復正體字作為正式用字,除了更有助於傳承中華文化,簡述一些本人想到的理由:

1. 漢 字作為漢語的載體,自楷書成熟之後,已經穩定了一千又幾百年,歷代文本的首選載體,就是以正體字為主、兼有異體字、俗體字/簡體字的傳統用字體系。這個用 字體系的存在,是事實,歷代沿用,本無優劣、繁簡與否的判斷。不因政治變化沿用這一用字體系,也是國史上可以看到的絕大多數事實。

2. 由於延續傳統用字體系的實踐在推行簡化字之前不曾改變,因此,歷代教育用字,也是以正體字為主。接受正體字教育,當然對於正體字更為習慣。這與接受簡化字教育而習慣簡化字,邏輯上是一致的。因此,習慣何種文字系統,根本是受教育的問題。

3. 如 果在文字系統上,簡化字是比正體字更有邏輯、更完善的系統,那麼採用簡化字教育則更合理。但事實上,現行的簡化字,並不對應傳統用字體系中的所有正體字, 即簡化字與正體字並非一一對應的關係。簡化字所對應的,是正體字的一部分而已。因此,有許多正體字沒有經過簡化即被沿用。因此,現行的文字系統,是一個正 簡並存的系統。正簡並存之下,正體字與簡化字各有各的邏輯。最明顯的是,在正體字教育中應用一些通行的識字技巧或原則,在用於學習簡化字時,出現失效的情 況,導致初學者學習簡化字需要強記更多的單字或符號化的文字,不利於建構初學者對於漢字的邏輯理解。培養邏輯理解力,也是教育的內容之一,既然使用正體字 教育,更有助於學習者的邏輯能力提高,為何要使用邏輯性較低的簡化字?

4. 許 多攻擊正體字的人,提出的書寫問題,也是片面的,簡化字較之對應的正體字,筆畫數固然減少,但任何人寫字之時,是下筆字字為有對應簡化字的正體字麽?顯然 不是,對於任何一份採用簡化字的文本,也無法避免不用未經簡化的正體字。對於任何一份文本的正簡筆畫數對比,並沒有挺簡派所想當然的差距那麼大,通常,就 同一文本正簡版的單字平均筆畫數而言,其中的差距不足三畫,不認同這個結論的挺簡派,可以隨便拿一份報刊的某篇文章自行評估。這種對比的前提,是一個人對 於正簡的熟悉程度基本一致,或參與對比的兩個人是分別習慣正簡。如此對比,才有意義。

5. 上面一點,說的是用正楷書寫,但 是,除了初學者或低年級學生,並沒有多少漢字書寫者將正楷作為平日書寫的常用字體。而正體字的行書,自楷書出現就並存,楷書、行書作為同一漢字體系的不同 字體,各司其職。如果用行書比較隨機抽取的一份文本之正簡版本,則就單字平均筆畫數而言,更為接近,且至少差距降低一半,而書寫所用時間,正簡幾乎一致。 同樣的,不認同這個結論的挺簡派,可以隨便拿一份報刊的某篇文章自行評估。此項對比的前提,參照上一點所述。
================================================


延伸閱讀:

正體字與簡體字的抉擇
http://dickykarma.2kool4u.net/dickykarma/index.php?load=read&id=82

[五常问答室]简体字应不应该改回繁体字?
http://blog.sina.com.cn/s/blog_47841af70100e1gd.html#comment1

Matlab only supports 7 color strings, which are:
'blue', 'green', 'red', 'cyan', 'magenta', 'yellow' and 'black'.

But very often we need to plot more than 7 data sets in one single plot. One solution is to repeat the colours and then use another type of marker. However it is desirable to have more than 7 colours for plotting. This is possible by using the built-in colourmaps in Matlab. For example:

x = -pi:.1:pi;
y1 = sin(x);
y2 = cos(x);
y3 = sin(x).*cos(x);
y4 = 2*sin(x);
y5 = 2*cos(x);
y6 = sinh(x);
y7 = cosh(x);
y8 = tanh(x);
y9 = (sin(x)).^2;
y10 = (cos(x)).^2;

% now generate 10 different colours from blue to red
colorRange = jet(10);

figure;
plot(x,y1,'Color',colorRange(1,:));
hold on; plot(x,y2,'Color',colorRange(2,:));
hold on; plot(x,y3,'Color',colorRange(3,:));
hold on; plot(x,y4,'Color',colorRange(4,:));
hold on; plot(x,y5,'Color',colorRange(5,:));
hold on; plot(x,y6,'Color',colorRange(6,:));
hold on; plot(x,y7,'Color',colorRange(7,:));
hold on; plot(x,y8,'Color',colorRange(8,:));
hold on; plot(x,y9,'Color',colorRange(9,:));
hold on; plot(x,y10,'Color',colorRange(10,:)); legend('y1','y2','y3','y4','y5','y6','y7','y8','y9','y10','Location','NorthEastOutside'); axis tight;

The code above used the 'jet' colormap. Other built-in colormaps in Matlab are: 'autumn', 'bone', 'colorcube', 'cool', 'copper', 'flag', 'gray', 'hot', 'hsv', 'line', 'pink', 'prism', 'spring', 'summer', 'white', and 'winter'.





First blog!

Hello my blog! :-) Finally I decided to open you to keep track of my daily learning. Hope I will keep writing and won't abandon you...