Matlab绘图代码示例:
1 | x = 0:0.01:0.05; |
参考链接
- MATLAB如何导出精美的论文插图?,by 易夕.
- MATLAB图文本中的希腊字母和特殊字符,by matlab.
Matlab绘图代码示例:
1 | x = 0:0.01:0.05; |
如何科学的组织是构建大型项目的基础,可是人员分工协作的前提。下面介绍Python项目的组织方法
最近在安装Office2013的过程中,提示需要卸载已安装的Office2010,然而卸载了Office2010之后,依然提示该错误,无法安装Office2013。
分析其原因,可能是卸载Office2010不干净,在注册表中还存留Office2010的注册表信息,而当运行Office2013的Setup.exe安装程序时,刚好读到存留的Office2010注册表信息,于是Office2013的Setup.exe安装程序认为Office2010没有卸载,从而无法继续安装。
解决方法是找到并删除Office2013的Setup.exe安装程序读取的Office2010的注册表信息,该条注册表信息导致Office2013的Setup.exe无法继续。
可以使用Process Monitor监控软件解决该问题。
可能会有这样的场景, 即我们可能只需要训练网络的特定部分, 然后网络的其余部分则保持未之前的状态(不进行梯度更新). tf.stop_gradient 正是为了处理这一情景的. 即在 tf.stop_gradient 中执行任何操作都不会导致在 BP 过程中梯度的更新.
在一个优化问题中,原始问题通常会带有很多约束条件,这样直接求解原始问题往往是很困难的,于是考虑将原始问题转化为它的对偶问题,通过求解它的对偶问题来得到原始问题的解。对偶性(Duality)是凸优化问题的核心内容。
在统计学中,最大似然估计(英语:Maximum Likelihood Estimation,简作MLE),也称极大似然估计,是用来估计一个概率模型的参数的一种方法。
$$ \begin{aligned} \ln p(x_i|\mu,\sigma) = \ln \frac{1}{\sqrt{2\pi} \sigma} \exp \left{ - \frac{(x_i-\mu)^2}{2\sigma^2} \right} \ = \left{ - \frac{(x_i-\mu)^2}{2\sigma^2} - \ln \sigma - \ln \sqrt{2\pi} \right} \end{aligned} $$
常用设置窗口标题方式:
1 | window.setWindowTitle("中文") |
使用上述方式设置窗口标题将产生乱码。
字符编码不匹配导致乱码现象。
1 | /* 源码版本5.12 */ |
从源码可以看出title.utf16()最终转换为utf16字符编码。
1 | QString::fromUtf16(u"中文"); |
每个程序启动后拥有的第一个线程称为主线程,即GUI线程。QT中所有的组件类和几个相关的类只能工作在GUI线程,不能工作在次线程,次线程即工作线程,主要负责处理GUI线程卸下的工作。
每个线程都有自己的栈,因此每个线程都要自己的调用历史和本地变量。线程共享相同的地址空间。
对于使用Qthread创建的进程而言,run()函数则是新线程的入口,run()函数退出,意味着线程的终止。
如果不想每执行一种任务就自定义一个新线程,那么可以自定义用于完成任务的类,并让它们继承自QObject。
然后使用moveToThread()将QObject对象实例移动到新线程。注意moveToThread()是QObject的公有函数。移动之后启动子线程。
GUI系统的设计原则:所有界面组件的创建只能在GUI线程(主线程)中完成。子线程与界面组件的通信有两种方式:
如果用官方的写法on_btn_pressed()可以不用写connect函数,可以直接触发槽函数。如果此时用connect再次连接的话,就会导致on_btn_pressed()被执行两次。
Qt信号-槽连接函数原型如下:
1 | bool QObject::connect ( const QObject * sender, const char * signal, const QObject * receiver, const char *method, Qt::ConnectionType type = Qt::AutoConnection ) |
Qt支持5种连接方式
当信号发出后,相应的槽函数将立即被调用。emit语句后的代码将在所有槽函数执行完毕后被执行。
当信号发射时,槽函数将直接被调用。
无论槽函数所属对象在哪个线程,槽函数都在发射信号的线程内执行。
当信号发出后,排队到信号队列中,需等到接收对象所属线程的事件循环取得控制权时才取得该信号,调用相应的槽函数。emit语句后的代码将在发出信号后立即被执行,无需等待槽函数执行完毕。
当控制权回到接收者所依附线程的事件循环时,槽函数被调用。
槽函数在接收者所依附线程执行。
Qt的默认连接方式,如果信号的发出和接收信号的对象同属一个线程,那个工作方式与直连方式相同;否则工作方式与队列方式相同。
如果信号在接收者所依附的线程内发射,则等同于直接连接
如果发射信号的线程和接受者所依附的线程不同,则等同于队列连接
槽函数的调用情形和Queued Connection相同,不同的是当前的线程会阻塞住,直到槽函数返回。
与默认工作方式相同,只是不能重复连接相同的信号和槽,因为如果重复连接就会导致一个信号发出,对应槽函数就会执行多次。
使用VS2017+QT5.8.0时,报如下错误:
1 | 严重性 代码 说明 项目 文件 行 禁止显示状态 |
解决方法请参考VS2017/2015 静态编译Qt 5.8_帝江VII的博客-程序员宝宝。