python数组和矩阵使用总结 (moved to https://sonictl.github.io/)

python数组和矩阵使用总结 1、数组和矩阵常见用法 Python使用NumPy包完成了对N-维数组的快速便捷操作。使用这个包,需要导入numpy。 SciPy包以NumPy包为基础,大大的扩展了numpy的能力。因此只要导入了scipy,不必在单独导入numpy了!为了使用的方便,scipy包在最外层名字空间中包括了所有的numpy内容。 本文还是区分numpy中实现的和scipy中实现的。 以下默认已经:import numpy as np 以及 impor scipy as sp numpy的基本类型是多维数组,把matrix看做是array的子类。 1.建立矩阵 a1=np.array([1,2,3],dtype=int)  #建立一个一维数组,数据类型是int。也可以不指定数据类型,使用默认。几乎所有的数组建立函数都可以指定数据类型,即dtype的取值。 a2=np.array([[1,2,3],[2,3,4]])  #建立一个二维数组。此处和MATLAB的二维数组(矩阵)的建立有很大差别。 同样,numpy中也有很多内置的特殊矩阵: b1=np.zeros((2,3))  #生成一个2行3列的全0矩阵。注意,参数是一个tuple:(2,3),所以有两个括号。完整的形式为:zeros(shape,dtype=)。相同的结构,有ones()建立全1矩阵。empty()建立一个空矩阵,使用内存中的随机值来填充这个矩阵。 Numpy将二维数组添加到空数组:  numpy 初始化空数组,动态增加数据点 a=np.empty([0,3]) b = np.array([[1,2,3],[4,5,6]]) c=[[7,8,9]] print(a.shape, ‘a shape’) print(b.shape, ‘b shape’) a = np.append(a, b, axis=0) a = np.append(a, c, axis=0) print(a.shape, ‘a append b’) print(a.shape, ‘a append b append c’)   b2=identity(n)  #建立n*n的单位阵,这只能是一个方阵。 b3=eye(N,M=None,k=0)  #建立一个对角线是1其余值为0的矩阵,用k指定对角线的位置。M默认None。 此外,numpy中还提供了几个like函数,即按照某一个已知的数组的规模(几行几列)建立同样规模的特殊数组。这样的函数有zeros_like()、empty_like()、ones_like(),它们的参数均为如此形式:zeros_like(a,dtype=),其中,a是一个已知的数组。 c1=np.arange(2,3,0.1)  #起点,终点,步长值。含起点值,不含终点值。 c2=np.linspace(1,4,10)  #起点,终点,区间内点数。起点终点均包括在内。同理,有logspace()函数 d1=np.linalg.companion(a)  #伴随矩阵 d2=np.linalg.triu()/tril()  #作用同MATLAB中的同名函数 e1=np.random.rand(3,2)  #产生一个3行2列的随机数组。同一空间下,有randn()/randint()等多个随机函数 fliplr()/flipud()/rot90()  #功能类似MATLAB同名函数。 xx=np.roll(x,2)  #roll()是循环移位函数。此调用表示向右循环移动2位。 2.数组的特征信息 先假设已经存在一个N维数组X了,那么可以得到X的一些属性,这些属性可以在输入X和一个.之后,按tab键查看提示。这里明显看到了python面向对象的特征。 X.flags  #数组的存储情况信息。 X.

READ MORE

改变jupyter notebook默认初始文件路径 - 关于快捷方式

jupyter notebook home path changing - %USERFROFILE% and Configure file 如何改变jupyter notebook默认初始文件路径,网上都提供了很多方法。Link1 , Link2 但他们都没让你这样测试: [Win] + R , "cmd", 在windows命令行运行: C:/ProgramData/Anaconda3/python.exe C:/ProgramData/Anaconda3/Scripts/jupyter-notebook-script.py 注:如果这样测试可以修改,而通过开始菜单双击“Jupyter Notebook”快捷方式还是没改过来,那就往下看。 他们都忽略了一个问题:在 Jupyter Notebook 快捷方式 - 属性 - Shortcut Tag- Target 栏内的内容,会影响你修改的效果。 即:可能你已经改了以下文件: C:\Users\<username>\.jupyter\jupyter_notebook_config.py 并把快捷方式里Start In内改成了你要的path: C:\Users\<username>\<your_preferred_path> 还是可能不生效,原因就是 Target 里的%USERFROFILE%或别的内容在使改动不生效。 我的Target内内容: "C:/ProgramData/Anaconda3/python.exe" "C:/ProgramData/Anaconda3/Scripts/jupyter-notebook-script.py" ----- Nov 2, 2017 Updated: 1. Install Anaconda 5 2. add the path of "jupyter notebook.exe" into Environment Varialble: "path" make sure you can launch jupyter notebook by: launching cmd command: "jupyter notebook"

READ MORE

Markdown中插入数学公式的方法

Markdown中插入数学公式的方法 http://blog.csdn.net/xiahouzuoxin/article/details/26478179   \$[你的公式Tex语法]\$ 或,行间公式: \$\$[你的公式Tex语法]\$\$  注: \$ = $ cnblogs:  $$ \Large x=\frac{-b\pm\sqrt{b^2-4ac}}{2a} $$ \( \Large x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}  \)  $$ \Large x=\frac{-b\pm\sqrt{b^2-4ac}}{2a} $$ \( \Large x=\frac{-b\pm\sqrt{b^2-4ac}}{2a} \) 方法一:使用Google Chart的服务器 <img src="http://chart.googleapis.com/chart?cht=tx&chl= 在此插入Latex公式" style="border:none;"> 一个例子, <img src="http://chart.googleapis.com/chart?cht=tx&chl=\Large x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}" style="border:none;"> 公式显示结果为: 适用了下,Google Chart服务器的响应速度还可以,但据说可能复杂一些的Latex公式可能无法解析(参考[2])。 方法二:使用forkosh服务器 forkosh上提供了关于Latex公式的一份简短而很有用的帮助,参考[1]和[3]. 使用forkosh插入公式的方法是 <img src="http://www.forkosh.com/mathtex.cgi? 在此处插入Latex公式"> 给个例子, <img src="http://www.forkosh.com/mathtex.cgi? \Large x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}"> 显示结果为: 因为网页插入公式的原理是调用“某某网站的服务器”动态生成的,所有保证公式正常显示的前提是该网址能一直存在着为我等小生做些小小的服务。forkosh我是用了快2年了,一直很好,推荐! 方法三:使用MathJax引擎 大家都看过Stackoverflow上的公式吧,漂亮,其生成的不是图片。这就要用到MathJax引擎,在Markdown中添加MathJax引擎也很简单, <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=default"></script> 然后,再使用Tex写公式。$$公式$$表示行间公式,本来Tex中使用\(公式\)表示行内公式,但因为Markdown中\是转义字符,所以在Markdown中输入行内公式使用\\(公式\\),如下代码: $$x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}$$ \\(x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}\\) 分别显示结果(行间公式):   x=−b±b2−4ac−−−−−−−√2a 行内公式: x=−b±b2−4ac√2a 不信,你可以试一下,在公式上还可以使用鼠标右键操作。 参考 [1] http://www.forkosh.com/mathtextutorial.html [2] http://www.ruanyifeng.com/blog/2011/07/formula_online_generator.html [3] http://www.forkosh.com/mathtex.html    

READ MORE

[转载]人工神经网络快速入门

写在前面:以前一直喜欢Google Search by English key words, 最近听说按中文找够用了,找了几个中文的博客,还是不对味,写得不好,不利于学习。 不得不Google:"quick understand bp neural networks", 很快找到想要的。 ========== A Quick Introduction to Neural Networks(点击查看原文,科学点儿) Posted on August 9, 2016 by ujjwalkarn An Artificial Neural Network (ANN) is a computational model that is inspired by the way biological neural networks in the human brain process information. Artificial Neural Networks have generated a lot of excitement in Machine Learning research and industry, thanks to many breakthrough results in speech recognition, computer vision and text processing. In this blog post we will try to develop an understanding of a particular type of Artificial Neural Network called the Multi Layer Perceptron.

READ MORE

Python :数据结构

LearnPython :数据结构       Python 数据结构基础¶ Ref: link My questions: dictionary -- 字典 : array -- 数组 list -- 列表 sequence -- 序列? 元组 -- tuple   1. dictionary¶ In [ ]:     2. sequence¶ Python有6个序列的内置类型,但最常见的是列表和元组。 Sequence Types -- str, unicode, list, tuple, buffer, xrange ref 序列都可以进行的操作包括*索引,切片,加,乘,检查成员 Python已经内置确定序列的长度以及确定最大和最小的元素的方法   2.1 list 列表¶ 列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。 列表的数据项不需要具有相同的类型. 例如: In [2]: #!/usr/bin/python3 list1 = [‘Google’, ‘Runoob’, 1997, 2000]; list2 = [1, 2, 3, 4, 5, 6, 7 ]; print (“list1[0]: “, list1[0]) print (“list2[1:5]: “, list2[1:5])   list1[0]: Google list2[1:5]: [2, 3, 4, 5]   2.

READ MORE

Quick Search Articles in My Blog

 === Quickly Search Articles in My Blog: === 本文介绍了如何快速在主流搜索引擎搜索本专栏内文章的方法。 Use Google's Search :  press me  Use Bing.com : press me   Use Baidu Search: press me    Enjoy~ :)

READ MORE

文件查重工具 ultraCompare 和 UltraFinder 用法 (moved to https://sonictl.github.io)

UltraCompare 是一款文件内容比较工具,它可以对于文本、文件夹、二进制进行比较。可进行文本模式,文件夹模式以及二进制模式的比较,可对比较的文件、文件夹等进行合并,同步等操作。是进行比较操作的很好的工具。你可以用它来比较两个文本文件的不同,也可以比较以二进制的模式比较两个EXE 文件的不同,还可以用它来比较两个文件夹及其子文件夹内文件的不同。 最为文件管理系统的补充,UltraCompare Professional 可以追踪不同文件、目录和 .zip/.jar 档案之间的差异。文件比较功能包括同时对两个或三个文件进行文本及二进制比较,并能合并这些文件之间的差异。文件夹比较支持对本地/网络目录(并递归比较子目录)和 zip 档案进行比较,同时与文本/二进制模式类似,可以合并这些目录之间的差异。 UltraCompare 与 UltraEdit 或 UEStudio 自动集成,是您必不可少的一款工具。我们提供免费试用版;立即下载,开始追踪并合并源代码的差异。阅读本文时您可能已经在使用 UltraEdit,但可能尚未安装 UltraCompare Professional。您可能还未意识到这样一个工具的重要性或通用性。 您甚至可能已经使用了 UltraCompare Lite,但现在觉得这一小巧的比较程序对您的编辑目的来说功能不够强劲。UltraCompare Professional 以更为丰富的功能著称,可以对两个或三个文件或目录进行文件和文件夹比较,并带有合并功能、忽略选项、FTP 支持等。 下载:链接 Crack: Installation Instructions by softasm: 1- Open [uc_english.exe] for x86 or [uc_english_64.exe] for x64 and install the software.     You may need to "Patch the Host file" on the keygen at this time. 2- Close Internet connection and run the program. 3- Click on Help menu and select “Enter License Key” License ID: softasm.com

READ MORE

配置httpd(Apache)服务器

配置httpd(Apache)使其指向网页首页所在目录 1. apachectl 命令查看apache服务器信息     apachectl -t #语法检查 2. 查看httpd系统服务:     ll /etc/init.d/httpd    如果没有,参考:http://www.cnblogs.com/zzzhfo/p/5925786.html     chkconfig --list httpd #查看httpd服务的自启动状态 2. 将网页文件放到以下地址:     /var/www/html" 3. 设置开机启动:chkconfig chkconfig --list chkconfig --add httpd chkconfig httpd on 4. 启动服务:      /etc/init.d/httpd start      /etc/init.d/httpd stop #关闭服务 5. 查看服务状态:     netstat -anpt | grep httpd 6. 更多配置,见配置文件: /etc/httpd/conf/httpd.conf   CentOS firewall 对80等端口的block解除: on centos run this commands: iptables -I INPUT 4 -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT

READ MORE