自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 收藏
  • 关注

原创 高斯-拉普拉斯算子与墨西哥帽小波的联系

高斯-拉普拉斯算子与墨西哥帽小波对比

2022-11-25 22:49:35 350 1

原创 笔记:MATLAB自定义渐变背景

MATLAB 画图自定义渐变色背景填充

2022-10-12 12:33:25 990

原创 calc.relimp学习笔记(R语言)

R语言,calc.relimp学习笔记

2022-10-07 18:44:01 1494

原创 Matlab(2018b)画箱线图技巧

Matlab 箱线图,并美化(包括:调色、字体设置、轴标签设置)

2022-09-04 14:41:45 5582

原创 matlab 画子图总结

目标:一个figure里包含两个子图,其中第一个子图只标纵标签,第二个横纵标签均标记。两个子图刻度间隔一致。工具:matlab第一版错误代码:x1 = rand(1,20);x2 = rand(1,20);time = datetime(2000,1,1) + calmonths(1:20);subplot(211)plot(x1);set(gca,"xtick",0:5:20,"xticklabel",[]); %先设置刻度间隔,再隐藏刻度labelylabel("x1");s

2022-05-21 16:43:09 4927

原创 matlab 多图共轴 笔记

背景:探究多组时间序列的规律,由于数据发生的时间跨度长且相同,希望实现所有数据一起动的功能。在所有数据均以表格的方式进行存储时,可用python的pandas实现。实现方式:把数据读成dataframe格式,借助df[["fac1","fac2","fac3"]].plot(title="title",subplots=True,xticks=range(len(df["date"][:-1])),rot=90)问题:matlab中能否实现相同的功能呢?答:基于个人查的资料,能实现类似的功能。和df

2022-04-26 11:14:20 2712

原创 opencv踩坑笔记

需求:python,用cv2读.tif的灰度图,以便做相应的处理。对应的函数:cv2.imread(“绝对路径”)img = cv2.imread("absolute route")遇到的问题:读图片失败,img为空。在对img进行处理时,会出现类似下面的报错:cv2.error: OpenCV(4.5.2) …\modules\highgui\src\window.cpp:404: error: (-215:Assertion failed) size.width>0 &&

2022-03-25 11:23:07 8714

原创 用EXCEL计算距平数据

思想:借助数据透视表1.基于excel中数据的排列方式,生成order_new列,再基于order_new列,生成month列。由于本数据的第一行表示第二个月,则得到month列的函数为:=MOD(J2,12)+12.再用数据透视表,按month列统计各个月份数据的平均值3.用vlookup函数对原表格按month匹配值(=VLOOKUP(K2,Sheet1!A$3:D$15,2))4.用原数据减去相应月平均数据,如:=I2-N2完成!...

2022-03-06 17:29:38 3039 1

原创 excel下拉公式保持一些参数不变

在你不想让它变化的那个字母或数字前加上$,它就不什么变了。比如 $A1 套用是A无论如何不变A$1 套用时,1无论如何不会变$A$1 套用时,A和1无论如何都不会变如:

2022-02-15 10:56:07 9292

原创 dataframe踩坑日记之pd.merge()

