自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 问答 (2)
  • 收藏
  • 关注

原创 05转置和向量空间

进入了向量空间才算开始了线性代数的大门。一、转置矩阵Permutation转置矩阵适用于执行行交换的。回忆一下我们上一节讲到的A=LUA=LUA=LU分解,一个矩阵LULULU的LLL的特征非常明显,它是进行的行变换的直观矩阵:A=LU=[1000X100XX10XXX1][1XXX01XX001X0001]A=LU=\begin{bmatrix}1&0&0&0\\X&1&0&0\\X&X&1&0\\X&X&am

2020-11-29 15:15:28 3218

原创 04A的LU分解

一、逆矩阵性质补充如果AAA BBB是可逆的,那么ABABAB的逆矩阵是什么?根据逆矩阵的定义,我们仅需要找出一个矩阵TTT使得ABABAB满足:(AB)T=T(AB)=I(AB)T=T(AB)=I(AB)T=T(AB)=I可以取T=B−1A−1T=B^{-1}A^{-1}T=B−1A−1,结合矩阵的括号可移动性,有:AB(B−1A−1)=A(BB−1)A−1=AIA−1=AA−1=IAB(B^{-1}A^{-1})=A(BB^{-1})A^{-1}=AIA^{-1}=AA^{-1}=IAB(

2020-11-29 00:19:47 262

原创 (七)CMake变量及其设置

CMake变量设置方法如下:set(<variable> <value> [[CACHE <type> <docstring> [FORCE]] | PARENT_SCOPE])一个简单的例子:set(Books novel1 novel2 novle3)值得注意的是,Books的值是novel1 novel2 novle3。注意区分set(Books "novel1 novel2 novle3")这里的Books的值是"novel1

2020-11-27 14:42:30 12735 1

原创 我对命名空间的理解

命名空间(namespace)表示一个标识符(identifier)的可见范围。在C++中具体表现为一系列变量、函数及类的集合,优点在于:减少命名冲突;(主要原因)模块化。将逻辑相关的标识符组织起来,系统更加整洁、清楚;为什么命名空间能够减少命名冲突?不同开发者有不同的开发习惯、命名规则,当协同开发时就难免会遇到命名冲突的问题,为了解决这个问题,C++使用命名空间这一概念封装了所有对象名称。如小明和小红namespace xiaoming{ int a = 2; double pi = 3

2020-11-25 00:03:14 244

原创 程序是以何种顺序搜索动态库的

问题描述经常出现的,找不到共享文件问题:cannot open shared object file: No such file or directory,其主要原因是没有找到共享库。不仅在程序编译时需要连接库,在运行时同样需要连接库。理解程序运行时库搜索的问题,是解决此类问题的关键。使用命令ldd查看运行时连接库情况,若没有缺失,对应行显示not found。结果可能如下:运行时库以何种顺序搜索-wl -rpath -R选项。编译时指定的运行时动态库搜索路径,注意区分编译动态库搜索路径-LLD

2020-11-23 10:23:44 176

原创 (六)CMake与FFTW

一、FFTW是什么?FFTW(The Fastest Fourier Transform in the West )是一个用于计算离散傅里叶变换的软件库,由麻省理工学院的Mattteo Frigo和Steven G.Johnson开发的。FFTW的名字意思是西方最快的傅里叶变换。它可以在O(nlogn)时间内计算任意大小和维数的实数和复数值数组的变换。[1]二、如何配置?我的配置方法是:在Ubuntu系统下,使用CMake工具,在VSCODE中完成程序编写和测试。2.1 下载和解压官网-下载-解压

2020-11-23 00:02:49 3148

原创 GCC的学习(四)头文件搜寻顺序及环境变量

尖括号和双引号#include <iostream>#include "myhearder.h"我认为其实两种方式区别不大,但是尖括号有他的优点好:区分用户和三方或标准系统的头文件对搜索顺序进行了优化搜寻顺序graph LRA[#include指定] --> B[当前目录]B --> C[I指定目录]C-->[GCC环境变量]C --> D[系统内置]...

2020-11-21 14:05:12 607

翻译 Numpy(三)Numpy的输入和输出:loadtxt()函数

在Matlab读入一个类似这样的文本:43,9,643,9,60,0,0-15.536,-21.239,0-15.536,-21.239,30-15.536,-21.239,3-15.536,-21.239,2-15.572,-20.741,2-15.694,-20.256,2-16.664,-19.5,2-16.909,-19.531,2-25.901,-21.8,2-37.8,-21.8,2-37.8,-13.724,2-37.267,-13.442,2-37,-13,2

2020-11-20 23:19:57 5901

原创 空字符和空白字符

空格、制表符、换行符(创建新行)、回车符、换页符、垂直制表符称为“空白字符”,因为它们与打印页上的单词和行之间的空格一样都是起到方便阅读的作用。 标记由空白字符和其他标记分隔(划分边界),如运算符和标点。 在分析代码时,C 编译器将忽略空白字符,除非您将它们用作分隔符或者字符常量或字符串文本的组成部分。 使用空白字符可以让程序更易于阅读。 请注意,编译器也将注释视为空白。C语言的空字符是在字符串结尾系统自动加上的\0,以让系统识别出一个字符内串的结尾。如:字符串“china”。在系统内是以“china\0

2020-11-20 09:45:21 9442

原创 换行符CR、LF和CRLF

换行符的名字CR:Carriage Return,对应ASCII中转义字符\r,表示回车LF:Linefeed,对应ASCII中转义字符\n,表示换行CRLF:Carriage Return & Linefeed,\r\n,表示回车并换行用Notepad++查看Windows下的换行符使用\r\n,如下:Unix下的换行符用\n,如下:Mac下的换行符用\r,如下:正则匹配的注意事项一般文档都说,点号可以匹配"任意字符",点号确实可以匹配"任意字符",常见的数字、字母、各种符

2020-11-16 13:53:04 2635

原创 (五)CMake与OpenCV

直接看CMakeLists.txt是怎么写的吧![1]# cmake needs this linecmake_minimum_required(VERSION 2.8)# Define project nameproject(opencvTest)# Find OpenCV, you may need to set OpenCV_DIR variable# to the absolute path to the directory containing OpenCVConfig.cmake

2020-11-16 11:43:48 756

原创 (四)CMake编译选项

一、cmake、make的本质是编译选项的组织集合本质上来说,make和cmake都是协助你进行编译的工具,用户完全可以通过g++ gcc按照编译器要求来进行直接编译,只不过make和cmake根据各自认为合适的组织规则方便我们进行编译管理罢了。如增加一个线程库:g++ *.cpp -o -lpthread test这是g++编译器要求的样子。所有包含头文件、库文件、打包和链接库等操作都通过-选项来完成。make为了减少和整合编译逻辑,将一些例如打包ar操作封装在一个变量AR中;一些编译器专用的选

2020-11-16 11:16:23 4249

原创 设计模式(二)工厂模式多种实现方式

#include <iostream>using namespace std;enum class bookType{ comic, novel, philosophy,};class Book{public: virtual ~Book() {}; virtual void Read()=0;//所有的书的公有操作ss};class comicBook :public Book{public: void Read() { std::cout <

2020-11-14 10:17:10 348

原创 03矩阵的乘法和逆

一、矩阵乘法的四种理解角度1.1 矩阵定义1.2 列向量1.3 行向量1.4 逐行×\times×逐列1.5 分块矩阵二、方阵的逆2.1 定义Invertable Insigular等价定义2.2 Gause-Jordan求逆矩阵2×22\times22×2相当于进行两个线性变换变换过程中EA=IEA=IEA=I,故,E=A−1E=A^{-1}E=A−1E[AI]=[IA−1]E[A\quad I]=[I \quad A^{-1}]E[AI]=[IA−1]...

2020-11-11 08:44:45 588

原创 迭代器方法初始化嵌套list

Matlab:A=[]for i=1:10 z=rand(1,2) A=[A;z]; % 行叠加 % A=[A,i]; % 列叠加endPython方法1(同Matlab):Python方法2 (append方法)Python方法3 (迭代器)

2020-11-09 18:46:55 193

原创 曲线的参数方程简介

一、曲线的参数方程1.1 参数方程的概念一般地,在平面直角坐标系中,如果曲线上任意一点的坐标x,yx,yx,y都是某个变数ttt的函数{x=f(t)y=g(t)(1)\left\{\begin{aligned}&x=f(t)\\&y=g(t)\end{aligned}\right.\tag{1}{​x=f(t)y=g(t)​(1)并且对于每个ttt的允许值,由方程组(1)所确定的点M(x,y)M(x,y)M(x,y)都在这条曲线上,那么方程组(1)就称为这条曲线的参数方程

2020-11-09 14:02:59 7916 1

原创 坐标系类型及其简介

一、坐标系1.1 平面直角坐标系通过直接坐标系,平面上的点和坐标系(有序实数对)、曲线与方程建立了联系,从而实现了数与形结合。如上图,每一个点对应坐标系上的一个有序实数对;方程y=x2x∈[−2,2]y=x^2 \quad x\in[-2,2]y=x2x∈[−2,2]对应上述图像。1.2 平面直角坐标系中的伸缩变换定义:设点P(x,y)是平面直角坐标系中的任意一点,在变换ϕ:{x′=λ⋅xλ>0y′=μ⋅yμ>0\phi:\left\{\begin{aligned}&amp

2020-11-09 14:02:04 5316 1

原创 02矩阵消元(Elimination with matrices)

花了几天复习了一下高等数学和高中数学中的解析几何的内容,虽然时间花费的比较多,但是想到后边可以更好地理解线性代数,时间花了就花了吧。求解下列一元三次方程:{2x+3y+z=6x−y+2z=−1x+2y−z=5\begin{cases}&2x+3y+z=6 \\ &x-y+2z=-1\\&x+2y-z=5\end{cases}⎩⎨⎧​​2x+3y+z=6x−y+2z=−1x+2y−z=5​式333+式111:3x+5y=113x+5y=113x+5y=11记为式444;式3×23\times

2020-11-09 13:59:49 378

原创 01方程的几何解释

线性方程组的几何解释,直线和向量两个角度来看待同一个线性方程组。直线可以看成是两个直线方程的交点;向量则将方程组的系数和等号右边的常数看成是列向量,问题等价于,我应该如何找到一组未知数组合使得等于右侧列向量。...

2020-11-09 13:59:11 312

原创 向量代数

一、向量的概念及其运算1.1 向量的概念在空间中,我们把具有大小和方向的量叫做空间向量(space vector),向量的大小叫做向量的长度或模(Modulus)。规定长度为0的向量叫做零向量(zero vector),记为0\boldsymbol{0}0,零向量的起点和终点重合,方向是任意的;模为1的向量叫做单位向量(Unit vector),与向量a\boldsymbol{a}a长度相等而方向相反的向量,称为a\boldsymbol{a}a的相反向量,记为−a-\boldsymbol{a}−a。1

2020-11-09 13:55:16 3681

原创 空间向量及其运算

平面内任意向量p\boldsymbol{p}p都可以用两个不共线的向量a\boldsymbol{a}a b\boldsymbol{b}b来表示,这是平面向量的基本定理。类似的我们定义,如果三个向量不共面,那么对空间中的任一向量p\boldsymbol{p}p,存在有序实数组{x,y,z}\{x,y,z\}{x,y,z}使得p=xa+yb+zc\boldsymbol{p}=x\boldsymbol{a}+y\boldsymbol{b}+z\boldsymbol{c}p=xa+yb+zc,我们把向量{a,b,.

2020-11-09 13:55:01 9473

原创 定比分点公式

和两点间的中点公式一样,定比分点公式(Section Formula)是一种给出中点坐标的公式。定比分点应该理解为:“固定比例分割点的坐标公式”,中点公式是他的一种特殊情况。我们可以用它寻找三角形的内心、质心和外心。他是在一个线段中按照固定比例将线段分为两部分。在二维坐标系下:截点公式的翻译其实更加好理解,就是一个点将线段截成两段。该公式可以告知任何一个固定比例的点在坐标系的位置。...

2020-11-09 11:12:42 8810

原创 值初始化和默认初始化

一个对象要么执行默认初始化,要么执行值初始化。如果对象有初值,那么执行值初始化;若没有初值则执行默认初始化。根据默认初始化的类型和位置,有两种情况:内置类型。局部作用域,不初始化;全局、静态变量初始化为0。自定义类、[1] C++定义了一套包括算术类型(Arithmetic type)和空类型(void)在内的基本数据类型,也叫做基本内置类型。算术类型它包括:bool char wchar_t char16_t char32_t short int long long long float dou

2020-11-03 14:41:07 540

原创 打开一个shell将会发生什么?

查看当前环境变量env or export除了环境变量外,还有bash接口和自定变量,注意子进程仅会继承父进程的环境变量,自定义并不继承。要继承需要手动输入export 变量名称被export后的变量被称之为“环境变量”1.5 命令别名alias lm='ls -l|more'alias rm ='rm -i'查看当前别名:alias1.6 login shell一个需要输入完成完整的登陆命令的一个shell。login shell需要读取:/etc/profile 系统

2020-11-02 15:45:15 280

原创 const定义及初始化约束

虽然知道这两个的区别,但是总是混淆他的中文名称。指针和 const 谁在前先读谁 ;*象征着地址,const象征着内容;谁在前面谁就不允许改变。一个是指向方向不变,一个是指向对象不变。英文中是:pointer to const const pointer ...

2020-11-01 08:51:58 2034 1

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除