




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
第R語言學習RcppEigen進行矩陣運算R.transpose().colwise().reverse()//rot90(R)//Read-write
R.rowwise().reverse()//fliplr(R)
R.colwise().reverse()//flipud(R)
R.replicate(i,j)//repmat(P,i,j)
矩陣基礎運算1
//AllthesameasMatlab,butmatlabdoesn'thave*=styleoperators.
//Matrix-vector.Matrix-matrix.Matrix-scalar.
y=M*x;R=P*Q;R=P*s;
a=b*M;R=P-Q;R=s*P;
a*=M;R=P+Q;R=P/s;
R*=Q;R=s*P;
R+=Q;R*=s;
R-=Q;R/=s;
矩陣基礎運算2
//Vectorizedoperationsoneachelementindependently
//Eigen//Matlab
R=P.cwiseProduct(Q);//R=P.*Q
R=P.array()*s.array();//R=P.*s
R=P.cwiseQuotient(Q);//R=P./Q
R=P.array()/Q.array();//R=P./Q
R=P.array()+s.array();//R=P+s
R=P.array()-s.array();//R=P-s
R.array()+=s;//R=R+s
R.array()-=s;//R=R-s
R.array()Q.array();//RQ
R.array()=Q.array();//R=Q
R.cwiseInverse();//1./R
R.array().inverse();//1./R
R.array().sin()//sin(R)
R.array().cos()//cos(R)
R.array().pow(s)//R.^s
R.array().square()//R.^2
R.array().cube()//R.^3
R.cwiseSqrt()//sqrt(R)
R.array().sqrt()//sqrt(R)
R.array().exp()//exp(R)
R.array().log()//log(R)
R.cwiseMax(P)//max(R,P)
R.array().max(P.array())//max(R,P)
R.cwiseMin(P)//min(R,P)
R.array().min(P.array())//min(R,P)
R.cwiseAbs()//abs(R)
R.array().abs()//abs(R)
R.cwiseAbs2()//abs(R.^2)
R.array().abs2()//abs(R.^2)
(R.array()s).select(P,Q);//(RsP:Q)
R=(Q.array()==0).select(P,R)//R(Q==0)=P(Q==0)
R=P.unaryExpr(ptr_fun(func))//R=arrayfun(func,P)//with:scalarfunc(constscalar
求最小最大值、跡等
//Reductions.
intr,c;
//Eigen//Matlab
R.minCoeff()//min(R(:))
R.maxCoeff()//max(R(:))
s=R.minCoeff(r,c)//[s,i]=min(R(:));[r,c]=ind2sub(size(R),i);
s=R.maxCoeff(r,c)//[s,i]=max(R(:));[r,c]=ind2sub(size(R),i);
R.sum()//sum(R(:))
R.colwise().sum()//sum(R)
R.rowwise().sum()//sum(R,2)orsum(R')'
R.prod()//prod(R(:))
R.colwise().prod()//prod(R)
R.rowwise().prod()//prod(R,2)orprod(R')'
R.trace()//trace(R)
R.all()//all(R(:))
R.colwise().all()//all(R)
R.rowwise().all()//all(R,2)
R.any()//any(R(:))
R.colwise().any()//any(R)
R.rowwise().any()//any(R,2)
點乘等
//Dotproducts,norms,etc.
//Eigen//Matlab
x.norm()//norm(x).Notethatnorm(R)doesn'tworkinEigen.
x.squaredNorm()//dot(x,x)Notetheequivalenceisnottrueforcomplex
x.dot(y)//dot(x,y)
x.cross(y)//cross(x,y)Requires#includeEigen/Geometry
特征值與特征向量
//Eigenvalueproblems
//Eigen//Matlab
A.eigenvalues();//eig(A);
EigenSolverMatrix3deig(A);//[vecval]=eig(A)
eig.eigenvalues();//diag(val)
eig.eigenvectors();//vec
//Forself-adjointmatricesuseSelfAdjointEigenSolver
形式轉(zhuǎn)換
Typeconversion
//Eigen//Matlab
A.castdouble//double(A)
A.castfloat//single(A)
A.castint//int32(A)
A.real();//real(A)
A.imag();//imag(A)
//iftheoriginaltypeequalsdestinationtype,noworkisdone
矩陣初始化0
//NotethatformostoperationsEigenrequiresalloperandstohavethesametype:
MatrixXfF=MatrixXf::Zero(3,3);
A+=F;//illegalinEigen.InMatlabA=A+Fisallowed
A+=F.castdouble//Fconvertedtodoubleandthenadded(generally,conversionhappenson-the-fly)
Map等操作
//EigencanmapexistingmemoryintoEigenmatrices.
floatarray[3];
Vector3f::Map(array).fill(10);//createatemporaryMapoverarrayandsetsentriesto10
intdata[4]={1,2,3,4};
Matrix2imat2x2(data);//copiesdataintomat2x2
Matrix2i::Map(data)=2*mat2x2;//overwriteelementsofdatawith2*mat2x2
MatrixXi::Map(data,2,2)+=mat2x2;//addsmat2x2toelementsofdata(alternativesyntaxifsizeisnotknowatcompiletime)
求解Ax=b
//SolveAx=b.Resultstoredinx.Matlab:x=A\b.
x=A.ldlt().solve(b));//Asym.p.s.d.#includeEigen/Cholesky
x=A.llt().solve(b));//Asym.p.d.#includeEigen/Cholesky
x=A.lu().solve(b));//Stableandfast.#includeEigen/LU
x=A.qr().solve(b));//Nopivoting.#includeEigen/QR
x=A.svd().solve(b));//Stable,slowest.#includeEigen/SVD
//.ldlt()-.matrixL()and.matrixD(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年抗肝片吸蟲病藥項目資金申請報告代可行性研究報告
- 浙江省錢塘聯(lián)盟2024-2025學年高一下學期4月期中聯(lián)考試題 地理 PDF版含答案
- 醫(yī)療實驗室標準化管理的關鍵要素
- 線粒體腦肌病的臨床護理
- 三通訂貨合同范例
- 從全球化到數(shù)字化探索未來商業(yè)的基石-區(qū)塊鏈技術
- 個人競業(yè)合同范例
- 小兒原發(fā)性腦干損傷的臨床護理
- mv拍攝合同范例
- 伊犁勞動合同范例
- 執(zhí)法辦案和執(zhí)法監(jiān)督注意事項課件
- 客運駕駛?cè)藦臉I(yè)行為定期考核制度
- 《新能源材料與器件》教學課件-04電化學能源材料與器件
- 2022年同等學力人員申請碩士學位日語水平統(tǒng)一考試真題
- 城軌道交通人因事故分析及評價研究
- T∕CADERM 2002-2018 胸痛中心(基層版)建設與評估標準
- ZYWL-4000型履帶式鉆機
- 50MPa路面抗折混凝土配合比
- 油閥座加工工藝與夾具設計說明
- 護士壓力與情緒管理PPT課件
- 劉鴻文材料力學習題集(全且附有標準答案)
評論
0/150
提交評論