- 博客(16)
- 资源 (19)
- 收藏
- 关注
原创 Python函数参数传递:传值还是传引用
引子首先来看一个列子:def change(val): val.append(100) val = ['T', 'Z', 'Y']nums = [0, 1]change(nums)print(nums)猜猜结果应该是什么? 按照C++语言的思维,如果Python函数参数的传递是传值的话,结果应该是[0, 1],如果是传引用的话,结果应该是[‘T’, ‘Z’, ‘Y’]。 可
2016-03-30 11:46:53 19616 11
原创 LaTex如何输入数集符合(整数集、实数集、复数集)
实数集( )、复数集()这样的符号,LaTex本身是不支持的,但是我们可以使用如下的包进行符号的书写。\usepackage{amsfonts}或则\usepackage{amssymb}然后在正文中使用方式如下:$\mathbb{set}$效果如下:
2016-03-29 21:01:37 89314 1
原创 Wolfram Mathematic流程控制
循环语句DoDo循环感觉和C语言中的for循环有点像,形式如下:示例:While语法形式: 示例: ForFor循环感觉和C语义的for循环是一样的,形式如下: 上面Do循环的第一个示例用For循环如下: 条件语句If语句If语句相等于C语义的If…else语句,语法形式如下: 示例: Which语句Which相等于多重的If…else if…语句,语法形式如下: 示例: Switc
2016-03-26 20:36:18 2207
原创 内点法
文字理解内点法属于约束优化算法。约束优化算法的基本思想是:通过引入效用函数的方法将约束优化问题转换成无约束问题,再利用优化迭代过程不断地更新效用函数,以使得算法收敛。 内点法(罚函数法的一种)的主要思想是:在可行域的边界筑起一道很高的“围墙”,当迭代点靠近边界时,目标函数徒然增大,以示惩罚,阻止迭代点穿越边界,这样就可以将最优解“档”在可行域之内了。数学定义对于下面的不等式约束的优化问题: mi
2016-03-25 10:42:05 21649 3
原创 矩阵的奇异值分解
定义设A∈Cm×nA\in C^{m\times n},则矩阵AHAA^{H}A的nn个特征值λi\lambda _i的算术平方根δi=λi−−√\delta _{i}=\sqrt {\lambda _i}叫做A的奇异值(Singular Value )。设A∈Cm×nA\in C^{m\times n},则存在酉矩阵U∈Cm×nU\in C^{m\times n}和V∈Cm×nV\in C^{m\
2016-03-24 20:44:12 2694
原创 k-means聚类
算法简介K-means算法是很典型的基于距离的聚类算法,采用距离作为相似性的评价指标,即认为两个对象的距离越近,其相似度就越大。 算法过程如下: 1. 从N个样本随机选取K个样本作为质心 2. 对剩余的每个样本测量其到每个质心的距离,并把它归到最近的质心的类 3. 重新计算已经得到的各个类的质心 4. 迭代2~3步直至新的质心与原质心相等或小于指定阈值,算法结束 注:这里的距离我们一般采
2016-03-24 15:37:49 1175
原创 常用向量和矩阵的范数
向量的范数任意x∈Cnx \in C^n,设x=(ξ1,ξ12,...,ξn)Tx=(\xi _{1}, \xi _{12}, ... , \xi _{n})^{T},常用的范数有 1. 2-范数∥x∥2=(∑i=1n|ξi|2)12\|x\|_{2}=(\sum _{i=1}^{n}|\xi _i|^2)^{\frac{1}{2}} 2. 1-范数∥x∥1=∑i=1n|ξi|\|x\|_{1}
2016-03-24 10:49:42 1332
原创 Moore-Penrose广义逆矩阵
起源设AA是n×nn\times n可逆方正,bb是任意一个nn维向量,则方程组Ax=bAx=b总有解,且解xx可表示为x=A−1b.x=A^{-1}b. 现在设AA是m×nm\times n可逆方正,bb是一个mm维向量,是否存在m×nm\times n矩阵GG,使得方程Ax=bAx=b总有解,且解xx可表示为x=Gb.x=Gb. 这样的矩阵GG就涉及到广义逆的概念。 广义逆也叫伪逆,一般是
2016-03-23 17:01:33 24875 4
原创 图像的直方图
灰度直方图的定义灰度直方图定义为数字图像中各灰度级与其出现的频数之间的统计关系,用公式表示为P(k)=nkn,k=0,1,...,L−1P(k)=\frac{n_k}{n}, \quad k=0,1,...,L-1且∑k=0L−1P(k)=1\sum_{k=0}^{L-1}P(k)=1式中,kk为图像f(m,n)f(m,n)的第kk级灰度值;nkn_k为f(m,n)f(m,n)中灰度值为kk的像素个
2016-03-23 15:28:59 3112
原创 高等数学公式积累
泰勒展开式: f(x)=f(a)0!+f′(a)1!(x−a)+f′′(a)1!(x−a)2+...+f(n)(a)1!(x−a)n+Rn(x)f(x)=\frac{f(a)}{0!}+\frac{f'(a)}{1!}(x-a)+\frac{f''(a)}{1!}(x-a)^2+{...}+\frac{f^{(n)}(a)}{1!}(x-a)^{n}+R_{n}(x)
2016-03-22 21:51:57 1433
原创 Matlab中的im2col函数
官方文档对其功能的描述为为:Rearrange image blocks into columns. 即重排图像块为矩阵列。 函数原型为:B = im2col(A,[m n],block_type)block_type的取值可以为’distinct’或者’sliding’。当block_type为distinct时,将A沿列的方向分解为互不重叠的子矩阵,并将分解以后的子矩阵沿列的方向转换成B的列,
2016-03-22 21:22:57 20288
原创 Numpy中找出array中最大值所对应的行和列
Python特别灵活,肯定方法不止一种,这里介绍一种我觉得比较简单的方法。 如下图,使用x == np.max(x) 获得一个掩模矩阵,然后使用where方法即可返回最大值对应的行和列。 where返回一个长度为2的元组,第一个元素保存的是行号,第二个元素保存的是列号。
2016-03-07 15:44:45 78691 6
原创 Numpy中如何给矩阵增加一行或一列
使用Python的numpy的array结构,如何给矩阵增加一行或者一列呢? 下面提供一种方法,当然numpy还提供了很多API函数可供选择。
2016-03-06 16:27:55 76919
原创 GDAL获取栅格数据各个像素对应的经纬度(Python版)
这里要使用的一个比较重要的函数是GetGeoTransform函数,GDAL官网的API中对GetGeoTransform的解释如下: CPLErr GDALDataset::GetGeoTransform ( double * padfTransform ) virtual Fetch the affine transformation coefficients.Fetches
2016-03-04 21:11:16 26276 20
原创 使用Python的netCDF4和matplotlib.basemap包进行气象数据的可视化
首先,安装netCDF4和Basemap,Windows下和Linux下会稍微有些不一样,请自行百度。 netCDF4:https://github.com/Unidata/netcdf4-python Basemap:http://matplotlib.org/basemap/users/installing.html下面是一个示例代码:from netCDF4 import Dataset
2016-03-04 20:51:34 30494 15
原创 Python中如何动态生成多维数组
多维数组其实就是多个一维数组的嵌套,Python中有原生的list,类似一个动态数组。 所以动态生成多维数组的思想就是在list中动态嵌套添加list。下面代码生成一个一个3×3×2的三维数组:# coding:utf-8# 使用Python3中的print函数from __future__ import print_functionarr = []# 基本思想是在list中动态添加list,每
2016-03-01 19:40:23 19478
Android编程权威指南
2015-03-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人