MatLab工作区
1. 基础工作区
MatLab 中的基础工作区是针对当前 MatLab 窗口内的脚本代码而言的(无论是命令行窗口输入的还是 M 脚本文件中的),是所有脚本代码所共享的(即对当前 MatLab 窗口而言是唯一的),是对外可见的(即 MatLab 窗口中显示的工作区),与当前 MatLab 窗口是共存亡的。
【注】从函数中调用脚本时,脚本使用的是调用函数的函数工作区。
2. 函数工作区
MatLab 中的函数工作区是针对 MatLab 普通函数的,每个普通函数都拥有自己独立的函数工作区,是对外不可见的,随函数调用开始而产生、随函数调用结束而清除。
【注】普通函数内嵌套定义的子函数和父函数共享同一个函数工作区。
3. 其他工作区
全局变量工作区
MatLab 中全局变量拥有自己的工作区,和基础工作区、函数工作区区分开。全局变量工作区内的全局变量可以在所有工作区内访问。全局变量工作区也是与当前 MatLab 窗口共存亡的。
MatLab运算符与运算
1. 算术运算符
MatLab 算术运算符有四则运算符和带点四则运算符。
运算符
运算法则
运算符
运算法则
A+B
A 与 B 相加(维度必须一致)
A-B
A 与 B 相减(维度必须一致)
A*B
A 与 B 相乘(二者之一为标量或满足矩阵相乘条件)
A.*B
A 与 B 相应元素相乘(维度必须一致)
A\B
B 与 A 相除(A 为标量或满足 A 非奇异,A\B=A−1BA \backslash B = A^{-1}BA\B=A−1B)
A.\B
B 与 A 相应元素相除(维度必须一致)
A/B
A 与 B 相除(B 为标量或满足 B 非奇异,A/B=AB−1A/B = AB^{-1}A/B=AB−1
A./B
A 与 B 相应元素相除(维度必须相同)
A^B
A 的 B 次幂(B 为标量)
A.^B
A 的每个元素的 B 次幂(B 为标量)
A’
取 A 的共轭转置矩阵
A.’
取 A 的转置矩阵
【注】MatLab 的算术运算本质上都可以看作是矩阵运算,即所有参与算术运算的变量都可以看作是矩阵;标量为 1×11 \times 11×1 ...
Deepin15.11配置MySQL环境
【注】mysql 环境配置详情请参阅 mysql 官方教程。
1. 添加 APT Repository
从官网上下载对应的 MySQL APT Repository 配置包,然后安装该 mysql-apt-config_x.y.z_all.deb 包(具体取决于所下载的 deb 包)。
1sudo dpkg -i mysql-apt-config_x.y.z_all.deb
在安装该 APT Repository 配置包过程中,会要求进行 mysql-apt-config 设定,包括 mysql 版本的选择以及 mysql 的一些工具包软件的安装选择,具体选择取决个个人。
2. 安装 MySQL
由于第一步已经添加了 APT Repository,故可以直接在终端使用命令安装 mysql:
1sudo apt install mysql-server
该命令会安装 mysql-server 、mysql-client 以及 mysql 数据库必要的公共文件。
【注】在安装过程中会要求设置 mysql 管理员密码。
3. 控制 MySQL 状态
3.1 查看 MySQL 状态
1sudo ...
MySQL报错
1. The MySQL server is running with the --secure-file-priv option ***
问题:secure-file-priv 未配置或配置与当前使用路径冲突。secure-file-priv 参数是用来限制 mysql 下数据导入导出只能发生的路径下。
secure-file-priv 参数值
说明
‘’
表示 mysqld 允许在任何路径下导入导出
null
表示 mysqld 不允许导入导出
path
表示 mysqld 允许导入导出只能在 path 路径下
解决:找到配置文件 my.cnf(Linux 下一般为 /etc/mysql/my.cnf)或 my.ini(Windows 下一般为 C:\ProgramData\MySQL\MySQL Server x.y\my.ini,x.y 为 mysql 版本号),添加以下内容:
12[mysqld] # 文件中有则不用添加这句,只需将下面语句追加到 [mysql] 限定的部分的末尾即可secure_file_priv=' ...
命令行下使用MySQL
1. 进入 MySQL 终端
指定服务器 host 和 user
1mysql -h host -u user -p # -p 选项指明输入密码
匿名形式进入 MySQL 终端(host 默认为 localhost,user 默认为当前系统的 user)
1mysql
【注】linux 系统下可能需要使用超级用户权限:
12sudo mysql -h host -u user -psudo mysql
2. 特殊命令
不用分号结尾的命令:
QUIT、USE(USE 语句必须在单一行上给出)
使用某一数据库
1use xxx;
3. 显示当前信息
显示当前用户
1select user();
显示当前用户的所有数据库
1show databases;
显示当前数据库
1select database();
显示当前数据库表信息
1show tables;
4. 显示全局信息
显示所有用户
1select user,host from mysql.user;
Hosts文件修改
1. 简介
有时访问某些国外网站很卡(不包括无法访问的网站),很大的原因是这些网站的 CDN 的域名遭到 DNS 污染了。这时就可以选择直接访问源网站 IP ,绕过 DNS 解析,即通过修改主机 hosts 文件的方式,将域名和 IP 的对应关系直接记录下来,来加速对这些网站的访问。
2. 原理
主机操作系统下都有一个 hosts 文件,其作用在于将一些常用网址域名与其对应的 IP 地址建立一个关联数据库,这样当主机访问这些常用网站域名时就不用再进行 DNS 解析。
hosts 文件采用以下行格式来记录域名 — IP 的关联信息:
1IP DNS1 DNS2 ...
其中,IP 为 IPv4 或 IPv6 地址,DNS1~N 对应 N 个域名,即允许 1 个 IP 地址对应 1 个或多个 DNS 。
可以使用编辑器直接打开 hosts 文件,修改其中的内容。
3. 作用
hosts 文件的作用:
加快网址域名访问速度
方便局域网用户
自定义屏蔽网站
创建虚拟域名辅助网站调试
…
4. 位置
Linux:Linux 系统中的 hosts 文件在 /etc/ 文件下。
Wind ...
Mint19.1安装NodeJS
1. 查看 NodeJS 版本
查看最新版本的 NodeJS,见官网地址。
2. 添加 NodeJS 源
NodeJS 每个大版本都有相对应的源,比如 12.16.2 版本对应的源为 https://deb.nodesource.com/setup_12.x,将所需安装的 NodeJS 版本源添加到系统中:
1curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
3. 安装 NodeJS
1sudo apt install -f nodejs
4. 查看是否安装成功
12nodejs -vnpm -v
Python报错
1. fatal error: Python.h: 没有那个文件或目录
问题:缺少 python-dev 包
解决:安装对应包:
1sudo apt install python-dev # 最好指定 python 版本,比如:python3.6-dev
2. ERROR: Package ‘pylint’ requires a different Python: 2.7.15 not in ‘>=3.5.*’
问题:默认安装的 pylint 包为较新的版本,要求 python>=3.5,而当前系统 python 为 2.7.15 版本
解决:手动指定安装旧版本的 pylint 包
1pip install pylint==1.9.3.
3. No local packages or working download links found for pytest-runner
问题:在安装其他 python 包时依赖该包,由于是其他包指定该包的安装源,所以可能是因为安装源的问题。本人就是因为这个原因:
1Download error on https://pyp ...
pip下载Python库速度慢解决方案
1. 简介
python 的 pip 安装包工具非常便利,但由于其默认的下载源为国外源,因此在安装 python 库的时候下载速度较慢。有时库文件过大,超出 pip 的下载时间限制,就会报错 The read operation timed out。所以我们可是手动更改 pip 的下载源为国内的镜像下载源以提升下载速度。
2. 国内镜像源
国内主要的 pip 镜像源有以下几个:
1234https://pypi.tuna.tsinghua.edu.cn/simple # 清华http://mirrors.aliyun.com/pypi/simple/ # 阿里https://pypi.mirrors.ustc.edu.cn/simple/ # 中科大http://pypi.douban.com/simple/ # 豆瓣
3. 解决方案
3.1 临时解决
利用 pip 的 -i 参数,手动指定下载源:
1pip install -i 国内源url XXX
XXX 为所需安装的 python 库,国内源url 参见上文 国内镜像源 。
3.2 ...
Deepin15.11下Qt5.14报错
1. error: Unknown module(s) in QT: xlsx
问题:Qt 找不到 qtxlsx 的 modules
解决:手动安装 qtxlsx 模块
12345git clone git@github.com:dbzhang800/QtXlsxWriter.gitcd QtXlsxWriterqmakemakemake install
Deepin15.11下Qt5.14无法使用中文输入法
对于使用 fcitx 框架的中文输入法,需要手动编译 fcitx-qt5 生成中文输入法的库文件。
1. 安装 cmake,用于编译 fcitx-qt5
首先查看是否已经安装 cmake:
1cmake --verison
如果有显示版本信息说明已经安装,则可以到下一步;如果没有安装,则先安装:
1sudo apt install cmake
2. 安装 fcitx-libs-dev
1sudo apt install fcitx-libs-dev
3. 设置 qmake 环境变量
首先查看是否已经设置了 qmake 环境变量:
1echo $PATH
如果显示的信息中含有对应 Qt 中 qmake 的环境变量(类似 x.y/gcc_64/bin 其中 x.y 为 Qt 版本号),则说明已经设置过了 qmake 环境变量,可以到下一步;如果没有设置,则手动临时设置 qmake 环境变量(后续命令都需在该终端进行):
1export PATH="$HOME/Qt/Qt5.14.1/5.14.1/gcc_64/bin":$PATH # 具体路径根据自己安装目录确定
4. ...
Deepin15.11下Qt5.14程序打包
【注】使用 linuxdeployqt 工具首先要保证当前系统已经配置好相应的 Qt 环境。
Qt5.14 for Linux 并没有提供相应的程序打包服务,所以 Linux 下打包 Qt 应用程序并不轻松。好在已经有人开源了一个在 Linux 平台下打包 Qt 应用程序的工具:linuxdeployqt,使用该工具可以轻松打包 Qt 应用程序。
开发人员提供了已经编译好可直接运行的程序 linuxdeployqt-6-x86_64.AppImage
(下载地址)。但由于该工具是较早开发的,由于 Linux 一直以来都在持续更新,所以在较新的 Linux 平台上直接运行该软件会报错提示,此时就需要手动编译源码(下载地址)。
1. 安装必要依赖
1sudo apt install patchelf
【注】若没有安装该软件进行程序打包时会报错:ERROR:Could not start patchelf 。
2. 编译 linuxdeployqt
使用 Qt 直接编译
手动编译
12cd linuxdeployqt