- 博客(60)
- 资源 (4)
- 收藏
- 关注
原创 Matlab与Python的reshape使用区别
三维的话,matlab则要对每一页先转置展开为一维,然后再把每一页拼起来,然后再按列往新数组中填充个,具体如下代码,Python的结果和Matlab一致,函数只支持二维转二维,三维转二维。经过测试,发现二维的话,python需要先转置再用reshape。
2023-10-14 20:39:56
354
原创 数据库:Hive转Presto(四)
这次补充了好几个函数,并且新加了date_sub函数,代码写的比较随意,有的地方比较繁琐,还待改进,而且这种文本处理的东西,经常需要补充先前没考虑到的情况,要经常修改。估计下一篇就可以补充完所有代码。
2023-10-11 11:50:30
511
1
原创 关于Matlab与Python中日期转时间戳不一致的问题
由于 MATLAB 中的日期序列号精确到秒,而 Python 的时间戳精确到秒,因此在进行转换时可能会存在精度损失,导致转换结果不完全相同。结果Python与matlab的结果一致。其中matlab中是使用。
2023-10-02 21:46:27
570
原创 Fortran IMSL库申请学生许可安装
把下载下来的许可证改名为imsl_eval,然后放到C:\Program Files (x86)\RogueWave\license即安装目录下的license文件夹中,之前7.0版本文件夹叫VNI现在已经改名为RogueWave了。安装好后,配置vs2022,一切都和上面的blog中的配置方法一样,注意最终的文件夹是不变的(lib,static,dll等),但是前面的路径肯定有所改变。大概等了三天左右,官方会回复到你的学生邮箱中,会发一个下载地址,附件为许可证。
2023-09-27 20:53:05
598
原创 关于Julia语言 PyPlot,PyCall报错问题
如果按照它的提示Pkg.build("PyCall"),也会报错,这可能是因为julia并没有找到正确的python可执行文件,需要找到annaconda中的python解释器,然后手动更正。具体的报错为:LoadError: PyCall not properly installed. Please run Pkg.build("PyCall")进入julia的交互式环境,输入下方代码,要把第二行的python解释器路径改成自己的。前提,使用的是annaconda,jupyter。
2023-09-25 14:15:56
379
原创 数据库:Hive转Presto(一)
本人因为工作原因,经常使用hive以及presto,一般是编写hive完成工作,服务器原因,presto会跑的更快一些,所以工作的时候会使用presto验证结果,所以就要频繁hive转presto,为了方便,我用Python编写了一个转换代码的小程序,工作繁忙,我一点点更新吧。
2023-09-20 10:09:38
463
原创 Fortran 微分方程求解 --ODEPACK
最近涉及到使用Fortran对微分方程求解,我们知道MATLAB已有内置的函数,比如ode家族,ode15s,对应着不同的求解办法。mf:是求解方法,其中如果等于21,24需要使用者自己提供雅各比矩阵,如示例代码中jex函数中那样,如果等于10,22,25则不需要自己写,但是jex函数还是需要定义,就是函数框架,函数名,变量声明就可。1.我使用的是vs2022,比较简单的用法就是把,src文件夹所有的文件复制到和项目一个文件夹即可,将M_odepack.f90文件放入到项目中,这样就可以用了。
2023-08-26 16:10:51
1175
原创 配置Julia教程
教程使用的是Jupter运行Julia,最近使用Jetbrain全家桶中的DataSpell,专门为Notebook开发的IDE,发现挺好用的,尝试在DataSpell写Julia。
2023-08-10 22:27:47
457
原创 SQL中Partition的相关用法
使用Partition可以根据指定的列或表达式将数据分成多个分区。每个分区都是逻辑上独立的,可以单独进行查询、插入、更新和删除操作。Partition可以提高查询性能,因为它可以限制在特定分区上执行查询,而不是在整个表上执行。
2023-07-25 16:19:11
6090
原创 Fortran 定义unique函数删除数组中的重复数值
此函数和matlab中的[c,ia,ic] = unique(arr)是一致的,只能满足一维数组,二维数组其实就是加个循环即可。C:unique后的数组,和arr一样长,需要count函数来获取,C(1:count)所有的不重复数值。检验后和matlab的unique函数应该是一致的。count:不重复数值的个数。
2023-07-16 14:41:44
856
2
原创 Fortran lapack求数组的特征值,特征向量
info:整数,如果为0说明求解成功,如果为负数,比如-3代表第三个参数你设置的不对,-4代表第四个以此类推。如果是正数,如1,代表第一个特征值为0,解是奇异的,2代表第二个,以此类推。rwork: 整数,至少大于2n。这个函数是求矩阵的特征值,且结果是双精度复数的情况,具体可以查MKL的官方文档。arr:待求矩阵,如果结果是复数,就要把双精度的arr转换成复数形式。vl:双精度复数,左特征向量,大小为(n,n)vr:双精度复数,右特征向量,大小为(n,n)w:双精度复数,特征值,大小为(n)
2023-07-16 14:34:47
1434
原创 Fortran lapck求数组的逆矩阵
第一个函数是求复数的,第二个是求双精度的,注意求解的时候会覆写输入的数组。和MATLAB的INV函数是一致的。
2023-07-16 13:47:57
657
3
原创 黄平书-线接触热弹流润滑 Fortran+Matlab转译代码
原Fortran代码有错误,进行了修改,数值上差别不大。根据Fortran代码转的Matlab,可以完美运行,但是因为精度问题有差异,只能说趋势是一致的。
2023-07-15 14:08:06
1328
11
原创 VS2022 Fortran配置MKL 调用lapack 64位库
下载64位的,然后就是添加文件所在的文件夹,以及添加lib,就可以直接使用lapack中的函数,但是现在Oneapi中集成了lapack库,所以可以直接调用,如下所示。添加C:\Program Files (x86)\Intel\oneAPI\mkl\latest\include\intel64\ilp64。添加C:\Program Files (x86)\Intel\oneAPI\mkl\2023.0.0\lib\intel64。5. 在电脑属性-高级-环境变量-系统Path中添加。
2023-07-09 15:58:52
2795
7
原创 Fortran 主程序接收子程序返回的动态数组
其实,就是只要在主程序定义好接收的数组是动态数组,然后在子程序同样定义输出数组为动态数组,然后在子程序直接allocate,貌似allocate可以在主程序子程序间传递,所以直接接收就好了。运行后可以发现,result_array可以直接接收到子程序中的array。本文的情况是,在调用子程序的时候,不清楚数组的大小。
2023-07-08 00:00:33
334
原创 Python画频率直方图以及三维柱状图,cdf图像
首先是代码中的my_histogram是可以算出每个组的频数的,然后他这个histogram和matlab中的hist不一样,好像是分组上有区别,不能直接对照着用,按我这么写就一致的,其中bin_centers对应的就是matlab的分组。这个代码中,如果你是直接使用的plt.hist中的densit=True那么会发现他算不是频率,但是按我这么写加个权重,那么最终算出来的就是频率了。在matlab中,一般是这么做的,如下代码所示。
2023-07-01 00:11:46
1038
原创 Fortran77中,DATA赋值的变量有SAVE属性
将上述示例代码运行,可以发现,在子程序中的a有save属性,每次循环调用func的时候,func里的a会随着循环累加1,而主程序的a不会变化,依旧是1。这是要注意的,我也是第一次发现这个问题,是Fortran的机制还是我理解错了?可以一起讨论,共勉。今天看了个代码,发现用data赋值的小问题,单独拎出来尝试一下如代码所示。
2023-06-25 22:30:42
530
原创 使用Fortran画图
我把这个Module也贴出来,我稍稍修改了一丢丢,他里面的一些画图格式设置会有警告,不会影响画图结果,放心,请从代码包中下载,免费的。这个方法与Gnuplot不一样,只要调用这个Module就行,但是其实是代码自动调用的Python,所以电脑需要有Python环境。real(wp),dimension(100) :: xx,yy 即wp类型。反正就是用起来很方便,直接调用Module就可以了。如果代码没错误,执行代码后会跳出画图结果。然后对于你要画图的数组,要特别定义为。
2023-06-09 13:26:15
2356
4
原创 数据清洗,数据分析,数据挖掘的区别
数据清洗:是指对原始数据进行预处理,包括去重、去噪、填充缺失值、处理异常值等操作,以提高数据的质量和可用性,保证分析和挖掘的可靠性。数据清洗是数据处理的基本步骤,也是数据分析和数据挖掘的前提。数据分析:是指利用统计学和数据科学技术对数据进行分析和解释,以发现数据中的规律、趋势和关系,从而提供决策支持和业务洞察。数据分析通常使用描述性统计学、推断性统计学、数据可视化等方法,可以对特定的问题进行分析。
2023-06-09 00:17:39
1479
原创 VS2022 Fortran 配置IMSL库
(3)在环境变量-系统变量-PATH中添加:C:\Program Files (x86)\VNI\imsl\fnl700\winin111e64\lib。Libraries添加:C:\Program Files (x86)\VNI\imsl\fnl700\winin111e64\lib。总之按着你自己的路径,添加dll,static,lib这三个文件夹,其他东西不要改,添加后点OK就可。(1)先新创建一个空项目,然后工具-选项,看我的截图,最终在Compile选项中。我的电脑是64位的,我就以64为例。
2023-05-28 16:45:37
2725
原创 Fortran 嵌套结构体
上述代码中,可以看到stack结构体中还有一个Level结构体,当Level结构体是结构体组的话,也应该像定义动态数组一样,加上allocatable。分配空间的时候也和动态数组一样分配。
2023-05-28 14:49:26
193
原创 Coursera课程的学习流程
进到网站后,就可以右上角注册帐号了。然后有的课程需要买会员之类的,有的课程都则不包括在会员中,需要单独购买,这时候可以申请助学金,我是在某宝找人帮忙申请的,大概10几块一科,一般来说大概15天可以申请下来,申请成功后可以免费学习课程半年,在申请期间,你可以选择旁听部分课程。由于是外网,用起来比较卡,尤其是看视频几乎不用梯子是加载不出来的,首先推荐一个我突然更爱了的软件,是爱玩游戏的人福音,那就是UU加速器,不过需要买会员,这对我买季卡年卡的我来说太爽了,直接搜索学术资源,然后加速。
2023-05-20 11:42:24
905
原创 关于Pycharm更新pip的问题
其中要把你项目中venv下的Scripts里的python.exe的路径写上,然后在特别设置镜像网站,这样下载会快很多。将上述命令写在Pycharm的终端上,则成功更新pip。
2023-04-17 12:35:32
1244
原创 Matlab-Python xcorr函数,当x,y为复数时的相关系数函数
本文中的Python代码是根据Matlab中xcorr函数的转写,不过只是复现了x,y均为复数的情况的结果,结果与Matlab一致。
2023-03-30 17:33:56
1090
原创 灰狼优化算法-Matlab及Fortran代码
优点:较强的收敛性能,结构简单、需要调节的参数少,容易实现,存在能够自适应调整的收敛因子以及信息反馈机制,能够在局部寻优与全局搜索之间实现平衡,因此在对问题的求解精度和收敛速度方面都有良好的性能。灰狼优化算法(GWO),由澳大利亚格里菲斯大学学者 Mirjalili 等人于2014年提出来的一种群智能优化算法。灵感来自于灰狼群体捕食行为。缺点:存在着易早熟收敛,面对复杂问题时收敛精度不高,收敛速度不够快。应用:车间调度、参数优化、图像分类、路径规划。
2023-03-26 13:03:25
173
2
原创 Matlab读取文本中的数值,浮点值的正则表达式
对于这样一部分是文本一部分是数值,可以先试用imortdata()这个函数,这样可以直接读取文本部分与下半部分数值部分。至于想要提取文本中的数值,尤其是浮点数还有正负符号之类的,比如第4行的文本,可以这么写。结果就是有三个元素的元组。
2023-03-06 09:04:34
846
原创 Matlab的var,std函数与Python的np.var,np.std的区别
Matlab的两个函数默认是除以N-1的,而Python的这两个函数默认是除以N的,所以Python要改成np.std(X,ddof=1)才是除以N-1。或者是Matlab的std(x,1)则是除以N。
2023-02-06 11:14:18
533
原创 STATA 关于xsmle命令,空间杜宾不收敛,convergence not achieved的问题解决办法
正如可以查到的办法那样,使用from() 设置处置,慢慢调整最终求得收敛结果。不过这几天的尝试,感觉有个比较有效的调试方法,只是经验之谈,或许是玄学也说不定。比如我这一段代码,显示不收敛。然后就要进行from调试,代码如下需要放上从Main的第一个变量到variance2_e的初始值,我这里应该是要放20个数值。
2023-01-14 19:02:46
8106
15
黄皮书-线接触热弹流润滑 Fortran+Matlab转译代码
2023-07-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人