來到美國後,發現有很多英語發音跟以前在台灣學的不一樣,不知道是我學錯了還是老師都是這樣教的,雖然外國人還是聽的懂我在講什麼,不過有時候要多講幾次才會懂。以下是一些老師上課教的發音規則(不是絕對的規則):

1. tt要發/d/,例如pretty, kitty。
2. 數字中y前面的t要發/d/,例如 twenty,thirty,這樣才不容易跟thirteen搞混。
3. /i/和/I/要分清楚,例如sheepship, heathit, peachpitch等。
4. th子音要記得把舌頭申到牙齒中間,例如think, thing, the,they 因為這些都是很常用的字,
所以常常被老師糾正。
5. 看到cc連在一起,第一個c通常發/k/,第二個c發/s/,另如success, access。
6. gg也有相同的現象,第一個g發/g/,第二個g發/j/,例如suggest。
7. y在字首通常發/j/,例如yes, yellow, yesterday, you等。
8. y在字中或字尾常發母音/i/,例如why, gym等,在字尾時如果有其他母音則常不發音,例如day,
may, play等
9. w在字首常發/w/,例如water, why等
10.w在字尾則常發母音/OU/,另如how, 有時在字尾不發音,例如show, yellow等

Irwinlin 發表在 痞客邦 留言(0) 人氣()

/*對原始圖進行subsample,使原本的pixels變為1/n倍
此程式在此對256x256 pixels進行subsampling使其變成64x64 pixels*/

#include
#include

#define ROWS 256 /*定義原始圖形的行數*/
#define COLUMNS 256 /*定義原使圖形的列數*/

#define sqr(x) ((x)*(x))