目标:读两个.csv文件,每个文件的第一列均为日期,但其它列包含的内容完全不一样,要把两个文件按日期将文件进行整合。一般来说,有这一行代码足够了(读者可自行查询outer、on的含义):df = pd.merge(df, df2, how="outer", on=["date"])但生成的数据显示on=[“date”]并没有起作用,同一个时间的数据并没有放在同一行,而是分两行存放了。通过各种搜索,锁定问题的根源在于两者的date格式不匹配。既然这样,那就让两者的格式匹配吧。方法如下:df["da

2021-10-28 11:06:11 933

原创 Dataframe 学习笔记1

Dataframe 学习笔记1不可否认的是pandas的dataframe真的是用python处理表格数据的神器!同样不可否认是是对一个没有系统学过df的人来说,各个属性和函数的用法真的是记不住啊,记不住!!!笔记都在代码后面的注释了。这些功能都查过很多遍了,但总是记不住,应该还是没有养成良好的编程习惯。多做笔记,多总结吧。from glob import globimport pandas as pdfs = glob('./rst/分区/*') #glob真的超好用,这一行返回分区文

2021-10-26 19:36:22 104

原创 pandas踩坑日记之pd.ExcelFile和pd.read_excel

写脚本,报错很正常,但总报些无厘头的错就让人很郁闷。上午大概花了三小时的时间做了个分类问题,但居然一半以上的时间都花在读取excel文件这一步了!我。。。下面就来看看究竟是何方妖孽:问题简述:读取一个.xls文件,通过关键字取出该文件的某一列数据。(用过pandas的同学大概都会觉得这个功能干起来和听起来一样简单,那究竟报了什么错呢?)一开始,我是这样干的:path1 = "D:\\数据分析\XXX.xlsx"data= pd.ExcelFile(path1)df = data.parse(sh

2021-09-12 15:31:30 10580

原创 python Dataframe groupby 大坑

之前就碰到过pandas.Dataframe的某一列有取字符型和数字时,用groupby分组报错的问题。之后也没弄明白时什么原因,就逃避了。今天又是一个类似的问题,啥也不说了,见图:"nu"值的取值全为数字,用这种方法得到其取值范围是正确的;"gamma"值的取值有字符也有数字,原本取值只有8类,却给我返回13类,有些明明相同的类却变成了有字符有数字。。。总结下来就是:用Dataframe数据处理时,尽量不要一个变量既能取字符又能取数字。如果实在避免不了,那就妄想用该变量的groupby得到一个令人

2021-09-07 20:28:07 1470

原创 python作图,自定义横坐标及图的大小

用python的matplotlib库作图,自定义图表的横坐标及图像的大小和分辨率import numpy as npimport matplotlib.pyplot as pltimport matplotlib.ticker as tickerxs = [] #自定义的横坐标for i in range(2000,2021): for j in range(1,13): temp = str(i)+"-"+str(j) xs.append(temp)

2021-07-08 14:12:43 7433 2

原创 学习np.mask

import numpy as np'''学习np.mask针对特定的遥感数据(某一行要是有掩码,则全行为掩码,可以全部删掉,所以只需判断每行的第一个数是否为掩码)'''a = np.array([[1,2,3], [4,5,6], [2,2,2], [3,3,3]])w,h = a.shapemask_a = (a>2)aa = np.ma.masked_array(a,mask=mask_a)

2021-07-07 09:44:30 660

原创 装geonumpy

就一句话:各个依赖包的版本匹配相当重要!!!血泪教训后的结果:这三个版本匹配python3.8没问题!!!

2021-07-05 21:53:17 82

原创 水平匀速直线运动模糊图像复原实验

近期花了点时间学习图像复原,研究了一下最基本的水平匀速直线运动图像复原方法,在此总结一下。不当之处,还请大家批评指正。研究背景:变速非直线运动在某些条件下可被分解为匀速直线运动,从而我们可以将变速非直线运动模糊过程简化为匀速直线运动模糊过程。在此基础上,我们再次将匀速直线运动模糊过程简化为水平匀速运动模糊过程。具体问题:自己亲手拍摄的图片:图一让其运动模糊(最初老师的建议是拍10张照片叠加,自己亲身实验后,效果很差,决定选用一个更简单的方法让其模糊),具体做法:将图一错位叠加,具体过程如下:每次

2021-07-05 19:50:52 1842

原创 手动扩充图像

遇到的问题:手里有一个512*512的图像,我想把它变大一点。最容易想到的方法是插值,如:最邻近插值、线性插值等。。。(之前均实现过)下面来一种简单粗暴,不太需要算法的算法。函数功能:将输进去的图片扩充为原来的两倍。import numpy as npimport mathimport matplotlib.pyplot as pltimport matplotlib.image as mp#扩充图片成其两倍def larger2(data,width): newdata = n

2021-05-07 11:27:32 141

原创 VS配置openmp踩坑

最近在用visual studio学习openmp的使用,将学习过程中主要踩到的坑总结一下。目前最深的想法就是为什么会有那么多人推荐用VS,这应用程序对我太不友好了!1.在下载visual studio的过程中就有很多坑,首先要注意的就是vs提供了许多工作负载,要如何根据自己的需求安装必须的工作负载。这里有些小白就要说了,那默认下载/全部下载就好了么。如果要全选,整个所需的存储量是超级大的,下载就是个问题。本人安装的是visual studio 2019 community,直接去vs官网下载相关安装包就

2021-04-30 20:22:22 2482 3

原创 python常用作图法

本文总结几个本人常用的作图方法。数据是numpy形式,用matplotlib.pyplot作图。导入方式如下:import numpy as npimport matplotlib.pyplot as plt下面开始总结作图方法:一、已知一堆点,画散点图或折线图设已知数据为:a = [1,2,3,6,5,10]画折线图:a = np.array([1,2,3,6,5,10])plt.figure()plt.plot(a)plt.show()画散点图:要注意plt.scatt

2021-04-12 17:41:17 2845

原创 线段的变化趋势与其傅里叶变换后图像关系

仅为自己的学习记录,本人比较懒,不写注释了。欢迎指出问题和提问!import numpy as npimport matplotlib.pyplot as pltfrom scipy.fftpack import fft,ifftfrom mpl_toolkits.mplot3d import Axes3Ddef center(data,l): for i in range(l): for j in range(l): data[i][j] =

2021-04-11 22:56:48 143

原创 时序数据预测

(记录下自己第一次独立解决一个问题,至于结果嘛,呵呵呵)本文的目的是用统计学的方法预测一组数据经过对数据简单的观察与分析及查阅多方资料,最终选用SARIMAX模型进行预测。(过程还算艰辛吧,这个问题一共做了不到半个月????。)step1:准备数据关于数据这个问题呢,我一直就觉得没啥好说的。原因在于既然是想做数据的预测,就说明手里是有一份数据的,是想通过这份数据得出一些东西。至于想找一堆数据来验证某些统计学方法那就另当别论了,这是专业人士干的事。step2:想办法预测因为我手里的数据是明显具有季

2021-04-08 22:27:11 467

原创 运行.py文件提示错误:no such file or dicectory

由于是昨天碰上这个问题的,今天只记得标题的五个单词了。错误的大意是编译器找不到所要执行的.py文件。这真的是让人一脸懵!明明要执行的文件就在我眼前,你咋就找不到它呢?解决方法(我用的是pycharm):1.点击右上角绿色三角形左边的下拉选项,先选择要执行的文件,在点击edit configurations2.在右边的configuration的scipt path选择目标文件的绝对路径3.点击下面的okbingo错误原因:我在创建了该文件之后,移动了它的位置,导致编译器找不到该文件了。但大多数

2021-03-30 08:43:34 1103

原创 setting an array element with a sequence.

报错:setting an array element with a sequence.原因:numpy数组格式没有对齐,格式不对报错句:data_new[i][j] = np.dot(data[i-1:i+2,j-1:j+2],filt)改成了:data_new[i][j] = np.sum(data[i-1:i+2,j-1:j+2]*filt)成功解决!

2021-03-18 15:48:02 946

原创 线搜索之用backtracking确定步长(牛顿法、最速下降法)

用某数学软件得Rosenbrock函数:f(x,y)=100∗(y−x2)∗2+(1−x)2f(x,y) = 100*(y-x^{2})*{2}+(1-x)^{2}f(x,y)=100∗(y−x2)∗2+(1−x)2的最小值为0.其函数图像为:但两种线搜索方法的结果差距还挺大的。import numpy as np#目标函数def function(x): x1,x2 = x[0], x[1] f = 100*pow((x2 - pow(x1,2)),2)+pow((1-x

2021-03-18 12:27:56 1600 2

原创 平滑空间滤波

过程中当然遇到了不少问题,但每次一写完就都忘了,只能靠在代码上的注释记得些。。。代码依次为:均值滤波、加权平均滤波、中值滤波、KNNimport numpy as npimport mathimport matplotlib.pyplot as pltimport matplotlib.image as imgpltdef average_filtering(data,size): #size为滤波器的大小(必须是奇数) (m,n,l) = data.shape start

2021-03-11 15:13:11 152

原创 最速下降法求极值

题目:用最速下降法求解f(x)=1010x12+x22f(x)=10^{10}x_{1}^{2}+x_{2}^{2}f(x)=1010x12​+x22​并分析scaling问题.import numpy as npimport matplotlib.pyplot as plt#目标函数def function(x): #x是自变量 f = 10**10 * x[0]**2 + x[1]**2 return fdef function1(x): #用z代替x0

2021-03-09 18:07:27 1656

原创 逐行改变文档内容

今天呢,想要用Python改变文档的内容。原本的文档内容是这样滴:目标是把把每行的第一个数(0.5,1.5,2.5,…)和中间的空格给去掉,留下第二个数。file = open('Spectrum140.dat')file_new = open('newdata.dat','w')num = 141for i in range(num): chars = str(i+0.5) line = file.readline() file_new.write((line.ls

2021-03-07 11:56:55 58

原创 双线性插值

想来周末无事,还是把双线性插值做一做吧。上一篇:变换与插值里的最邻近插值法理解的有问题,虽然写的时候就感觉有些不对劲,但当时急于实现就没想那么多。今天才突然想明白了插值的意义,之后上网一查,果真如此。如此看来,今天也算是有收获喽!理解的差距在于:上一篇的实现中,我认为插值就是在两个像素点之间插入更多的点,以使图像更平滑之类的。但事实上,插值不一定会使图像的像素点更多。插值的方法让我可以知道任何我想知道的位置的像素值(通过公式计算),通过这种方法,我可以得到由任何像素点得到的图像。下面,来试试吧!im

2021-03-06 22:53:37 176

原创 图像的变换与插值

其实,这个程序还有很多可以改进的地方。但优化是一件无止境的是,目前来看,实现就满足了。以后慢慢积累经验喽。remains:1.如何直接从读入的图片得到像素值?(脚本里是读完后自己手动敲上的);2.几个变换函数那里,其实可以做很大的精简,只是translation_m不同而已,代码冗余的厉害;3.插值的代码还是不断嵌套循环,导致运行时间长,还是没有找到合适的方法减少嵌套;4.可视化部分写的很笨重;5.一开始写的时候期待太大,导致难以下手,还是得把模型建清楚才会有迹可循;6.除了最后的插值,变换得

2021-03-04 18:37:40 302 3

原创 数学软件安装心得

matlab和mathematica的安装早就听闻matlab和mathematica的强大,无奈电脑硬件不支持,一直没能安上。终于下狠心买了个新电脑,下了个血本啊!!!四处打听,听闻软件管家(公众号)可以安装。于是,一腔热血,满心欢喜的开始安装。首先,碰到了安装版本的问题。鉴于涉及内存实在太大,只选了18b 和20.然后就是下载了。其次,就是通过网盘下载的问题了。这个问题,钱就能解决。再次,开始安装了。新电脑就是爽,速度超快!然而,由于自己管理文件方式不恰当,居然找不到想要的文件,涉及的文件又那

2021-03-02 17:55:54 175

原创 vandermonda方程的求解

一、实验目的求解线性方程组 ,其中V是vandermonda行列式。二、实验过程1.遇到的问题:如果按照一般线性方程组的求解方法或一般矩阵的求解逆方法进行vandermonda矩阵的有关计算,所需运算量为O(n^3)。这样大的运算量显示这种方法没有充分利用该类矩阵的结构特点与性质。另外,vandermonda矩阵的条件数一般都很大,从而相应的求解问题是病态的。2.采用的解决方法:研究在某些条件下稳定性好的算法,以求得高精度的解。采用Bjorck - Pereyra 算法求解通常的vandermo

2021-02-28 12:28:30 1968

空空如也

空空如也

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

TA关注的人

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