exp(-i2nπ)一寸等于多少厘米少

博客访问: 203096
博文数量: 179
注册时间:
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
分类: Oracle
一、8i EXP常用选项1、FULL,这个用于导出整个数据库,在ROWS=N一起使用时,可以导出整个数据库的结构。例如:exp sys file=./db_str.dmp log=./db_str.log full=y rows=n compress=y direct=y2、BUFFER和FEEDBACK,在导出比较多的数据时,我会考虑设置这两个参数。例如:exp new file=yw97_2003.dmp log=yw97_2003_3.log feedback=10000 buffer= tables=WO4,OK_YT3、FILL和LOG,这两个参数分别指定备份的DMP名称和LOG名称,包括文件名和目录,例子见上面。需要说明的是,EXP可以直接备份到磁带中,即使用FILE=/dev/rmt0(磁带设备名),但是一般我们都不这么做,原因有二:一、这样做的速度会慢很多,二、现在一般都是使用磁带库的,不建议直接对磁带进行操作。至于没有使用磁带库的朋友可以考虑和UNIX的TAR结合使用。如果你真想使用EXP直接到磁带,你可以参考Metalink文章“EXPORTING TO TAPE ON UNIX SYSTEMS”(文档号:30428.1),该文中有详细解释。4、 COMPRESS参数将在导出的同时合并碎块,尽量把数据压缩到initial的EXTENT里,默认是N,一般建议使用。DIRECT参数将告诉EXP 直接读取数据,而不像传统的EXP那样,使用SELECT来读取表中的数据,这样就减少了SQL语句处理过程。一般也建议使用。不过有些情况下 DIRECT参数是无法使用的。5、如何使用SYSDBA执行EXP/IMP?这是一个很现实的问题,有时候我们需要使用SYSDBA来执行EXP/IMP,如进行传输表空间的EXP/IMP,以及在9i下用SYS用户来执行EXP/IMP时,都需要使用SYSDBA才可。我们可以使用下面方式连入EXP/IMP:exp "'sys/sys as sysdba'" file=1.dmp tables=gototop.t rows=n6、QUERY参数后面跟的是where条件,值得注意的是,整个where子句需要使用""括起来,where子句的写法和SELECT中相同,如果是UNIX平台所有"和'都需要使用u26469屏蔽它们的特殊含义:exp gototop/gototop file=1.dmp log=1.log tables=cyx.t query="where c1=20 and c2=gototop"如果是windows平台,则使用下面的格式:exp c/c@ncn file=c.dmp log=c.log tables=t query="""where id=1 and name='gototop'"""二、8i IMP常用选项1、FROMUSER和TOUSER,使用它们实现将数据从一个SCHEMA中导入到另外一个SCHEMA中。2、 IGNORE、GRANTS和INDEXES,其中IGNORE参数将忽略表的存在,继续导入,这个对于需要调整表的存储参数时很有用,我们可以先根据实际情况用合理的存储参数建好表,然后直接导入数据。而GRANTS和INDEXES则表示是否导入授权和索引,如果想使用新的存储参数重建索引,或者为了加快到入速度,我们可以考虑将INDEXES设为N,而GRANTS一般都是Y。另外一个EXP/IMP都有的参数是PARFILE,它是用来定义EXP/IMP的参数文件,也就是说,上面的参数都可以写在一个参数文件中,但我们一般很少使用。三、Oracle9i EXP功能描述Oracle9i EXP在原有的基础上新增了部分新的参数,按功能主要分为以下几个部分:1、OBJECT_CONSISTENT - 用于设置EXP对象为只读以保持对象的一致性。默认是N。2、FLASHBACK_SCN和FLASHBACK_TIME - 用于支持FLASHBACK功能而新增。3、RESUMABLE、RESUMABLE_NAME和RESUMABLE_TIMEOUT - 用于支持RESUMABLE空间分配而新增。4、TTS_FULL_CHECK - 用于在传输表空间时使用依赖性检查。5、TEMPLATE - 用于支持iAS。6、TABLESPACES - 设置表空间导出模式。个人觉得对于一般用户而言,这个才是新增参数中最实用的一个,可以让用户在原来的FULL、OWNER、TABLES的基础上多了一种选择,使得EXP更加灵活。四、不同版本的EXP/IMP问题?一般来说,从低版本导入到高版本问题不大,麻烦的是将高版本的数据导入到低版本中,在Oracle9i之前,不同版本Oracle之间的EXP/IMP可以通过下面的方法来解决:1、在高版本数据库上运行底版本的catexp.sql;2、使用低版本的EXP来导出高版本的数据;3、使用低版本的IMP将数据库导入到底版本数据库中;4、在高版本数据库上重新运行高版本的catexp.sql脚本。但在9i中,上面的方法并不能解决问题。如果直接使用底版本EXP/IMP会出现如下错误:EXP-00008: ORACLE error %lu encounteredORA-00904: invalid column name这已经是一个公布的BUG,需要等到Oracle10.0才能解决,BUG号为2261722,你可以到METALINK上去查看有关此BUG的详细信息。BUG归BUG,我们的工作还是要做,在没有Oracle的支持之前,我们就自己解决。在Oracle9i中执行下面的SQL重建exu81rls视图即可。CREATE OR REPLACE view exu81rls(objown,objnam,policy,polown,polsch,polfun,stmts,chkopt,enabled,spolicy)AS select u.name, o.name, r.pname, r.pfschma, r.ppname, r.pfname,decode(bitand(r.stmt_type,1), 0,', 'SELECT,')|| decode(bitand(r.stmt_type,2), 0,', 'INSERT,')|| decode(bitand(r.stmt_type,4), 0,', 'UPDATE,')|| decode(bitand(r.stmt_type,8), 0,', 'DELETE,'),r.check_opt, r.enable_flag,DECODE(BITAND(r.stmt_type, 16), 0, 0, 1)from user$ u, obj$ o, rls$ rwhere u.user# = o.owner#and r.obj# = o.obj#and (uid = 0 oruid = o.owner# orexists ( select * from session_roles where role='SELECT_CATALOG_ROLE'))/grant select on sys.exu81/五、其他问题本文只讨论了Oracle8i和9i中的EXP/IMP的一些情况,对于之前的版本,在8.0.X中,除了QUERY参数不能用外,其它差别不大。针对没有 QUERY的情况,我们可以先在数据库中使用查询条件建立临时中间表,然后使用EXP导出这个中间表即可。至于Oracle7因为目前使用的人较少, gototop不打算在此做详细解释了,如果读者朋友有需求,你可以参考Metalink文档:“Overview of Export and Import in Oracle7”(文档号:61949.1)。关于EXP/IMP的详细参数信息你可以通过EXP/IMP HELP=Y来获得。另外关于传输表空间的更多信息可以参考下面的Metelink文档,本文不再详述。[NOTE:77523.1] Transportable Tablespaces -- An Example to setup and use.[NOTE:] Perform tablespace point-in-time recovery using Transportable Tablespace.在进行并行EXP/IMP的时候,如果IMP过程建索引的话不建议同时运行5个以上的IMP,如果你想加快速度,可以在IMP的时候不建索引,这样只要内存允许,可以多跑几个,然后是SQL脚本创建需要的索引。可能有很多朋友提到不同字符集的EXP/IMP问题,gototop以为这个问题之所以会出现纯粹是因为数据库平台没有规划的结果,实际情况过于复杂,如果各位有兴趣,可以自行探讨,本文将就此打住。 [@more@]
阅读(579) | 评论(0) | 转发(0) |
相关热门文章
给主人留下些什么吧!~~
请登录后评论。OpenCV矩阵运算&.
一、矩阵Mat
I,img,I1,I2,dst,A,B;
1.加法I=I1+I2;//等同add(I1,I2,I);
add(I1,I2,dst,mask,dtype);
scaleAdd(I1,scale,I2,dst);//dst=scale*I1+I2;
2.减法absdiff(I1,I2,I);//I=|I1-I2|;
A-B;A-s;s-A;-A;
subtract(I1,I2,dst);
3.乘法I=I.mul(I);//点乘,I.mul(I,3);--&I=3*I.^2
Mat C=A.mul(5/B);//==divide(A,B,C,5);
A*B;矩阵相乘
I=alpha*I;
Mat::cross(Mat);//三维向量(或矩阵)的叉乘,A.cross(B)
double Mat::dot(Mat);//2个向量(或矩阵)的点乘的结果,A.dot(B)
mul-------multiply
pow(src,double p,dst);//如果p是整数dst(I)=src(I)^p;其他|src(I)|^p
4.除法divide(I1,I2,dst,scale,int
dtype=-1);//dst=saturate_cast(I1*scale/I2);
A/B;alpha/A;都是点除
5.转换I.convertTo(I1,CV_32F);//类型转换
A.t();//转置
flip(I,dst,int
flipCode);//flipCode=0是上下翻转,&0时左右翻转,&0时一起来
sqrt(I,dst);
cvtColor(I,dst,int code,int dstCn=0);
resize:对图像进行形变
--------------------------------------------------------------------------
6.其他Scalar s=sum(I);各通道求和
norm,countNonZero,trace,determinant,repeat都是返回Mat或者Scalar
countNonZero:用来统计非零的向量个数.(rows*cols个)
Scalar m=mean(I);//各通道求平均
Mat RowClone=C.row(1).clone();//复制第2行
addWeight(I1,alpha,I2,beta,gamma,dst,int
dtype=-1);//dst=saturate(alpha*I1+beta*I2+gamma);dtype是dst的深度
----------------------------------------------------------------------------
7.运算符log10()
exp(I,dst);//dst=exp(I);计算每个数组元素的指数
log(I,dst);//如果Iij!=0;则dstij=log(|Iij|)
randu(I,Scalar::all(0),Scalar::all(255));
Mat::t()转置
Mat::inv(int
method=DECOMP_LU)求逆。method=DECOMP_CHOLESKY(专门用于对称,速度是LU的2倍),DECOMP_SVD//A.inv();A.inv()*B;
invert(I1,dst,int method=DECOMP_LU);//用法同上
MatExpr abs(Mat)//求绝对值
A cmpop B;Aalpha cmpop
A;这里cmpop表示&,&=,==,!=,&=,&等,结果是CV_8UC1的mask的0或255
按位运算:A logicop B;As logicop
A;~A;这里logicop代表&,|,^
bitwise_not(I,dst,mask);//inverts所有的队列
还有bitwise_and,bitwise_or,bitwise_xor,
min(A,B);min(A,alpha);max(A,B);max(A,alpha);都返回MatExpr,返回的dst和A的类型一样
double determinant(Mat);//行列式
bool eigen(I1,dst,int lowindex=-1,int highindex=-1);//
bool eigen(I1,dst,I,int...);//得到特征值向量dst和对应特征值的特征向量
minMaxLoc(I1,&minVal,&maxVal,Point *minLoc=0,Point*
MaxLoc=0,mask);
//minLoc是2D时距原点最小的点(未考证)
------------------------------------------------------------------------------
8.初始化Mat
I(img,Rect(10,10,100,100));//用一块地方初始化。
Mat I=img(Range:all(),Range(1,3));//所有行,1~3列
Mat I=img.clone();//完全复制
img.copyTo(I);//传递矩阵头
I(2,2,CV_8UC3,Scalar(0,0,255));//I=[0,0,255,0,0,255;0,0,255,0,0,255];
Mat E=Mat::eye(4,4,CV_64F);//对角矩阵
Mat O=Mat::ones(2,2,CV_32F);//全一矩阵
Mat Z=Mat::zeros(3,3,CV_8UC1);//全零矩阵
Mat C=(Mat_(2,2)&&0,-1,2,3);//如果是简单矩阵的初始化
Mat::row(i);Mat::row(j);Mat::rowRange(start,end);Mat::colRange(start,end);都只是创建个头
Mat::diag(int d);d=0是是主对角线,d=1是比主低的对角线,d=-1....
static Mat Mat::diag(const Mat& matD)
Mat::setTo(Scalar &s);以s初始化矩阵
Mat::push_back(Mat);在原来的Mat的最后一行后再加几行
Mat::pop_back(size_t nelems=1);//移出最下面几行
-------------------------------------------------------------------------------
9.矩阵读取和修改(1)1个通道:
for(int i=0;i
for(int j=0;j
I.at(i,j)=k;
(2)3个通道:
Mat_ _I=I;//他没有4个通道寸,只有3个通道!
for(int i=0;i
for(int j=0;j
_I(i,j)[0]=b;
_I(i,j)[1]=g;
_I(i,j)[2]=r;
------------------------------------------------------------
或者直接用I.at(i,j)[0]....
-------------------------------------------------
{s=proImg.ptr(i);
{a1=s[3*j+1]-m1;
a2=s[3*j+2]-m2;}}
-------------------------------------------------------------------------
(3)其他机制
I.rows(0).setTo(Scalar(0));//把第一行清零
saturate_cast(...);//可以确保内容为0~255的整数
Mat::total();返回一共的元素数量
Mat::elemSize();返回元素的大小:CV_16SC3--&3*sizeof(short)--&6
Mat::elemSize1();返回元素一个通道的大小CV_16SC3--&sizeof(short)--&2
int Mat::type()返回他的类型CV_16SC3之类
int Mat::depth()返回深度:CV_16SC3--&CV_16S
int Mat::channels()返回通道数
size_t Mat:step1()返回一个被elemSize1()除以过的step
Size Mat::size()返回Size(cols,rows);如果大于2维,则返回(-1,-1),都是先宽再高的
bool Mat::empty()如果没有元素返回1,即Mat::total()==0或者Mat::data==NULL
uchar *Mat::ptr(int i=0)指向第i行
Mat::at(int i)(int i,int j)(Point pt)(int i,int j,int k)
RNG随机类:next,float RNG::uniform(float a,float b);..
double RNG::gaussian(double sigma);
RNG::fill(I,int distType,Mat low,Mat up);//用随机数填充
randu(I,low,high);
randn(I,Mat mean,Mat stddev);
reduce(I,dst,int dim,int reduceOp,int
dtype=-1);//可以统计每行或每列的最大、最小、平均值、和
setIdentity(dst,Scalar &value=Scalar(1));//把对角线替换为value
//效果等同:Mat A=Mat::eye(4,3,CV_32F)*5;
--------------------------------------------------------------
10.较复杂运算gemm(I1,I2,alpha,I3,beta,dst,int
flags=0);//I1至少是浮点型,I2同I1,flags用来转置
//gemm(I1,I2,alpha,I3,beta,dst,GEMM_1_T,GEMM_3_T);--&dst=alpha*I1.t()*I2+beta*I3.t();可用此完全代替此函数
mulTransposed(I,dst,bool aTa,Mat delta=noArray(),double scale=1,int
rtype=-1);
//I是1通道的,和gemm不同,他可用于任何类型。
//如果aTa=flase时,dst=scale*(I-delta).t()*(I-delta);
//如果是true,dst=scale*(I-delta)(I-delta).t();
calcCovarMatrix(Mat,int,Mat,Mat,int,int=);calcCovarMatrix(Mat I,Mat
covar,Mat mean,int flags,int=);
cartToPolar//转到极坐标
compare(I1,I2,dst,cmpop);cmpop=CMP_EQ,CMP_GT,CMP_GE,CMP_LT,CMP_LE,COM_NE
completeSymm(M,bool
lowerToUpper=false);当lowerToUpper=true时Mij=Mji(ij)
变成可显示图像:convertScaleAbs(I,dst,alpha,beta);dst=saturate_cast(|alpha*I+beta|);
dct(I,dst,int
flags=0);//DCT变换,1维、2维的矩阵;flags=DCT_INVERSE,DCT_ROWS
idct,dft,idft
inRange(I1,I_low,I_up,dst);//dst是CV_8UC1,在2者之间就是255
Mahalanobis(vec1,vec2,covar);
merge(vector,Mat);//把多个Mat组合成一个和split相反
double norm(...):当src2木有时,norm可以计算出最长向量、向量距离和、向量距离和的算术平方根
solveCubic解3次方程,solvePoly解n次方程
排列:sort,sortIdx
mixChannels();对某个通道进行各种传递
-----------------------------------------------------------------
11.未懂的函数getConvertElem,extractImageCOI,LUT
magnitude(x,y,dst);//I1,I2都是1维向量,dst=sqrt(x(I)^2+y(I)^2);
meanStdDev,
MulSpectrums(I1,I2,dst,flags);傅里叶
normalize(I,dst,alpha,beta,int normType=NORM_L2,int
rtype=-1,mask);//归一化
PCA,SVD,solve,transform,transpose
二、其他数据结构Point2f P(5,1);
Point3f P3f(2,6,7);
v;v.push_back((float)CV_PI);v.push_back(2);v.push_back(3.01f);//不断入
vector vPoints(20);//一次定义20个
三、常用方法Mat mask=src&0;这样很快建立一个mask了
四、以后可能用到的函数randShuffle,repeat
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
您的访问请求被拒绝 403 Forbidden - ITeye技术社区
您的访问请求被拒绝
亲爱的会员,您的IP地址所在网段被ITeye拒绝服务,这可能是以下两种情况导致:
一、您所在的网段内有网络爬虫大量抓取ITeye网页,为保证其他人流畅的访问ITeye,该网段被ITeye拒绝
二、您通过某个代理服务器访问ITeye网站,该代理服务器被网络爬虫利用,大量抓取ITeye网页
请您点击按钮解除封锁&当前位置: &>&&>&&>& > 正文
关于数学常数0、1、π、e与i
在人类的数学知识中,总共有5个数学常数:0、1、圆周率π、欧拉数e与虚单位i。假定好奇号遇到有智慧的火星人,它们也必定懂得这5个数字的意义。当然,人类的宠物,比如,聪明的小狗狗,只认得0与1这两个数字
我们大家都知道,0、1、圆周率π和虚位i的来历及其具体含义,但是,对欧拉数e(Euler’snumbere)为什么是一个数学常数就有点不甚了解(或明白)。假定火星人也不明白欧拉数e的意义,那么,我们可以断定它们很笨,其文明程度与中世纪的人类差不多。这是为什么呢?
回顾历史,大约在16世纪末,JacobBernoulli发现乘幂(1+1/n)n&当n趋于无限大时极限存在。但是,这个极限的数值究竟是什么?在当时,人们并不知道。直到1736年“the&first&appearance&of&e&in&a&publication&was&Euler’s&Mechanica(1736)”,也就是说,在历史上的公开刊物中,用小写字母“e”来代表这个极限的是瑞士大数学家欧拉(Euler)。在当时,欧拉计算出数字e的精确值达到小数点后面的23位。在当时情况下,做到这一点是很不容易的事情
&欧拉是怎么计算出这个极限的呢?根据歌德布拉特《超实讲义》第9页的说法,欧拉当时用一个无限大的数字“j”直接带入以上的乘幂,然后展开,消除无穷小项,最后得出e的无穷级数表达式,
即e&=&1+1/1!+1/2!+1/3!+1/4!+......
由此可见,在三百多年前,人们并不惧怕使用无穷大与无穷小的“虚构”数字,并且取得了许多极重要的数学成就。这就是微积分学的历史
自此以后,人们精确定义了指数函数y=exp(x),而且证明了恒等式:y’=y。撇开这段历史,指数函数怎么能够讲得清楚呢?把话说明白了,有关欧拉数e的文明程度远远高于圆周率π的文明程度。现在,小学生也能懂得圆周率π的来历,但是,对于欧拉数e就不甚了了。人类对于欧拉数e的探究至今并没有停止,在日,使用大型计算机算出了欧拉数e精确值的精度高达1,000,000,000,000位。在实际生活中,我们知道e=2.71828就足够用了
本文的中心思想是,企图避开微积分(初步)向中学生讲解指数函数是徒劳无益的。现在,我们已经进入了二十一世纪,把微积分初步下放到高中教育阶段的时机业已成熟了。该做的事情不去做,就是“当官不为民做主”,此乃“不为”也。国家建设需要大批真正懂得欧拉数e的技术人才,单靠圆周率π,解算三角恒等式,脑壳里面空荡荡的,只会耍滑头,比不上俄罗斯的北极熊
[点击关键词在7C教育资源网搜索更多关于的教学资源]
■文章录入:admin&&&&责任编辑:admin_hys&
上一篇文章:
下一篇文章:
没有相关文章}

我要回帖

更多关于 1亩等于多少平方米 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信