namespace

Eigen子矩阵操作

冷暖自知 提交于 2020-03-07 07:06:33
1 子矩阵操作简介 子矩阵操作又称块操作,在矩阵运算中,子矩阵的提取和操作应用也十分广泛。因此Eigen中也提供了相关操作的方法。提取的子矩阵在操作过程中既可以用作左值也可以用作右值。 2 块操作的一般使用方法 在Eigen中最基本的快操作运算是用 .block() 完成的。提取的子矩阵同样分为动态大小和固定大小。 块操作 构建动态大小子矩阵 提取块大小为(p,q),起始于(i,j) matrix.block(i,j,p,q) 同样需要注意的是在Eigen中,索引是从0开始。所有的操作方法都可以适用于Array.同样使用固定大小的操作方式在小型矩阵运算时更加的快,但要求在编译时就要知道矩阵的大小。 下面是一个使用示例: #include <iostream> #include "Eigen/Dense" using namespace std; using namespace Eigen; int main() { MatrixXf m(4,4); m<< 1,2,3,4, 5,6,7,8, 9,10,11,12, 13,14,15,16; cout<<"Block in the middle"<<endl; cout<<m.block<2,2>(1,1)<<endl<<endl; for(int i = 1;i <= 3;++i) { cout<<"Block of size "

Eigen矩阵基本运算

血红的双手。 提交于 2020-03-07 07:06:00
1 矩阵基本运算简介 Eigen重载了+,-,*运算符。同时提供了一些方法如dot(),cross()等。对于矩阵类的运算符重载只支持线性运算,比如matrix1*matrix2是矩阵相乘,当然必须要满足矩阵乘法规则。对于向量和标量的加法(vector+scalar)这里并不支持,关于非线性运算这里暂不介绍。 2 加减运算 矩阵加减运算中必须要保证左右矩阵的行列对应相等。此外更重要的一点是,矩阵的类型也必须一致,这里的矩阵运算 并不支持隐式的类型转换 。矩阵运算中重载的运算符有: 二元运算符+:a+b 二元运算符-:a-b 一元运算符-:-a 复合运算符+=:a+=b 复合运算符-=:a-=b 下面是使用示例: #include <iostream> #include "Eigen\Dense" using namespace Eigen; int main() { Matrix2d a; a<<1,2, 3,4; MatrixXd b(2,2); b<<2,3, 1,4; std::cout<<"a+b=\n"<<a+b<<std::endl; std::cout<<"a-b=\n"<<a-b<<std::endl; std::cout<<"Doing a+=b;"<<std::endl; a+=b; std::cout<<"Now a=\n"<<a<<std::endl;

k8s无脑系列(八)- 部署Jenkins

北城余情 提交于 2020-03-07 03:03:30
k8s无脑系列(八)- 部署Jenkins 1. 持续集成的意义 2. 开始部署 2.1 创建一个命名空间 $kubectl create namespace jenkins 2.2 创建Jenkins存储空间jenkins-storage.yaml 本例使用NFS,在NFS中添加相关记录 apiVersion : v1 kind : PersistentVolume metadata : name : jekins - pv spec : capacity : storage : 20Gi accessModes : - ReadWriteMany persistentVolumeReclaimPolicy : Delete nfs : server : 192.168.56.4 path : /data/nfs/jekins --- kind : PersistentVolumeClaim apiVersion : v1 metadata : name : jenkins - pvc namespace : jenkins spec : accessModes : - ReadWriteMany resources : requests : storage : 20Gi 2.3 创建账户与权限 apiVersion : v1 kind : ServiceAccount

C#中多态的实现

丶灬走出姿态 提交于 2020-03-06 18:54:44
由于可以继承基类的所有成员,子类就都有了相同的行为,但是有时子类的某些行为需要相互区别,而子类需要覆盖父类的方法来实现子类特有的行为,这就是所谓的多态,多态即相同类型的对象调用相同的方法却表现出不同行为的现象。 一.实现多态的两种常见方式 (1).虚方法(virtual):将父类的方法,添加关键字virtual,此方法在子类中用override重写。 (2).抽象类与抽象方法(abstarct):有时候基类的作用只是为子类提供公共成员,没有具体的实现操作,那么此时可以将基类及其方法定义为抽象的。子类中的方法仍用override重写。 二.虚方法(virtual)的使用 我们知道比较有名的车,有宝马,奔驰等,可以从它们中抽象出一个汽车基类,而宝马车,奔驰车作为子类 (1).基类 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Polymorphic { public class Car { public virtual void carName() { Console.WriteLine("这是汽车"); } } } (2).子类 using System; using System

使用OpenCV对图像进行缩放

狂风中的少年 提交于 2020-03-06 11:44:37
OpenCV:图片缩放和图像金字塔 对图像进行缩放的最简单方法当然是调用resize函数啦! resize函数可以将源图像精确地转化为指定尺寸的目标图像。 要缩小图像,一般推荐使用CV_INETR_AREA来插值;若要放大图像,推荐使用CV_INTER_LINEAR。 现在说说调用方式 第一种,规定好你要图片的尺寸,就是你填入你要的图片的长和高。 #include<opencv2\opencv.hpp> #include<opencv2\highgui\highgui.hpp> using namespace std; using namespace cv; //图片的缩小与放大 int main() { Mat img = imread("lol5.jpg"); imshow("原始图", img); Mat dst = Mat::zeros(512, 512, CV_8UC3); //我要转化为512*512大小的 resize(img, dst, dst.size()); imshow("尺寸调整之后", dst); waitKey(0); } 第二种,填入你要缩小或者放大的比率。 #include<opencv2\opencv.hpp> #include<opencv2\highgui\highgui.hpp> using namespace std; using

