
语言
yanxiangtianji
这个作者很懒,什么都没留下…
展开
-
gnuplot 初学小记
总体上感觉:gnuplot是一个很轻量的开源科学绘图工具,而且用起来简洁利索,单从绘图的角度上说有了它一般的实验什么的都可以完全抛弃臃肿缓慢的matlab了。另外它是一个跨平台的工具,windows和linux下都可以用。画出来的图也挺漂亮的。 这两天做数据挖掘报告要画些图说明一下问题,我的工作机上又没有matlab,mathwork之类的工具(我嫌大嫌慢),又不好意思总去找别人,原创 2012-11-08 05:35:52 · 2577 阅读 · 0 评论 -
使用C++11变长参数模板 处理任意长度、类型之参数实例
变长模板、变长参数是依靠C++11新引入的参数包的机制实现的。一个简单的例子是std::tuple的声明:template class tuple;这里的三个点“...”表示这个模板参数是变长的。有了这个强大的工具,我们可以编写更加丰富的函数,例如任意类型参数的printf等。由于这个技术还比较新,还没有见到成熟的用法用例,我把我尝试的一些结果总结如下,希望对大家有帮助。原创 2014-03-11 23:19:23 · 28963 阅读 · 5 评论 -
【真】Linux升级GCC 4.8.1清晰简明教程(Ubuntu 12.04 64位版为例)
上次在CentOS 6上升级GCC 4.7.2的教程由于本人但是能力有限,而且时间比较紧,很多东西没有深究,导致教程里面有一些冗杂和不太正确或不能通用的部分,这次我在Ubuntu 12.04 LTS 64位版上更新gcc,发现了原来的一些问题,这次没有什么时间上的压力,我比较认真地去查阅了官方文档,也参考了一些网上的帖子,对整个升级过程在:依赖包的安装、不同Linux流派、32和64位下的区别和共同点有了更深的认识。原创 2013-10-09 17:37:37 · 14075 阅读 · 3 评论 -
gnuplot 学习小计3-字符串 读取文件
本次要点:字符串显示、连接、单双引号。数据文件中的注释符、间隔符。1,字符串操作:打印字符串命令:printprint 'abc'print 123print "xxx"采用“.”号来连接字符串。set title 'abc'.'xxx'另一个比较有用的用法是先定义一个字符串变量,然后每次去修改这个变量,例如:name='原创 2013-04-20 05:02:35 · 3767 阅读 · 0 评论 -
CentOS 6编译升级gcc清晰简易教程(可通用大部分Linux版本)
特别提醒:有很多网站转载本文,这本是好事,但是大多都没有注明出处,可悲啊!我后来发下原文有一些不明确或者笔误打错了的地方可以导致混淆,后来多次改正,这些内容转载的网站上面就没有了,而且没有注明出处,读者连发现错误的机会都被剥夺了。请大家多参照本文的最新版。众所周知:CentOS虽然好用,但是它自己的yum源很小也比较滞后,安装工具往往需要自己下载源码编译。(貌似RedHat和Fedor原创 2012-12-21 23:11:41 · 8212 阅读 · 3 评论 -
Boost库bind函数的嵌套调用
问题提出:我写了一个函数,它需要使用一个生成整数随机数的随机数发生器作为参数。然后写了一个函数来根据参数生成不同分布的随机数发生器,供前一个函数使用。我调用了boost库的一些基于特定概率分布的随机数生成函数,但是有很多函数的结果是double型的。我的函数将随机数发生器定义为boost::function类型。很明显那些生成double的函数不能直接通过bind operator()的方原创 2013-04-22 00:13:31 · 1827 阅读 · 0 评论 -
C++ 静态成员与成员函数链接错误
关键知识:1,所有静态数据成员都必须在类外初始化,才能使用!2,静态成员初始化(定义)应放在对应的.cpp里面,而不是.h里面!3,定义与声明的区别:有“extern”关键字的必是声明,有初始值的必是定义,其余一般是定义。(1, all static member variables must be initialized!)(2, all initialization (de原创 2013-03-21 23:06:38 · 4925 阅读 · 0 评论 -
宏定义污染的解决方法。
问题:提要:mfc工程调用另一个基本c++工程出错(windows宏定义污染导致错误)我用基本的C++配合STL写了一个库,编译成静态库lib。又在同一个工作空间里面建立了个win32 console的工程,调用这个lib,一切正常。然后我想加个界面,又建立了个基于对话框的mfc工程,用一样的方法include静态库工程的头文件,居然说我原来那个工程的文件语法有错,原创 2013-04-07 10:54:28 · 2943 阅读 · 0 评论 -
gnuplot 学习小计2-时间、文件、数据选择、平滑
本次要点:用时间类型数据作为坐标轴。说明文件中的数据格式。(比修改间隔符的方法更能应对复杂格式)选择性提取文件中的数据。图、轴、曲线的名字。数据平衡操作。1,使用时间数据作为x坐标可以使用:set xdata time设置x坐标轴为时间数据,对于其他坐标轴也是一样。默认格式是 “年/月/日”可以通过命令:set timefmt “%Y-%m-原创 2013-04-16 02:45:17 · 4517 阅读 · 0 评论 -
gnuplot 学习小计5-标度
gnuplot中的标度就是x轴和y轴上面所显示的刻度和刻度上的文字。1,基本用法:使用命令:set xticsset x2ticsset yticsset y2tics来分别将下方的x轴,上方的x轴,左边的y轴,右边的y轴设置为默认的标度。特别的功能选项可以在上述命令的后面加上参数来实现。用:unset xtics来消除x轴的标度(让x轴上面空空原创 2013-05-05 07:00:55 · 6417 阅读 · 0 评论 -
gnuplot 学习小计4
本次要点:用同一个文件画多条曲线。replot命令,使用相同文件的渐变做法,双纵坐标。1,使用相同文件如果在一条绘制命令中使用逗号绘制多条曲线,那么按照标准语法,我们是需要每次都指定绘图所使用的文件的。然而实际使用中在一条绘图命令中绘制的多挑曲线往往都是来自同一个文件,因此gnuplot规定:在绘制非第一条曲线时可以使用两个单引号来简略表示文件路径,它表示使用上一条绘制命令原创 2013-05-02 07:39:46 · 2751 阅读 · 0 评论 -
G++隐藏"bug"及应对:未特化的模板中的static_assert(false)的两种处理方式
C++11标准新引入的static_assert功能可以实现静态断言,是一个非常强大的模板元编程工具,配合SFINAE特效可以在编译期发现不符合预期的不合理特化,并且给出自定义的错误信息。但是不同编译器的实现却不尽相同,于是招致了一些不必要的麻烦。g++为了效率,在某些情况下会过早、甚至不必要地执行了static_assert断言,导致编译失败。本文给出了这种问题的发生条件、原因与解决方法。原创 2017-01-28 16:32:22 · 3432 阅读 · 1 评论