发布网友 发布时间:2022-04-23 13:03
共5个回答
懂视网 时间:2022-04-15 00:57
1 K-均聚类算法的基本思想 K-均聚类算法 是著名的划分聚类分割方法。划分方法的基本思想是:给定一个有N个元组或者纪录的数据集,法将构造K个分组,每一个分组就代表一个聚类,KN。而且这K个分组满足下列条件:(1) 每一个分组至少包含一个数据纪录;(
K-均值聚类算法是著名的划分聚类分割方法。划分方法的基本思想是:给定一个有N个元组或者纪录的数据集,法将构造K个分组,每一个分组就代表一个聚类,K K-means算法的工作原理:算法首先随机从数据集中选取 K个点作为初始聚类中心,然后计算各个样本到聚类中心的距离,把样本归到离它最近的那个聚类中心所在的类。计算新形成的每一个聚类的数据对象的平均值来得到新的聚类中心,如果相邻两次的聚类中心没有任何变化,说明样本调整结束,聚类准则函数 已经收敛。本算法的一个特点是在每次迭代中都要考察每个样本的分类是否正确。若不正确,就要调整,在全部样本调整完后,再修改聚类中心,进入下一次迭代。这个过程将不断重复直到满足某个终止条件,终止条件可以是以下任何一个: (1)没有对象被重新分配给不同的聚类。 (2)聚类中心再发生变化。 (3)误差平方和局部最小。 K-means聚类算法的一般步骤: (1)从 n个数据对象任意选择 k 个对象作为初始聚类中心; (2)循环(3)到(4)直到每个聚类不再发生变化为止; (3)根据每个聚类对象的均值(中心对象),计算每个对象与这些中心对象的距离;并根据最小距离重新对相应对象进行划分; (4)重新计算每个(有变化)聚类的均值(中心对象),直到聚类中心不再变化。这种划分使得下式最小 K-均值聚类法的缺点: (1)在 K-means 算法中 K 是事先给定的,这个 K 值的选定是非常难以估计的。 (2)在 K-means 算法中,首先需要根据初始聚类中心来确定一个初始划分,然后对初始划分进行优化。 (3) K-means算法需要不断地进行样本分类调整不断地计算调整后的新的聚类中心因此当数据量非常大时算法的时间开销是非常大的。 (4)K-means算法对一些离散点和初始k值敏感,不同的距离初始值对同样的数据样本可能得到不同的结果。
CV_IMPL int
cvKMeans2( const CvArr* _samples, intcluster_count, CvArr* _labels,
CvTermCriteria termcrit, int attempts, CvRNG*,
intflags, CvArr* _centers, double* _compactness )
_samples:输入样本的浮点矩阵,每个样本一行,如对彩色图像进行聚类,每个通道一行,CV_32FC3
cluster_count:所给定的聚类数目
_labels:输出整数向量:每个样本对应的类别标识,其范围为0- (cluster_count-1),必须满足以下条件:
cv::Mat data = cv::cvarrToMat(_samples),labels = cv::cvarrToMat(_labels);
CV_Assert(labels.isContinuous() && labels.type() == CV_32S &&
(labels.cols == 1 || labels.rows == 1)&&
labels.cols + labels.rows - 1 ==data.rows );
termcrit:指定聚类的最大迭代次数和/或精度(两次迭代引起的聚类中心的移动距离),其执行 k-means 算法搜索 cluster_count 个类别的中心并对样本进行分类,输出 labels(i) 为样本i的类别标识。其中CvTermCriteria为OpenCV中的迭代算法的终止准则,其结构如下:
#define CV_TERMCRIT_ITER 1
#define CV_TERMCRIT_NUMBER CV_TERMCRIT_ITER
#define CV_TERMCRIT_EPS 2
typedef struct CvTermCriteria
{
int type; int max_iter; double epsilon;
} CvTermCriteria;
max_iter:最大迭代次数。 epsilon:结果的精确性 。
attempts:
flags: 与labels和centers相关
_centers: 输出聚类中心,可以不用设置输出聚类中心,但如果想输出聚类中心必须满足以下条件:
CV_Assert(!centers.empty() );
CV_Assert( centers.rows == cluster_count );
CV_Assert( centers.cols ==data.cols );
CV_Assert( centers.depth() == data.depth() );
聚类中心的获得方式:(以三类为例)
double cent0 = centers->data.fl[0];
double cent1 = centers->data.fl[1];
double cent2 = centers->data.fl[2];
CV_IMPL int
cvKMeans2( const CvArr* _samples,int cluster_count,CvArr* _labels,
CvTermCriteriatermcrit, intattempts, CvRNG*,
int flags, CvArr* _centers, double* _compactness )
{
cv::Mat data = cv::cvarrToMat(_samples), labels= cv::cvarrToMat(_labels), centers;
if( _centers )
{
centers= cv::cvarrToMat(_centers);
// 将centers和data转换为行向量
centers= centers.reshape(1);
data= data.reshape(1);
// centers必须满足的条件
CV_Assert(!centers.empty());
CV_Assert(centers.rows== cluster_count );
CV_Assert(centers.cols== data.cols);
CV_Assert(centers.depth()== data.depth());
}
// labels必须满足的条件
CV_Assert(labels.isContinuous()&& labels.type()== CV_32S &&
(labels.cols == 1 || labels.rows == 1) &&
labels.cols + labels.rows - 1 == data.rows );
// 调用kmeans实现聚类,如果定义了输出聚类中心矩阵,那么输出centers
double compactness = cv::kmeans(data, cluster_count, labels,termcrit, attempts,
flags, _centers? cv::_OutputArray(centers) : cv::_OutputArray() );
if( _compactness )
*_compactness= compactness;
return 1;
}
double cv::kmeans( InputArray_data, int K,
InputOutputArray_bestLabels,
TermCriteriacriteria, intattempts,
intflags, OutputArray_centers )
{
const int SPP_TRIALS =3;
Mat data = _data.getMat();
// 判断data是否为行向量
bool isrow = data.rows == 1 && data.channels() > 1;
int N = !isrow ? data.rows : data.cols;
int dims = (!isrow? data.cols: 1)*data.channels();
int type = data.depth();
attempts= std::max(attempts, 1);
CV_Assert(data.dims<= 2 && type == CV_32F && K> 0 );
CV_Assert(N >= K);
_bestLabels.create(N, 1, CV_32S, -1, true);
Mat _labels, best_labels = _bestLabels.getMat();
// 使用已初始化的labels
if( flags & CV_KMEANS_USE_INITIAL_LABELS)
{
CV_Assert((best_labels.cols== 1 || best_labels.rows== 1) &&
best_labels.cols*best_labels.rows == N&&
best_labels.type() == CV_32S&&
best_labels.isContinuous());
best_labels.copyTo(_labels);
}
else
{
if( !((best_labels.cols== 1 || best_labels.rows== 1) &&
best_labels.cols*best_labels.rows == N&&
best_labels.type() == CV_32S&&
best_labels.isContinuous()))
best_labels.create(N, 1, CV_32S);
_labels.create(best_labels.size(), best_labels.type());
}
int*
labels = _labels.ptr
Mat centers(K, dims, type), old_centers(K, dims, type), temp(1, dims, type);
vector
vector
Vec2f* box = &_box[0];
double best_compactness = DBL_MAX,compactness = 0;
RNG&rng = theRNG();
int a, iter, i, j, k;
// 对终止条件进行修改
if( criteria.type& TermCriteria::EPS)
criteria.epsilon = std::max(criteria.epsilon, 0.);
else
criteria.epsilon = FLT_EPSILON;
criteria.epsilon *= criteria.epsilon;
if( criteria.type& TermCriteria::COUNT)
criteria.maxCount = std::min(std::max(criteria.maxCount, 2), 100);
else
criteria.maxCount = 100;
// 聚类数目为1类的时候
if( K == 1 )
{
attempts= 1;
criteria.maxCount = 2;
}
const
float* sample =
data.ptr
for( j = 0; j < dims; j++ )
box[j] = Vec2f(sample[j], sample[j]);
for( i = 1; i < N; i++ )
{
sample=
data.ptr
for( j = 0; j < dims; j++ )
{
floatv = sample[j];
box[j][0] = std::min(box[j][0], v);
box[j][1] = std::max(box[j][1], v);
}
}
for( a = 0; a < attempts; a++ )
{
double max_center_shift = DBL_MAX;
for( iter = 0;; )
{
swap(centers, old_centers);
/*enum
{
KMEANS_RANDOM_CENTERS=0, // Chooses random centers for k-Meansinitialization
KMEANS_PP_CENTERS=2, // Usesk-Means++ algorithm for initialization
KMEANS_USE_INITIAL_LABELS=1 // Uses the user-provided labels for K-Meansinitialization
};*/
if(iter == 0 && (a > 0 || !(flags& KMEANS_USE_INITIAL_LABELS)) )
{
if(flags & KMEANS_PP_CENTERS)
generateCentersPP(data, centers, K, rng, SPP_TRIALS);
else
{
for(k = 0; k< K; k++)
generateRandomCenter(_box,
centers.ptr
}
}
else
{
if(iter == 0 && a == 0 && (flags& KMEANS_USE_INITIAL_LABELS) )
{
for(i = 0; i< N; i++)
CV_Assert( (unsigned)labels[i] <(unsigned)K);
}
//compute centers
centers= Scalar(0);
for(k = 0; k< K; k++)
counters[k] = 0;
for(i = 0; i< N; i++)
{
sample=
data.ptr
k= labels[i];
float*center =
centers.ptr
j=0;
#ifCV_ENABLE_UNROLLED
for(;j <= dims- 4; j += 4 )
{
float t0 = center[j] + sample[j];
float t1 = center[j+1] + sample[j+1];
center[j] = t0;
center[j+1] = t1;
t0 = center[j+2] + sample[j+2];
t1 = center[j+3] + sample[j+3];
center[j+2] = t0;
center[j+3] = t1;
}
#endif
for(; j < dims;j++ )
center[j] += sample[j];
counters[k]++;
}
if(iter > 0 )
max_center_shift= 0;
for(k = 0; k< K; k++)
{
if(counters[k]!= 0 )
continue;
// if somecluster appeared to be empty then:
// 1. find the biggest cluster
// 2. find the farthest from the center pointin the biggest cluster
// 3. exclude the farthest point from thebiggest cluster and form a new 1-point cluster.
intmax_k = 0;
for(int k1 = 1; k1 < K; k1++ )
{
if( counters[max_k] < counters[k1] )
max_k = k1;
}
doublemax_dist = 0;
intfarthest_i = -1;
float*new_center =
centers.ptr
float*old_center =
centers.ptr
float*_old_center =
temp.ptr
floatscale = 1.f/counters[max_k];
for(j = 0; j< dims; j++)
_old_center[j] = old_center[j]*scale;
for(i = 0; i< N; i++)
{
if(labels[i]!= max_k )
continue;
sample =
data.ptr
double dist = normL2Sqr_(sample,_old_center, dims);
if( max_dist <= dist )
{
max_dist = dist;
farthest_i = i;
}
}
counters[max_k]--;
counters[k]++;
labels[farthest_i] = k;
sample=
data.ptr
for(j = 0; j< dims; j++)
{
old_center[j] -= sample[j];
new_center[j] += sample[j];
}
}
for(k = 0; k< K; k++)
{
float*center =
centers.ptr
CV_Assert(counters[k]!= 0 );
floatscale = 1.f/counters[k];
for(j = 0; j< dims; j++)
center[j] *= scale;
if(iter > 0 )
{
double dist = 0;
const
float* old_center =
old_centers.ptr
for( j = 0; j < dims; j++ )
{
double t = center[j] - old_center[j];
dist += t*t;
}
max_center_shift= std::max(max_center_shift, dist);
}
}
}
if(++iter == MAX(criteria.maxCount,2) || max_center_shift <= criteria.epsilon)
break;
// assignlabels
Matdists(1, N,CV_F);
double*dist =
dists.ptr
parallel_for_(Range(0, N),
KMeansDistanceComputer(dist,labels, data,centers));
compactness= 0;
for(i = 0; i< N; i++)
{
compactness+= dist[i];
}
}
if( compactness < best_compactness)
{
best_compactness= compactness;
if(_centers.needed())
centers.copyTo(_centers);
_labels.copyTo(best_labels);
}
}
return best_compactness;
}
//灰度图像聚类分析
BOOL GrayImageSegmentByKMeans2(const IplImage* pImg, IplImage*pResult, intsortFlag)
{
assert(pImg != NULL&& pImg->nChannels== 1);
//创建样本矩阵,CV_32FC1代表位浮点通道(灰度图像)
CvMat*samples = cvCreateMat((pImg->width)* (pImg->height),1, CV_32FC1);
//创建类别标记矩阵,CV_32SF1代表位整型通道
CvMat*clusters = cvCreateMat((pImg->width)* (pImg->height),1, CV_32SC1);
//创建类别中心矩阵
CvMat*centers = cvCreateMat(nClusters, 1, CV_32FC1);
// 将原始图像转换到样本矩阵
{
intk = 0;
CvScalars;
for(int i = 0; i < pImg->width; i++)
{
for(int j=0;j < pImg->height; j++)
{
s.val[0] = (float)cvGet2D(pImg, j, i).val[0];
cvSet2D(samples,k++, 0, s);
}
}
}
//开始聚类,迭代次,终止误差.0
cvKMeans2(samples, nClusters,clusters, cvTermCriteria(CV_TERMCRIT_ITER + CV_TERMCRIT_EPS,100, 1.0), 1, 0, 0, centers);
// 无需排序直接输出时
if (sortFlag == 0)
{
intk = 0;
intval = 0;
floatstep = 255 / ((float)nClusters - 1);
CvScalars;
for(int i = 0; i < pImg->width; i++)
{
for(int j = 0;j < pImg->height; j++)
{
val = (int)clusters->data.i[k++];
s.val[0] = 255- val * step;//这个是将不同类别取不同的像素值,
cvSet2D(pResult,j, i, s); //将每个像素点赋值
}
}
returnTRUE;
}
BOOL ColorImageSegmentByKMeans2(const IplImage* img, IplImage* pResult, int sortFlag)
{
assert(img != NULL&& pResult != NULL);
assert(img->nChannels== 3 && pResult->nChannels == 1);
int i,j;
CvMat*samples=cvCreateMat((img->width)*(img->height),1,CV_32FC3);//创建样本矩阵,CV_32FC3代表位浮点通道(彩色图像)
CvMat*clusters=cvCreateMat((img->width)*(img->height),1,CV_32SC1);//创建类别标记矩阵,CV_32SF1代表位整型通道
int k=0;
for (i=0;i
{
for(j=0;j
{
CvScalars;
//获取图像各个像素点的三通道值(RGB)
s.val[0]=(float)cvGet2D(img,j,i).val[0];
s.val[1]=(float)cvGet2D(img,j,i).val[1];
s.val[2]=(float)cvGet2D(img,j,i).val[2];
cvSet2D(samples,k++,0,s);//将像素点三通道的值按顺序排入样本矩阵
}
}
cvKMeans2(samples,nClusters,clusters,cvTermCriteria(CV_TERMCRIT_ITER,100,1.0));//开始聚类,迭代次,终止误差.0
k=0;
int val=0;
float step=255/(nClusters-1);
for (i=0;i
{
for(j=0;j
{
val=(int)clusters->data.i[k++];
CvScalars;
s.val[0]=255-val*step;//这个是将不同类别取不同的像素值,
cvSet2D(pResult,j,i,s); //将每个像素点赋值
}
}
cvReleaseMat(&samples);
cvReleaseMat(&clusters);
return TRUE;
}
热心网友 时间:2022-04-14 22:05
1. 动词的语态
语态有两种:主动语态和被动语态。
主语是动作的发出者为主动语态;主语是动作的接受者为被动语态。
1)若宾语补足语是不带to 的不定式,变为被动语态 时,该不定式前要加to。此类动词为感官动词。feel, hear, help, listen to, look at, make, observe, see, notice, watch
The teacher made me go out of the classroom.
--> I was made to go out of the classroom (by the teacher).
We saw him play football on the playground.
--> He was seen to play football on the playground.
2)情态动词+ be +过去分词,构成被动语态。
Coal can be used to proce electricity for agriculture and instry.
2.被动形式表示主动意义
be determined, be pleased, be graated (from), be finished, be prepared (for), be occupied (in), get marries
例: He is graated from a famous university.(他毕业于一所有名的大学。)
注意: 表示同某人结婚,用marry sb. 或get married to sb. 都可。
He married a rich girl. He got married to a rich girl.
3. 短语动词的被动语态
短语动词是一个整体,不可丢掉后面的介词或副词。
This is a photo of the power station that has been set up in my hometown.
My sister will be taken care of by Grandma.
Such a thing has never been heard of before..
4 .不用被动语态的情况
1) 不及物动词或动词短语无被动语态:
appear, die disappear, end (vi. 结束), fail, happen, last, lie, remain, sit, spread, stand
break out, come true, fall asleep, keep silence, lose heart, take place.
After the fire, very little remained of my house.
比较: rise, fall, happen是不及物动词;raise, seat是及物动词。
(错) The price has been risen.
(对) The price has risen.
(错) The accident was happened last week.
(对) The accident happened last week.
(错) The price has raised.
(对) The price has been raised.
(错) Please seat.
(对) Please be seated.
要想正确地使用被动语态,就须注意哪些动词是及物的,哪些是不及物的。特别是一词多义的动词往往有两种用法。解决这一问题唯有在学习过程中多留意积累。
5. 一、被动语态的基本形式
1. 被动语态的基本时态变化
被动语态通常为十种时态的被动形式, 被动语态由be+过去分词构成,be随时态的变化而变化。以do为例,各种时态的被动语态形式为:
1) am/is/are +done (过去分词) 一般现在时
2)was/were done 一般过去时
3)has /have been done 现在完成时
4)had been done 过去完成时
5)am/is /are being done 现在进行时
6)was/were being done 过去进行时
7)shall/will be done 一般将来时
8)should/would be done 过去将来时
9)shall/will have been done 将来完成时
10) should/would have been done 过去将来完成时
2. 被动语态的特殊结构形式
1)带情态动词的被动结构。其形式为:情态动词+be+过去分词。
2) 在使役动词have, make, get以及感官动词see, watch, notice, hear,等后面不定式作宾
语时,在主动结构中不定式to要省略,但变为被动结构时,要加to。
3. 非谓语动词的被动语态: v.+ing 形式及不定式 to do 也有被动语态。
4. It is said that+从句及其他类似句型
一些表示“据说”的动词如believe, consider, expect, report, say, suppose, think 等可以用于句型“It+is/was+过去分词+that从句”或“主语+be+过去分词+to do sth.”。有:It is said that… 据说,It is reported that…据报道,It is believed that…大家相信,It is hoped that…大家希望,It is well known that…众所周知,It is thought that…大家认为,It is suggested that…据建议。 It is said that the boy has passed the exam./ The boy is said to have passed the exam.
二、谓语动词的主动形式表示被动意义
1. 英语中有很多动词如lock,open,sell,read,write,wash等,当它们被用作不及物动词来描述主语特征时,常用其主动形式 表达被动意义,主语通常是物。
This kind of cloth washes well.
注意:主动语态表被动强调的是主语的特征,而被动语态则强调外界作用造成的影响。
试比较:The door won’t lock. (指门本身有毛病)
The door won’t be locked.(指不会有人来锁门, 指“门没有锁”是人的原因)
2. 系动词没有被动形式, 但有些表示感受、感官的连系动词feel, sound, taste, look,smell常以主动形式表示被动意义。
Your reason sounds reasonable.
三、非谓语动词的主动形式表被动意义
1. 在need,want,require等词的后面,动名词用主动形式表示被动意义,其含义相当于动词不定式的被动形式。
The house needs repairing(to be repaired).这房子需要修理。
2. 形容词worth后面跟动名词的主动形式表示被动含义,但不能跟动词不定式;而worthy后面跟动词不定式的被动形式。 The picture-book is well worth reading.(=The picture-book is very worthy to be read.)
3. 在too… to…结构中,不定式前面可加逻辑主语,所以应用主动形式表示被动意义。
This book is too expensive (for me) to buy.
2) 不能用于被动语态的及物动词或动词短语:
fit, have, hold, marry, own, wish, cost, notice, watch agree with, arrive at / in, shake hands with, succeed in, suffer from, happen to, take part in, walk into, belong to
This key just fits the lock.
3) 系动词无被动语态:
appear, be become, fall, feel, get, grow, keep, look, remain, seem, smell, sound, stay, taste, tur
4) 带同源宾语的及物动词,反身代词,相互代词,不能用于被动语态:
die, death, dream, live, life
She dreamed a bad dream last night.
5) 当宾语是不定式时,很少用于被动语态。
(对) She likes to swim.
(错) To swim is liked by her.
我主要是帮你列出来了一个大纲和例子,至于写成文,你就照着这个随便发挥一下就可以啦!!
希望被选中!!!!
热心网友 时间:2022-04-14 23:23
1. 动词的语态
语态有两种:主动语态和被动语态。
主语是动作的发出者为主动语态;主语是动作的接受者为被动语态。
1)若宾语补足语是不带to 的不定式,变为被动语态 时,该不定式前要加to。此类动词为感官动词。feel, hear, help, listen to, look at, make, observe, see, notice, watch
The teacher made me go out of the classroom.
--> I was made to go out of the classroom (by the teacher).
We saw him play football on the playground.
--> He was seen to play football on the playground.
2)情态动词+ be +过去分词,构成被动语态。
Coal can be used to proce electricity for agriculture and instry.
2.被动形式表示主动意义
be determined, be pleased, be graated (from), be finished, be prepared (for), be occupied (in), get marries
例: He is graated from a famous university.(他毕业于一所有名的大学。)
注意: 表示同某人结婚,用marry sb. 或get married to sb. 都可。
He married a rich girl. He got married to a rich girl.
3. 短语动词的被动语态
短语动词是一个整体,不可丢掉后面的介词或副词。
This is a photo of the power station that has been set up in my hometown.
My sister will be taken care of by Grandma.
Such a thing has never been heard of before..
4 .不用被动语态的情况
1) 不及物动词或动词短语无被动语态:
appear, die disappear, end (vi. 结束), fail, happen, last, lie, remain, sit, spread, stand
break out, come true, fall asleep, keep silence, lose heart, take place.
After the fire, very little remained of my house.
比较: rise, fall, happen是不及物动词;raise, seat是及物动词。
(错) The price has been risen.
(对) The price has risen.
(错) The accident was happened last week.
(对) The accident happened last week.
(错) The price has raised.
(对) The price has been raised.
(错) Please seat.
(对) Please be seated.
要想正确地使用被动语态,就须注意哪些动词是及物的,哪些是不及物的。特别是一词多义的动词往往有两种用法。解决这一问题唯有在学习过程中多留意积累。
5. 一、被动语态的基本形式
1. 被动语态的基本时态变化
被动语态通常为十种时态的被动形式, 被动语态由be+过去分词构成,be随时态的变化而变化。以do为例,各种时态的被动语态形式为:
1) am/is/are +done (过去分词) 一般现在时
2)was/were done 一般过去时
3)has /have been done 现在完成时
4)had been done 过去完成时
5)am/is /are being done 现在进行时
6)was/were being done 过去进行时
7)shall/will be done 一般将来时
8)should/would be done 过去将来时
9)shall/will have been done 将来完成时
10) should/would have been done 过去将来完成时
2. 被动语态的特殊结构形式
1)带情态动词的被动结构。其形式为:情态动词+be+过去分词。
2) 在使役动词have, make, get以及感官动词see, watch, notice, hear,等后面不定式作宾
语时,在主动结构中不定式to要省略,但变为被动结构时,要加to。
3. 非谓语动词的被动语态: v.+ing 形式及不定式 to do 也有被动语态。
4. It is said that+从句及其他类似句型
一些表示“据说”的动词如believe, consider, expect, report, say, suppose, think 等可以用于句型“It+is/was+过去分词+that从句”或“主语+be+过去分词+to do sth.”。有:It is said that… 据说,It is reported that…据报道,It is believed that…大家相信,It is hoped that…大家希望,It is well known that…众所周知,It is thought that…大家认为,It is suggested that…据建议。 It is said that the boy has passed the exam./ The boy is said to have passed the exam.
二、谓语动词的主动形式表示被动意义
1. 英语中有很多动词如lock,open,sell,read,write,wash等,当它们被用作不及物动词来描述主语特征时,常用其主动形式 表达被动意义,主语通常是物。
This kind of cloth washes well.
注意:主动语态表被动强调的是主语的特征,而被动语态则强调外界作用造成的影响。
试比较:The door won’t lock. (指门本身有毛病)
The door won’t be locked.(指不会有人来锁门, 指“门没有锁”是人的原因)
2. 系动词没有被动形式, 但有些表示感受、感官的连系动词feel, sound, taste, look,smell常以主动形式表示被动意义。
Your reason sounds reasonable.
三、非谓语动词的主动形式表被动意义
1. 在need,want,require等词的后面,动名词用主动形式表示被动意义,其含义相当于动词不定式的被动形式。
The house needs repairing(to be repaired).这房子需要修理。
2. 形容词worth后面跟动名词的主动形式表示被动含义,但不能跟动词不定式;而worthy后面跟动词不定式的被动形式。 The picture-book is well worth reading.(=The picture-book is very worthy to be read.)
3. 在too… to…结构中,不定式前面可加逻辑主语,所以应用主动形式表示被动意义。
This book is too expensive (for me) to buy.
2) 不能用于被动语态的及物动词或动词短语:
fit, have, hold, marry, own, wish, cost, notice, watch agree with, arrive at / in, shake hands with, succeed in, suffer from, happen to, take part in, walk into, belong to
This key just fits the lock.
3) 系动词无被动语态:
appear, be become, fall, feel, get, grow, keep, look, remain, seem, smell, sound, stay, taste, tur
4) 带同源宾语的及物动词,反身代词,相互代词,不能用于被动语态:
die, death, dream, live, life
She dreamed a bad dream last night.
5) 当宾语是不定式时,很少用于被动语态。
(对) She likes to swim.
(错) To swim is liked by her.
什么叫被动词语 是被动语态把 汗
热心网友 时间:2022-04-15 00:57
《西游记》是我国四大名著之一,是一部老少皆宜的作品。其中充满了离奇,精彩的神话故事,每每读起《西游记》,老是会情不自禁地溶入那精彩的情节之中。
记得小时候,常问妈妈,“我是从哪里来的。”妈妈总是笑了一笑,摸摸我的头,说:“你啊,是从石头里蹦出来的。”我想,大概每个孩子都得到过这样的答案。因为我们每个人都是孙悟空。
我们可以回想自己的童年,捧着一本《西游记》的连环画,津津有味地看着,当孙悟空打败了妖精,我们总会为他欢呼;当他受到了冤屈,我们也会感受到一种深刻的共鸣;当孙悟空被唐僧误会,被*回花果山,继续当他的齐天大圣,但当唐僧遇到危险,猪八戒赶到花果山向孙悟空求救时,他也毅然去救唐僧。记得那时候看连续剧,当看到此片段时,眼中便充满泪水。因为我知道,当时的我就是孙悟空。
这只活蹦乱跳的小猴子就好像是我们的化身。当他从石头里蹦出来的时候,就象征着一个小生命的诞生。当他在花果山上无忧无虑地和群猴们玩耍时,就好似我们那无忧无虑的童年生活,多姿多彩。当孙悟空大闹天宫时,就好似一个调皮的孩子,不小心跑进了大人们的世界,并且搞得一团糟,大人们想哄住他,便封了他个弼马温,没哄住。又封了个齐天大圣,还是没有哄住。而后如来出现了,伸出他的飞掌将孙悟空束缚在五指山下。严慈的父亲,终于压服了他调皮的儿子。度过了漫漫的五百年后,观世音的出现给了孙悟空新的希望,踏上了漫漫西天取经之路,也踏上了漫长的人生之路。
唐僧师徒四人在前往西天取经的路上,共遇到了九九八十一道难关。这就好像我们成长道路上布满荆棘。最终,他们战胜了难关,取得了胜利。“工夫不负有心人”这句话用在他们身上是再恰当不过。而我们,只要有不怕困难,坚持到底的决心,也会取得最终的成功。
由此,我想到了我们的学习。学习就好像是要去取得真经。在学校里,有着形形色色的人。有的像猪八戒,好吃懒做,做任何事情都马马虎虎,有的则像沙僧,诚恳老实,踏踏实实。有的像孙悟空,活灵活现,足智多谋。而唐僧则是心地善良,不愿气馁的人。若我们在学习上能个个都是唐僧,孙悟空,沙僧,有对学习的信念,那一定会取得成功。
随着年龄的增长,《西游记》带给我们不再是对神话的幻想,它令我善良,宽容,嫉恶如仇,有面对困难的勇气。
感谢吴承恩,是他用他那超凡的想象力为我们编织了一个美丽的梦,一个充满离奇,曲折,梦幻的梦……
热心网友 时间:2022-04-15 02:49
dsakljkjfJKCDKJFCDKVJKDVKDSDVJDSFDLJVDISHGDJKHVKSDJDKLCJSDLJVGDIVJLDKJVDVJXCLKJVDJVCKX,JVDKVJXCKLVJDIJVXLJCVOISDJVXLCVKJDSOIJVLKXCVJSDIVKFDJVDKLZSJVDOIVJLZCDIVJLVJDFIVJ