Kubernetes系列之Kubernetes使用ingress-nginx作为反向代理

六眼飞鱼酱① 提交于 2020-03-05 00:52:29
Kubernetes系列之Kubernetes使用ingress-nginx作为反向代理 #一、Ingress简介 在Kubernetes中,服务和Pod的IP地址仅可以在集群网络内部使用,对于集群外的应用是不可见的。为了使外部的应用能够访问集群内的服务,在Kubernetes 目前 提供了以下几种方案: NodePort LoadBalancer Ingress ###1、Ingress组成 ingress controller   将新加入的Ingress转化成Nginx的配置文件并使之生效 ingress服务   将Nginx的配置抽象成一个Ingress对象,每添加一个新的服务只需写一个新的Ingress的yaml文件即可 ###2、Ingress工作原理 1.ingress controller通过和kubernetes api交互,动态的去感知集群中ingress规则变化, 2.然后读取它,按照自定义的规则,规则就是写明了哪个域名对应哪个service,生成一段nginx配置, 3.再写到nginx-ingress-control的pod里,这个Ingress controller的pod里运行着一个Nginx服务,控制器会把生成的nginx配置写入/etc/nginx.conf文件中, 4.然后reload一下使配置生效。以此达到域名分配置和动态更新的问题。 ###3

Codeforces Beta Round #80 (Div. 2 Only)【ABCD】

南笙酒味 提交于 2020-03-04 15:14:30
Codeforces Beta Round #80 (Div. 2 Only) A Blackjack1 题意 一共52张扑克,A代表1或者11,2-10表示自己的数字,其他都表示10 现在你已经有一个queen了,问你有多少种方案,能够得到n点 题解 其实只用考虑三种情况,都考虑一下就好了,实在不行就暴力枚举…… 代码 #include<bits/stdc++.h> using namespace std; int n; int main() { scanf("%d",&n); if(n<=10||n>21)cout<<"0"<<endl; else if(n==20)cout<<"15"<<endl; else cout<<"4"<<endl; } B. Testing Pants for Sadness 题意 一共有n道题,每道题有a[i]个选项,每次答错这道题,就得重新答起。 现在问你最差的情况下,需要答多少次? 题解 答第i题失败,就会重新再答(i-1)次 代码 #include<bits/stdc++.h> using namespace std; const int maxn = 105; int n; int a[maxn]; int main() { scanf("%d",&n); for(int i=1;i<=n;i++) scanf("%d",&a[i]);

C++调用C#类库函数

为君一笑 提交于 2020-03-04 03:03:40
  最近做一个信息化三维仿真项目,基于第三方提供的虚拟引擎通过VC++2008做二次开发,其中涉及到与C#客户端的融合以及数据交互的问题, 主要是VC++需要调用C#客户端提供的类库内的接口获取C#客户端内的数据。 VC++内调用C#提供的动态库函数的方法,首先在引用的源文件添加相关的文件引用以及命名空间: #using "D:\winCe\Debug\TestInterface.dll" using namespace TestInterface; using namespace std; using namespace System; using namespace System::Runtime::InteropServices; 在具体的调用函数中,本文测试直接在控制台程序的主函数中进行调用: int _tmain(int argc, _TCHAR* argv[]) { TestInterface::TestInterfaceClass ^ptr = gcnew TestInterface::TestInterfaceClass();//初始化接口类 ptr->Initialize();//因为是两个进程直接所以涉及到一些基础数据的初始化 string chars = std::string((char*)(int)System::Runtime:

ABAP Netweaver, SAP Cloud Platform和Kubernetes的用户区分

我的未来我决定 提交于 2020-03-03 19:21:09
ABAP (1) Dialog: Individual, interactive system access. (2) System: Background processing and communication within a system (such as RFC users for ALE, Workflow, TMS, and CUA). (3) Communication:Dialog-free communication for external RFC calls. (4) Service: Dialog user available to a larger, anonymous group of users. (5) Reference: General, non-person related users that allows the assignment of additional identical authorizations, such as for Internet users created with transaction SU01. No logon is possible. SAP Cloud Platform Business user vs technical user: Kubernetes 也有User Account和Service

Python不支持函数重载,那就写一个

醉酒当歌 提交于 2020-03-03 19:12:42
  前段时间学习C++,发现C++有个函数重载的情况。    (以下介绍来自百度百科) 重载函数是函数的一种特殊情况,为方便使用,C++允许在同一范围中声明几个功能类似的同名函数,但是这些同名函数的 形式参数 (指参数的个数、类型或者顺序)必须不同,也就是说用同一个函数完成不同的功能。这就是重载函数。重载函数常用来实现功能类似而所处理的数据类型不同的问题。不能只有函数返回值类型不同。   我查了一下关于Python的函数重载,发现Python并不支持函数重载。   但是,我发现可以通过其他的一些方法,来实现这个函数重载。   通过在网上搜索,找到一些使用Python实现函数重载的方法,这其中就有几种“假的”函数重载,他们根本就没有领会到函数重载的优雅之处。   最后看到一个博客上写的用Python实现的函数重载,我觉得非常的好,在这里就与大家分享一下。 博客来源: https://arpitbhayani.me/blogs/function-overloading   实现过程主要分为三个部分,1、包装函数(Wrapped the function);2、构建虚拟命名空间(Building the virtual Namespace);3、使用使用装饰器作为钩子(Using decorators as a hook)。 /01/ 包装函数   包装函数的目的在于,可以包装任何函数