第i行第j列表示城市i和城市j的距离,x[i,j]=x[j,i]
矩阵式对称的,且我们的目标使找到非0的最小值,并返回其所有的位置。
既然是对称的,只需要计算上三角(此例用上三角)或下三角的每一行的最小值,再找到这些最小值的那一个。
q<-matrix(c(0,12,13,8,20,12,0,15,28,88,13,15,0,6,9,8,28,6,0,33,20,88,9,33,0),
nrow=5,ncol=5)
mind<-function(d){
n<-nrow(d)
dd<-cbind(d,1:n)#为原矩阵增加一列,为相应的行号
wins<-apply(dd[-n,],1,imin)#dd[-n,],因为无需计算最后一行的最小值,上三角中值为0
i<-which.min(wins[2,])
#wins第1行为每行上三角最小值的列号,第2行为每行上三角的最小值
#在wins矩阵第2列找出最小值的位置,即为该最小值在原矩阵中的行号
j<-wins[1,i]
#j为wins矩阵中最小的值对应的k
#j为原矩阵的列号
return(c(d[i,j],i,j))
}
imin<-function(x){
lx<-length(x)
i<-x[lx]#注意此处返回的是行号,每一行的最后一个数字为对应的行号
j<-which.min(x[(i+1):(lx-1)])
#lx-1是为了不将行号值纳入计算,(i+1):(lx-1)为对应行i的上三角位置
#j取了该行上三角中最小值的位置
#举例,q第一行(i=1)的上三角值为12,13,8,20.那么最小值为8,j=3,k=i+j=4,为原矩阵中该行最小值的实际位置
k<-i+j
return(c(k,x[k]))
}
#imin主要应用在apply中,要考虑到其应用的是一个什么样子的矩阵
mind(q)
#[1] 6 3 4,最小的值是6,位于第3行第4列
heartsoft 讲得很好,讲到了点上,讲了实质。我补充几点:1. mind由名词“头脑”,“心” (后者为意译,因为中国古代人认为心为思之器官),转义为及物动词:将(某事情)放在心里(/上),介意(某件事情),后跟名词或相当于名词的动名词作宾语。常见于句型Do you mind opening the window? 这句话中opening the door 是动名词短语,表示开窗这个动作(事情),其逻辑主语就是句子中的主语you, 省略了your 这个词。如果这个动作是“我”发出的,即其逻辑主语是“我”,则说:Do you mind my opening the door? 在口语中可以用人称代词宾格代替所有格:Do you mind me opening the door? 但与see sb. doing sth. 不是一回事。
2. 动名词和现在分词在句子中的作用不同,在形式上完全相同。所以有些语法学家根据形式,将非谓语动词分成 :to 式,-ing 式 和-ed 式,传统语法将它们分成:不定式,动名词和分词。heartsoft 说:“动名词本质上就是现在分词当名词来用”,有点不妥。不如说:动名词本质上就是动词当名词来用,或动词的-ing式作名词用。因为按传统语法,现在分词是不能作名词用的。
现代语法说-ing 可以作名词、形容词、副词用。
3. 及物动词+sb. +to do sth. 这个及物动词有“祈使”之意,即不是请求就是命令。不定式to do sth. 表示“未发生”,“将发生”的事情。如果是have, let, make这三个=“使役”动词,则用无to不定式作宾补:have/let/make sb. do sth. mind 一词没有“使役”也没有“请求”之意。只有“将。。。放在心里”的意思,决定了它没有mind sb. (to)do sth.这一用法。建议楼上不用“介意”这一常用译法来说明。因为 “介意某人去做某事”,{mind sb. (to) do sth.}按汉语的思维,觉得很合情合理的。heartsoft说因为mind是心理活动,因而不能说mind sb. to do sth.是没有说服力的,因为want sb. to do sth. wish sb. to do sth. 中的want, wish也是心理活动动词。
总结:英语的动词的用法有一个习惯的问题,我们要尊重。入乡随从俗。我们尽管现在不在外国,但学外语目的之一就是出国与外国人打交道。不能以汉语的思维来推断。比如:advise和suggest都有“建议”的解释,用法很多相同,但是,你可以说:advise sb. to do sth., 不能说:suggest sb. to do sth. 为什么?说不清,比本题还难说清楚,只有记住了。另外还有两个:
可以说:wish sb. to do sth. 不可以说:hope sb. to do sth.
可以说:order sb. to do sth. 不可以说:demand sb. to do sth.
是常考的语言点,可以分类对比记忆 。
至于有些动词只能跟动名词作宾语,不可以跟不定式作宾语,钱哥川先生曾教我们一词:
Mepscafe, 我发展成:Mepsc(kg)arfid 妹不食咖啡滴:它们是以下20几个词的首字母组成的:
m-- mind, miss
e-- enjoy, escape
p--practise, permit, postpone, put off
s--suggest, stop
c(k/g)--consider, keep, give up
a--avoid, admit, allow, appreciate
r--risk, recommend
f--finish, forbid
i--imange, ignore
d--deny, delay
楼主可以从这些词汇的词义去体会一下,为什么这些词跟动名词而不跟不定式作宾语。
这个问题我会,让我来告诉你care和mind的具体用法与区别,希望能帮助到你
读音与含义不同
care:英[keə(r)] 美[ker] 照顾,照料护理照看小心,谨慎用心关心忧虑,焦虑
mind:英[maɪnd] 美[maɪnd] 介意对(某事)烦恼,苦恼,焦虑愿意做当心
用法不同
一、care用作及物动词作“在乎”“介意”“关心”解时,后面常跟that/wh-或if/whether引导的从句;
表示“介意,在乎”之意,care指对某事感到关切、操心或忧虑,主要用于否定句或疑问句。
It's nonsense to say they don't care.
翻译:说他们不在意那是瞎扯。
Joe Sixpack doesn't care about that.
翻译:普通工人不在意那事。
The end of the world may be nigh, but do we really care?
翻译:世界末日可能不远了,但我们真的在意吗?
二、mind作“介意”“关心”“在乎”“反对”解。主要用于疑问、否定、条件句中。可用作不及物动词,也可用作及物动词,接名词、代词、动名词、if/that/wh-从句作宾语。
表示“介意,在乎”之意,mind通常用于否定句、疑问句或条件句中。也可用在答复询问的肯定句中。指因某事打扰、感到不满而表示反对。
Would you mind leaving us alone for a few minutes?
翻译:你不介意让我们单独待一会吧?
I wouldn't mind trading places with her for a day.
翻译:我不介意和她掉换一天位置。
Did she mind about not getting the job?
翻译:她没得到这份工作是不是很介意?