int main( int argc, char **argv )
{
int i;
int j;
int k;
int threshold;
FILE *fp;
char *ifile, *ofile;
unsigned char image[ROWS][COLUMNS]; /*用來儲存原始圖片畫素灰階值*/
unsigned char image4[ROWS/4][COLUMNS/4];/*用來儲存subsampling後的畫素灰階值*/

Irwinlin 發表在 痞客邦 留言(1) 人氣()

使用Median filter, Maximum filter, Minimum filter, midpoint filter在之前所產生黑白相間條紋的圖片,以一個(2n+1)x(2n+1)pixels的矩陣來實現 。原始圖形如下:

以下使用matlab來對各種filter以3x3 pixels來實現,使用matlab的好處是median, max, min都有函數可以直接用,不用另外寫。

n=input('The (2n+1)x(2n+1) matrix of the filter, n=')
%if 3x3 pixels matrix, please input n=1, if 5x5, please input n=2 and so on.
%首先初始化四個矩陣,以便存取濾波後的圖形,矩陣的大小為256x256
for k1=1:256
for l1=1:256
image_medf(k1,l1)=bwimage(k1,l1);
image_maxf(k1,l1)=bwimage(k1,l1);
image_minf(k1,l1)=bwimage(k1,l1);
image_midf(k1,l1)=bwimage(k1,l1);
i1=1; %用來計數

%對某一個pixel(k1,l1),選取以其為中心之3x3 pixels的灰階值,記錄於temp
%忽略邊界效應,也就是不計算無法被這個3x3 filter覆蓋的pixels
%所以對3x3 filter而言,k1和l1從第2 pixel計算到255個pixel
if k1>1&&l1>1&&k1
%You can find the raw data in the director c:\DIP
fout=fopen('c:\DIP\image_medf','w');
for i1=1:256
ori=fwrite(fout,image_medf(i1,:),'uchar');
end;
fclose(fout);

fout=fopen('c:\DIP\image_maxf','w');
for i2=1:256
ori=fwrite(fout,image_maxf(i2,:),'uchar');
end;
fclose(fout);

fout=fopen('c:\DIP\image_minf','w');
for i3=1:256
ori=fwrite(fout,image_minf(i3,:),'uchar');
end;
fclose(fout);

fout=fopen('c:\DIP\image_midpf','w');
for i4=1:256
ori=fwrite(fout,image_midpf(i4,:),'uchar');
end;
fclose(fout);

以3x3 filter實現的結果分別如下:
Median Filter&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp Maximum Filter

Minimum Filter&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbspMidpoint Filter


Irwinlin 發表在 痞客邦 留言(1) 人氣()

將之前所產生黑白相間條紋的圖片做平均化,分別以3x3 pixels,5x5 pixels, 7x7 pixels三種filter來做平均化。原始圖形如下:

以下使用matlab來做算數平均濾波器(AMF)


%首先初始化三個矩陣,以便存取濾波後的圖形,矩陣的大小為256x256
for k1=1:256
for l1=1:256
image_amf33(k1,l1)=bwimage(k1,l1);
image_amf55(k1,l1)=bwimage(k1,l1);
image_amf77(k1,l1)=bwimage(k1,l1);

%temp1,temp2,temp3累加濾波矩陣內的灰階值,以便計算平均值
temp1=0;
temp2=0;
temp3=0;

%對某一個pixel(k1,l1),計算以其為中心之3x3 pixels的平均值
%忽略邊界效應,也就是不計算無法被這個3x3 filter覆蓋的pixels
%所以對3x3 filter而言,k1和l1從第2 pixel計算到255個pixel
if k1>1&&l1>1&&k1
%對某一個pixel(k1,l1),計算以其為中心之5x5 pixels的平均值
if k1>2&&l1>2&&k14&&l1>4&&k1 &nbsp

左圖為3x3 filter的結果,右圖為7x7 filter的結果。

Irwinlin 發表在 痞客邦 留言(0) 人氣()


%產生一個黑白相間直條紋的圖片
%圖片大小為256x256 pixels
%白條紋的寬度為7 pixels,長度為210 pixels
%黑條紋的寬度為17pixels

%首先產生一個256x256 pixels的全黑(0)矩陣
%bwimage stands for black and white image
for i1=1:256
for j1=1:256
bwimage(i1,j1)=0;
end
end

%產生全黑(0)的一列
for i2=1:256
bwrow(i2)=0;
end

%在這列寫入黑白相間週期性訊號,空間週期為24 pixels
%白色灰階值為255,總共9個週期性0及255組成的方波
%255的長度為7pixels,0的長度為17個pixels
%bwrow stands for black and white row
for i3=30:36
for j3=1:9
bwrow(i3+24*(j3-1))=255;
end
end

Irwinlin 發表在 痞客邦 留言(2) 人氣()

以下利用Matlab program來分別以Binomial RV及Bernoulli RV
%來試驗中央極限定理(Central Limit Theorem)
%Binomial RVs
%-------------MATLAB Script-------------------------------------
% file binomial_rv

n=input('Number of Bernoulli trials n=');
p=input('Parameter of Bernoulli RV p=');
m=input('Number of sample mean m=');

for k=1:m
i=0;
f=(1.0-p)^n;
q=f;
u=rand();
while f> binomial_rv
Number of Bernoulli trials n=6
Parameter of Bernoulli RV p=0.3
Number of sample mean m=10000
The mean is = 1.791700
>>
>> binomial_rv
Number of Bernoulli trials n=6
Parameter of Bernoulli RV p=0.3
Number of sample mean m=100000
The mean is = 1.801410
>>
The E[X]=np=1.8
As the number of samples approaches infinity, the sample mean approaches the E[X].
------------------------------------------------------

%以Bernoulli RV來測試CLT
%Bernoulli RVs
-------------MATLAB Script-------------------------------------
% file bernoulli_rv.m
n=input('Number of Bernoulli trials n=');
p=input('Parameter of Bernoulli RV p=');
B=rand(n,1)> bernoulli_rv
Number of Bernoulli trials n=10000
Parameter of Bernoulli RV p=0.4
The mean is = 0.388700
>>
>> bernoulli_rv
Number of Bernoulli trials n=100000
Parameter of Bernoulli RV p=0.4
The mean is = 0.399340
>>
The E[X]=p=0.4.

It is very obvious that as the trials approaches infinity, the sample mean will approach E[x].

Irwinlin 發表在 痞客邦 留言(0) 人氣()

Write a program to generate Gaussian random variables. And then use this program to calculate E[X^2]. Using the moment generation function, we can get E[X^2]=μ2+σ2, and thus E[X^2]=0+1=1.
-------------MATLAB Script-------------------------------------
% file Gaussian_RV
u=input('mean of the gaussian RV u=');
var=input('variance of the gaussian RV var=');
m=input('Number of samples m=' );
temp=0;
for k=1:m
t=0;
if t==0;
r=2;
while r>1.0
v1=2.0*rand()-1.0;
v2=2.0*rand()-1.0;
r=v1*v1+v2*v2;
end
r=sqrt((-2.0*log(r))/r);
t=v2*r;
G(k,1)=u+v1*r*var;
else
temp=t
t=0.0;
G(k,1)=u+temp*var;
end
end
G2=G.*G;
mean=sum(G2)/m;
fprintf('The mean is = %f \n', mean);
------------------------------------------------------------------------
>> gaussian_rv
mean of the gaussian RV u=0
variance of the gaussian RV var=1
Number of samples m=10000
The mean is = 0.978683
>> gaussian_rv
mean of the gaussian RV u=0
variance of the gaussian RV var=1
Number of samples m=50000
The mean is = 0.997460
>>
-------------------------------------------------------------------------
We can see that the mean calculated using program is approaching the exact value of E[X^2] as the number of samples increases.

Irwinlin 發表在 痞客邦 留言(0) 人氣()

%(1)
%使用Matlab來產生Bernoulli Random Variable序列之和的樣本空間
%----------------------MATLAB Script-------------------------------------
% poisson_rvs
% Sequence of Poisson Random variables
n=input('Number of RVs n=');
m=input('Number of samples of the sum m=');
u=input('Parameter of Bernoulli RV u=');

% claculate the sum of n Poisson Rvs
for j=1:m
for k=1:n
i=0;
f=exp(-u);
p=f;
u=rand();
while f> poisson_rvs
Number of RVs n=100
Number of samples of the sum m=10
Parameter of Poisson RV u=0.3

Some samples of the sum of these n RVs
i S(i)
1 63
2 46
3 55
4 37
5 60
6 51
7 47
8 48
9 47
10 34

Irwinlin 發表在 痞客邦 留言(0) 人氣()

%使用Matlab來產生Bernoulli Random Variable序列之和的樣本空間 
%------------------------------MATLAB Script-------------------------------------- 
% file bernoulli_rvs 
% Sequence of Bernoulli Random variables 
% X_i are Bernoulli RVs with i=1,...,n 
n=input('Number of RVs='); 
m=input('Number of samples of the sum=');
 p=input('Parameter of Bernoulli RV='); 

%Sn=X_1+X_2+...+X_100 
B=rand(n,m)<=p; 
for i=1:m 
SUMOFBRV(i,1)=sum(B(:,i)); 
end k=[1:m]'; 
Samples=[k SUMOFBRV]; 
fprintf('\n\tSome samples of the sum of these %d Bernoulli RVs',n);
 fprintf('\n\t i \t S(i)\n'); 
disp(Samples); 
-------------------------------------------------------------------------- 
>> bernoulli_rvs Number of RVs n=100 
Number of samples of the sum m=10
Parameter of Bernoulli RV p=0.3 
>>
 random_sum 
Some samples of the sum of these 100 RVs
 i S(i) 
1 25 
2 34 
3 36
4 36 
5 36 
6 32 
7 32 
8 29 
9 31 
10 39

Irwinlin 發表在 痞客邦 留言(0) 人氣()

光有如同水波一般的繞涉現象,要了解這個現象,首先要對波有些概念,我們在日常生活中可以碰到許多種類的波,例如聲波、水波。這些波都有三個類似我們身高、體重的數值,就是波速、頻率及波長,而三個的關係為波速等於波長(wavelength)乘以頻率(frequency),其中波速就是波前移動的速度,頻率就是一秒內被製造出來的波數目。如果你在水面放一個障礙物,而只留一個小孔,這時水波經過障礙物時,會有繞過障礙物而再生水波的現像。科學家就是要從這些性質來猜測光到底是什麼東西。但是這些現象也讓科學家對光的看法分成兩派,一是以牛頓為首的粒子說學派,另一派是以英國科學家虎克及荷蘭科學家海更斯(Christian Hygens)為首的波動說學派。

Irwinlin 發表在 痞客邦 留言(0) 人氣()

光是我們每天在日常生活都會碰到的東西,早上太陽出來,我們就會看到陽光,晚上我們將電燈打開,就會有燈光跑出來,我們也可以在夜晚的天空看到月光與星光,或是今日我們將電視機打開時也會有光跑出來,所以光扮演著很重要的角色,光讓我們能看見各種東西。我們人類古代就利用光來做很多事情,你可以想一想,如果你是一個古代人,你會怎樣利用光,又可以用它來做什麼事情。

Irwinlin 發表在 痞客邦 留言(0) 人氣()

瞭解了銀河的構造和形狀,接下來我們或許會問銀河系到底有多大,要回答這個問題前,讓我們先來想一些問題。首先是如何知道你的學校的周長有多長,這個問題很簡單,我們可以拿一把長尺慢慢量,也可以計時自己一百公尺走多久,然後計時自己繞學校一圈要多久,這樣也可大概知道學校有多大,當然還有其他方法。

Irwinlin 發表在 痞客邦 留言(0) 人氣()

這也是以前寫過的文章,現在將它修改過------

        如果你在高山上,在天氣不錯的夜晚,你可以看到很壯觀的星空,你會看見一條從地平線的一方延伸到另一方的星帶,古希臘人也看過這星帶,把它稱為牛奶河(Milky Way),在中國我們叫這條星帶為銀河,而這星帶上無數個星球組成的系統,我們稱為銀河系。我們太陽系是位於銀河系中的一個小系統,而且是在銀河系靠近外圍的地方,並非在銀河系中央,這也就是夏天所看到的銀河會比冬天看到的銀河燦爛的原因,你可以試著想像你站在麥田中間,不管你從任一方向看過去,都是一望無際的麥田,但是如果你站在麥田的邊緣,那就不會四周都是一望無際的麥田。

Irwinlin 發表在 痞客邦 留言(0) 人氣()

這是以前寫的,再將它改寫過,關於海為何是藍色------ 

"媽媽" "這個大海叫什麼名子啊?" 

"這是地中海" 在甲板上,一對母子正在看海。 

"那為什麼叫地中海呢"

 "因為它四周被陸地的包圍,所以叫做地中海呀" 

"媽媽!那它為什麼是藍色的呢?" 這位對答如流的媽媽突然不知要怎麼回答。

在甲板上站了另一青年,正在聆聽這對母子的對話,此時這位青年就很有自信的跟這位小朋友說 "因為海反射了天空的藍色,所以它呈現藍色" 這位小朋友對這樣的回答似乎覺得很對,所以沒再問下去。而這位青年向這對母子告別,走到甲板的另一方,望這大海,若有所思的樣子。

Irwinlin 發表在 痞客邦 留言(0) 人氣()

今天去聽演講,Spearker說Einstein小時候曾經(about 12 or 13)對宗教有過研究,不過後來看了科學的書,就不再相信權威的話。他在16歲的時候開始想如果我們跟著光速一起前進會看到什麼情況? 1905年他發表的五篇文章,分別是1.光量子論 2.分子大小 3.布朗運動 4.狹義相對論 5.E=mc2,這是他最光輝的一年,1907年他想到最快樂的事情就是重力不過是加速座標系所產生的一個效應,也就是等效性原理(Equivalence Principle),開啟了他之後八年的研究,完成了他最偉大的作品,廣義相對論。 今天去有很多的高中生去聽這場演講,現在的年代真的跟我高中的時候差很多,那時候都沒有那麼多的資訊,科學的推廣在台灣算是有很大的進步。

Irwinlin 發表在 痞客邦 留言(0) 人氣()

«12