由买买提看人间百态

topics

全部话题 - 话题: 函数
首页 上页 1 2 3 4 5 6 7 8 9 10 下页 末页 (共10页)
C*********e
发帖数: 178
1
来自主题: Military版 - 一个解析函数
1-z^4 有4个根,对应的是其反函数是多叶函数,有4叶。但是 1-z^4 还是一般的单值
函数。
平方根函数是多值函数,具体说是双值,是双页。但在0点是单值。或者说双叶在原点
是粘在一起的。现在1-z^4有4个根,所以,sqrt(1-z^4)就是有四个粘结点的双叶函数
。粘结点是那四个根:1, -1, j, -j。
然后,圆周是360度一周就回头。比如360度=0度,或者180度=-180度。所以多叶函
数会有一条“穿越线”,在这条线不同叶连在了一起。这条线从粘结点出发,沿着某个
方向。约定成俗的就是选360=0这个方向(其实可以选任何一个方向,但所有公式需要
重新写了。)
如果在更高维的空间里看,这条线是不存在的。叶与叶并无这样的穿越线。但如果只在
2维复数空间(相当于4维实数空间),就需要这条穿越线来连接不同叶。可是这条线又
是虚拟的。你可以想象一个蚂蚁,站在其中一个叶上。它看见头上有另一叶,而前方有
一个两叶连接线。于是蚂蚁向着连接线爬去。蚂蚁无论如何爬,却总也无法到达那条线
。可是蚂蚁却不知不觉地已经到了另外一个叶面了。
对w=sqrt(1-z^4)来说,假定蚂蚁站在z=1附... 阅读全帖
g**********t
发帖数: 475
2
【 以下文字转载自 Programming 讨论区 】
发信人: geneticdrift (不懂微积分), 信区: Programming
标 题: 求助,如何才能将一个c++对象封装成一个函数指针。
发信站: BBS 未名空间站 (Wed Oct 31 22:30:16 2012, 美东)
我有一个似然函数,是用面向对象的方式写的。现在我想用一个别人用c语言写的子程
序来对我的函数进行优化。由于这个子程序是用c写的,只能接受一个函数指针作为参
数。由于这个子程序比较复杂,不想对其做太多改动。请问如何能把我的类对象封装成
函数指针? 用functor吗?
i******t
发帖数: 22541
3
来自主题: JobHunting版 - 谁给个c++虚函数完全总结啊
以下几点很迷糊
基类 纯虚函数 需要写个实现吗?
子类 纯虚函数 需要写个实现吗?
基类 虚函数 需要写个body吗?
子类 虚函数 需要写个body吗?
什么情况下 定义完了 必须写个实现
等等此类问题
对了 还有什么 纯虚构造 析构函数之类的
主要是 麻烦解释一下原因 现在看得有点迷糊
thx
q*******i
发帖数: 353
4
比如子函数(void)内用主函数通过参数传过来得指针malloc了空间,然后做
了一些操作之后,返回主函数,在主函数里面再free这个空间。这样做理论上应
该没问题,但是是不是风险很大?是很糟糕的设计?比较好的方法是什么呢?
(用指针的指针传递?)
y**b
发帖数: 10166
5
有好几个函数都是这样,而main()的作用只是调用这几个函数之一。这样每次main()
调用不同函数(重新编译),都得改动头文件来决定需要定义哪个宏,比较麻烦。
(之所以出现这种情况,是因为这几个函数要分别利用某个段代码的不同部分,用宏
来区分的)。
也就是说:
if 某个函数被调用
then 定义某宏
这个在c++里面如何实现?有没有更简洁的办法?
w****h
发帖数: 212
6
【 以下文字转载自 EE 讨论区 】
发信人: wmbyhh (wmbyhh), 信区: EE
标 题: 问一个Matlab编程的问题,函数如何有可变输入参数?
发信站: BBS 未名空间站 (Mon Feb 18 19:59:40 2008)
请问,一个函数,其参数不确定,可能2个,可能多个,但同一类型。
如何设置生成这样的参数可变得函数?
函数中又如何知道有多少参数?
如果是C编程的话,这根本不是问题;但Matlab如何调用这种输入参数可变的函数?
多谢
i****d
发帖数: 255
7
来自主题: Programming版 - 关于传递函数指针
按照我的理解,如果要把一个函数(A)指针当成参数传给另外一个函数(B),在函数B的参
数表里需要把函数A的类型和它所有参数的类型全部带上,这样函数B的参数表就会非常
冗长。比如:
double B(double a, double b, double (*A)(double, int, char*, double*))
不知道我的理解是否正确,各位有没有好的解决方法。
多谢!
i****d
发帖数: 255
8
来自主题: Programming版 - 关于传递函数指针
不太明白楼上的反问。
要我说,至少在C里面,仅传递函数名本身就可以了,因为不会有函数同名或者重载的
问题。函数名本身就可以唯一的代表一个函数,不再需要在传递函数指针时还带上所有
的参数类型。
对吗?
x****t
发帖数: 389
9
来自主题: Programming版 - 怎样include一个函数
有一程序,很多的类,很多.C和.h文件,但是写这些类的时候都有可能用到一个小函数
,所以想把这个小函数单独弄成一个.C或者.h文件,然后哪个类需要它,就把它
include。
可以把这个小函数弄成一个类,再定义object,然后用这个object的函数。。。。。但
是有没有可能光弄一个.C文件,里面放这个个函数,然后其他需要它的类就include它
完事?我发现编译的时候,告诉我重复定义了。。。。
请问有没有办法做到?
谢谢
p*****c
发帖数: 20
10
来自主题: Programming版 - 请教c++里函数调用的问题
我在头文件里声明了函数
bool cal_sum(int num,int &elem)
然后我另外写了一个文件是这个函数的主体 cal.cpp
在主函数文件里我include head.h 后,为什么还是link不到cal这个文件?
如果我在主函数里直接用 include cal.cpp,甚至都不需要头文件了。
请问如果用头文件的方式应该怎样调用那个外部函数 ? 直接include cal.cpp是合理
的做法吗?
H***a
发帖数: 735
11
According to LZ "子函数(void)内用主函数通过参数传过来得指针malloc了空间,
然后做了一些操作之后,返回主函数,
在主函数里面再free这个空间", there I just created a critical example.
Caller - main function - might not need to use the array at all since all
the operations can be done in
subroutine. In this case, it's unfair to let main function free the resource.
That's just my 2 cents.
w***g
发帖数: 5958
12
这个问题之所以会发生,本质上是因为编译器设计的时候决定了堆栈地址是往下长的。
函数运行的时候堆栈结构是像下面这样的:
高地址
[返回地址]
[局部变量A]
[局部变量B]
[局部变量C]
....
....
[栈顶]
低地址
调用函数的时候就往栈顶压入返回地址,然后再压入局部变量,等函数结束的时候取出
返回地址,然后把栈顶调整到函数未开始时的地址。
如果局部变量B是一个数组,那么你让数组越界(buffer overflow)后就会把高地址存的
返回地址覆盖掉,然后函数返回的时候就会跳到一个随机的地方了。实际情况往往比这
个复杂的多,比如C/C++很少会把buffer分配在堆栈(stack)上,而是一般都分配在堆(
heap)上。这时候数组越界能越到堆栈上的返回地址的可能性就会减少,所以越界就得
越的相当多才行。对于古老的系统,甚至可以越界到指令内存,用恶意指令把程序本身
都覆盖了。
c******o
发帖数: 1277
13
实际上不同点复杂得多。
我知道的,
第一是 函数是第一类成员,它可以象数据一样传递,函数可以接受/产生函数。(这
一点上,连scala都不是FP, 函数在scala里是class,不是数据)
第二是 需要是纯函数,不能有side effect(不光是mutable, IO也是side effect
),这一点实际几乎不可能,所以都做特殊处理和掩盖 (streaming IO process, IO
monad, State Monad etc.)。
其他的都是可添加的特性和得出的推论,不是真正的区别。
类成员可以有数据,只不过不是变量。
q*c
发帖数: 9453
14
这个就很明显~ 不对
a.name() 函数内部生成一个对象,对象的饮用返回前拷贝进临时变量。然后函数内部
那个对象饮引用丢失。 这个临时变量在等号左面, 然后被赋值为 abc , 导致他本身
的引用丢失, 然后新得到的 abc 也立刻丢失。
这样函数内部产生的对象丢失,临时对象丢失,abc 赋值的对象丢失。
这样到底要干啥?
我猜测是想改变函数内部某个全局变量的状态, 但是这本身就不是好主义。
或者是要重新定义函数?
N******K
发帖数: 10202
15
来自主题: Programming版 - C++类的静态函数对成员函数
把一个类当函数用的时候 写一个静态成员函数 所有输入 所有输出都有
或者一些不依赖于成员变量的函数 可以写为静态函数
c******k
发帖数: 1140
16
其实也不算什么拟合,因为没有实测的曲线。只是为这样一条设想的曲线找个组合函数
。当然有其他函数有类似的性质。我们只是尽量找到最合适的一个,上图中任何一个参
数都有实际意义,如neff, c, Wo, W-,等等。
但是目前没有人想用一个确定的函数去表示这条曲线,居多的文章都是直接simulation
.或者数值计算。其实函数即使确定了,问题也没有结束。我们想用这条函数去解决其
他问题。
d*z
发帖数: 150
17
来自主题: Mathematics版 - "分段"函数是不是初等函数
呵呵,所以只要将一些分段常数的函数和一些初等函数加权相加
可以得到分段初等函数都是初等函数(不需要连续)
v***o
发帖数: 51
18
想更多地了解一下各种函数期望值关于其分布概率参数的性质(如单调和CONVEXITY/
CONCAVITY,即E[f(x)|theta]关于theta(x分布的参数) 的各阶导数。
在分析一个VALUE FUNCTION关于STATE VARIABLE的二阶导数时,要看一个函数期望值关
于其分布均值和方差的二阶。稍微想了想,如果分布是正态的,这个函数是连续递增和
CONVEX的,那么这个函数的期望值对于分布均值(和方差)应该也是CONVEX的(因为函
数右端CONVEX地发散至无限Dominate了其他因素)。好像如果是CONCAVE的函数就难说
了。
哪位大牛指导
一下哪些文献可以参考?
w**a
发帖数: 1024
19
对于一个小波 w(a,t),a is scale and t the translation parameter.
它对t的积分是0,也就是小波的波形是有正有负。 而你的函数|f| >0.
用一套有正有负的函数逼近一个正函数,不是最有效吧。
非要用小波吗?梯形函数或者矩形函数不行吗?
b****e
发帖数: 906
20
假设我有一个二元函数f(x,t),x和t都是连续变量。现将x定为自变量,t作为参量,在
连续改变t的情况下我可以得到一系列的一元函数f(x)。我想知道怎么判断这一系列的
一元函数构成一组完备基,使得所有的一元函数都可以展开在这组函数上?
同时,在有限分立空间中有如下结论,如果一个矢量和一组完备基正交,那这个矢量必
然为零矢量,是否在连续空间也有相同的结论?
这应该是泛函范畴的问题,可我没有学过它,所以可能在陈述问题时有不严格或不完全
的地方,请各位多多诲人不倦,非常感谢
g*******a
发帖数: 261
21
来自主题: Mathematics版 - 求助:隐函数中系数的拟合
请问只是一个隐函数,该如何求系数?
我在作太阳能电池的双二极管模型拟和,有大概5个未知参数。由于是整合到测量系统
中的,所以希望能用Labview解决。
Labview可以做非线性显函数拟和,所以我现在的思路是,把原隐函数作为双自变量的
显函数,函数值z每个点都为零,然后拟和出最佳参数。不知道这种方法有什么问题?

量)
m******r
发帖数: 1033
22
多谢回帖。 如果我根本不知道一个命令,如何输入这个命令?
R是我迄今见过最古怪的语言,完全找不到用户手册。 要是你老板让你学一门语言,比
如,spss, matlab, mysql, hive,你怎么办? 我肯定
1.从官网下载用户手册
2.看看数据类型
3.都有什么函数(数值型,字符型)
4.看看例子
我学最流行的hive sql,也是这个思路,两个月以后就可以不依靠数据组的技术支持,
自己处理实际问题了。 (不久前有人说一天就学会了hive sql, 有点夸张,但也不是
没有可能。 原因很简单: 跑到https://cwiki.apache.org/confluence/display/Hive
/LanguageManual+UDF#LanguageManualUDF-DateFunctions 所有函数都写在里面了,
不懂hadoop那些命令? 没关系,半天时间看看用户手册 https://hadoop.apache.org/
docs/r2.7.1/hadoop-project-dist/hadoop-hdfs/HDFSCommands.html 就可以。 只要
用过sql... 阅读全帖
m******r
发帖数: 1033
23
多谢回帖。 如果我根本不知道一个命令,如何输入这个命令?
R是我迄今见过最古怪的语言,完全找不到用户手册。 要是你老板让你学一门语言,比
如,spss, matlab, mysql, hive,你怎么办? 我肯定
1.从官网下载用户手册
2.看看数据类型
3.都有什么函数(数值型,字符型)
4.看看例子
我学最流行的hive sql,也是这个思路,两个月以后就可以不依靠数据组的技术支持,
自己处理实际问题了。 (不久前有人说一天就学会了hive sql, 有点夸张,但也不是
没有可能。 原因很简单: 跑到https://cwiki.apache.org/confluence/display/Hive
/LanguageManual+UDF#LanguageManualUDF-DateFunctions 所有函数都写在里面了,
不懂hadoop那些命令? 没关系,半天时间看看用户手册 https://hadoop.apache.org/
docs/r2.7.1/hadoop-project-dist/hadoop-hdfs/HDFSCommands.html 就可以。 只要
用过sql... 阅读全帖
P*****i
发帖数: 63
24
来自主题: Statistics版 - 与Macro相关的字符函数
看到这一块时感觉好烦呀,困惑有如当年刚见识指针的指针一般。
好吧,我能理解,每个处理普通字符的宏函数都有一个对应处理特殊字符的宏函数,有如%UPCASE之于%QUPCASE。后者的作用就是能无视&和%这两个特殊解析宏的字符。
但当书上这个例子一抛出,楼主便陷入了懵逼中。
%let a=begin;
%let b=%nrstr(&a);
%put UPCASE produces: %upcase(&b);
%put QUPCASE produces: %qupcase(&b);
嵌套的宏解析...
一点点来捋吧。首先,带%的func一定是跟宏相关,要能解析带&后面的字符串参数,将宏替换为相应的值,再以对应的普通函数处理。所以,%UPCASE 就是专门处理宏为参数的UPCASE函数。
在这个例子里,宏a对应的值解析为begin, 宏b的赋值因为无视&的存在,所以解析为&a。
那么,%UPCASE(&b)上来先对&b做解析,得到&a, 然后
下一步呢?
是函数表达式变成了UPCASE(&a), 还是UPCASE(begin)?
但无论是哪个分支,都不大像能得出结果小写的begin啊。
后面Q... 阅读全帖
s***h
发帖数: 487
25
来自主题: Military版 - 接着聊聊解析函数
复函数应该不对应于二维实函数。二维实函数是三维空间里的二维曲面。复函数应该在
四维空间里的二维螺纹面?


: 差不多。解析函数的性质的根本来源是“复可导”,简称可导,但是它是复数域
上的可

: 导。这个可导的要求比二维实函数连续可微还要高。微观上就是柯西黎曼条件。

s***h
发帖数: 487
26
来自主题: Military版 - 接着聊聊解析函数
不同路径积分一直,本身不要求该函数可导吧。比如多变量实函数长个钻石的样子?


: 从一个不可导的实函数,可以通过积分,构建一个一阶可导的实函数。

: 但是在复平面上,怎么定义积分呢?

: 只能要求,通过不同路径的积分,结果应该一样。

: i.e. Cauchy's integral "theorem"

T*******x
发帖数: 8565
27
来自主题: Military版 - 接着聊聊解析函数
不对。解析函数单性定义来看,它就是一个可导复函数。简单不?平凡不?哪有不要求
可导的物理函数啊?但是,就是这么一个简单的要求,却发现它等价于analytic函数。
神奇不?
我再引申一点,这么强的要求的函数,会不会限制了物理结构的复杂度?不会。解析函
数可以构造的物理过程的复杂度没有上限。这是自然界或者数学的神奇。
生命神奇不?你每天都见。
s***h
发帖数: 487
28
来自主题: Military版 - 接着聊聊解析函数
物理量是没有复数的,都是实数。所谓物理复函数都是凑出来的复数,就看你怎么凑。
你说的这种情况,物理往数学凑,你凑不上就没法使用数学工具。
这就好比叔对美腿系花说的甜言蜜语,肉麻到娃在隔壁房间抱怨受不了我们。但这个因
果关系不能搞反,是因为喜欢而甜言蜜语,而不是反过来。索男不明白这点的,给素不
相识的妹纸写甜言蜜语的情书的,悲催了。


: 不对。解析函数单性定义来看,它就是一个可导复函数。简单不?平凡不
?哪有
不要求

: 可导的物理函数啊?但是,就是这么一个简单的要求,却发现它等价于
analytic
函数。

: 神奇不?

: 我再引申一点,这么强的要求的函数,会不会限制了物理结构的复杂度?
不会。
解析函

: 数可以构造的物理过程的复杂度没有上限。这是自然界或者数学的神奇。

: 生命神奇不?你每天都见。
T*******x
发帖数: 8565
29
来自主题: Military版 - 一个解析函数
现在对1/f(z)积分。
在cut1下,符号选为z等于0时函数值为1,而不是-1。取积分路径为绕branch point 1
和2一周,逆时针,branch point 3和4在外面。
这个路径积分是well defined的,因为积分路径完全在函数的定义域之内。
根据函数的解析性,这个积分等于,先沿着实数轴从-R到+R积分,实积分,加上,再从
实数轴R点开始,从复平面上半部分,绕半圆,回到实数轴上-R点,的复积分,再取R趋
于无穷大的极限。
积分的第二部分,绕半圆的部分,当R趋于无穷的时候趋于0。所以整个积分就等于第一
部分的实积分,从负无穷到正无穷。
sympy可以算出解析解,
0.5*gamma(1/4)**2/sqrt(pi),
记为alpha,数值解约等于3.708.
再考虑cut2下,符号还是选z=0时函数值为1。积分路径选顺时针绕branch point 1和4
一周,排除branch point 2和3在外面。这也是well defined,但必须是在cut2下。
根据解析性同理把它表示成一个沿虚数轴的积分,再变成一个普通的实数积分,其结果
是 alpha*i,是一个纯... 阅读全帖
C**o
发帖数: 10373
30
来自主题: Military版 - 一个解析函数
你老婆性舔党委书记是走的什么路径?
盹盹盹

:现在对1/f(z)积分。
:在cut1下,符号选为z等于0时函数值为1,而不是-1。取积分路径为绕branch point
1
:和2一周,逆时针,branch point 3和4在外面。
:这个路径积分是well defined的,因为积分路径完全在函数的定义域之内。
:根据函数的解析性,这个积分等于,先沿着实数轴从-R到+R积分,实积分,加上,再
从实数轴R点开始,从复平面上半部分,绕半圆,回到实数轴上-R点,的复积分,再取R
趋于无穷大的极限。
:积分的第二部分,绕半圆的部分,当R趋于无穷的时候趋于0。所以整个积分就等于第
一部分的实积分,从负无穷到正无穷。
:sympy可以算出解析解,
:0.5*gamma(1/4)**2/sqrt(pi),
:记为alpha,数值解约等于3.708.
:再考虑cut2下,符号还是选z=0时函数值为1。积分路径选顺时针绕branch point 1和
4
:..........
r******l
发帖数: 10760
31
(CS版人气太差,发到这里请教一下各位高手)
如果一个虚函数被用户重载了,我就做一些很费时间的事。但是这个虚函数大部分情况
下不会被用户重载,也就是说大部分用户不会用到这个函数。能否有方法检测该函数是
否被重载呢?
i********w
发帖数: 2223
32
来自主题: MartialArts版 - 请教:随机变量的分布函数问题
【 以下文字转载自 Statistics 讨论区 】
发信人: icebergzjw (喝多感觉真好), 信区: Statistics
标 题: 请教:随机变量的分布函数问题
发信站: BBS 未名空间站 (Fri Feb 26 16:22:07 2010, 美东)
有一个随机变量 (例如 20xx年电汽车电池的大小).
在目前没有什么有用相关信息的情况下(只知道随机变量应属于(0,+inf)), 我需要为它
假设一个看似合理的分布函数.
请问有什么推荐么?
1)我想用正态分布,但是不满足随机变量范围.请问有没有什么modified normal
distribution 符合这个要求吗?
2)Log-normal倒是符合随机变量的要求,可是我没有办法解释为什么选log-normal,不选
其他的
分布函数.(我现在也不知道还有哪些常用的分布函数,它的随机变量是(0,+inf)的).
多谢!
p********i
发帖数: 719
33
来自主题: Thoughts版 - 历史其实是个函数
历史是什么?历史其实是个函数
从小我就对历史典故感兴趣,成年以后虽然从事的是IT行业,可碰到与历史有关的
文章,还是会认真读一读,不论古今中外,古代近代。
渐渐地,随着年龄的增长,对历史产生了一些疑问。比如为什么会有周期律,中国
古代就产生过讲求平等的墨家思想,为什么会昙花一现?古罗马时期就出现过民主共和
体制,为什么半途而废?宗教为什么兴起? 它们的作用是什么?
最终,我发现历史其实是个函数,一个主要和可用耕地,平均亩产量,人口相关的
函数,时间反到不是主要参数。
这里平均亩产量是主要参数,它决定这一定时期的历史走向,是从平均分配到不平
均分配过度的一条曲线,从而决定社会制度是原始社会,奴隶社会,封建社会,还是资
本/社会主义。
所以,历史其实就是食物史,准确一点是食物分配史,或食物分配方案变革史。
历史其实一直被食物这只被忽略的手操控着,所有兴衰更替,恩怨情愁,喜怒哀乐
其实归根结底都是从食物的分配而来。如果有一个神主宰着生物界的话,那这个神就是
食物。
这个函数中的人数有两个量,一个是由土地乘以亩产量再除以人最低需求量的土地
最大供养人数;一个是实际供养人数。这两个量的关系决定了... 阅读全帖
S*********r
发帖数: 4729
34
【 以下文字转载自 EE 讨论区 】
发信人: SmartFarter (喷屁式直升飞猪), 信区: EE
标 题: 求助一个函数模型,急,在线等!
发信站: BBS 未名空间站 (Wed Aug 9 19:36:41 2006)
一个二维函数,f(x,y),函数随着x增长而增长,(不一定要线性,可以是exponential
or log),随着y增长而递减。满足以下两个约束,f(0, y)=0, f(x, 0) = 1,and f(0,
0)=0。
大家帮忙猜想一下,能够什么样的函数形式满足以上约束?
s*******y
发帖数: 558
35
下面这个例子里面 makenull函数传入一个ArrayList的instance, 在函数里把它
设为null, 但是函数返回后, main函数里的这个instance并不为null.
这是为什么阿?
public class test {
public static void makenull(java.util.ArrayList s){
s = null;
}
public static void main(String[] args) {
java.util.ArrayList s = new java.util.ArrayList();
test.makenull(s);
// after test.makenull function, s is NOT null
}
}
r****r
发帖数: 755
36
来自主题: Programming版 - 大家平时是怎么命名变量和函数的?
函数的命名和语法应该清楚地表明函数及其调用者的意图
主要考虑两点:
函数对传入参数的读写权
参数的生命周期
例如
CopyFrom(const T&…) // only for copy
GetNewData(… T& out); // function will write to the argument
Walk(T argp[]); // 明确指出需要数组,会作指针运算,比 Walk(T* argp)语义
清楚;
NoWalk(T* const argp); // 明确函数不作任何指针运算, argp++ 将被compiler视为
非法。
b***y
发帖数: 2799
37
来自主题: Programming版 - [合集] 关于构造函数
☆─────────────────────────────────────☆
xubest (既飞之蜻蜓) 于 (Wed Mar 19 00:19:46 2008) 提到:
比如有程序如下
#include
using namespace std;
class ABC
{
ABC(int a);
~ABC()
}
ABC::ABC(int a)
{
cout< }
ABC::~ABC()
{
}
int main()
{
int OK=1;
ABC abc(OK);
return 0;
}
当定义对象abc的时候,直接把OK传递过去,直接运行构造函数。但是我现在死心眼,
偏偏想要把 “ABC abc(OK)” 这一行拆开写,但是要得到同样结果。
我希望先是
ABC abc;
然后
abc.ABC(OK);
但是这样做是不行的,因为构造函数不能被调用。而我又不想改动构造函数。
所以我的问题就是,如果在先定义了ABC abc的情况下,怎么做才能做到把OK值传递到
构造函数里? 让他运行同样的结果?
I*****y
发帖数: 602
38
可以让C/C++的推出函数调用你的ExitProgram()函数,我记不清出啦。
有一个内部函数可以注册你自己的退出函数。
s*****o
发帖数: 1262
39
来自主题: Programming版 - matlab太老,怎么port新版的函数?
我们实验室用的matlab是07版,很多新的内置函数没有,比如 butter这个函数。请问
我怎么能port这个函数或者调用/适应这个函数?
多谢!!!
a***y
发帖数: 2803
40
来自主题: Programming版 - 你们写过的最长的main函数有多长?
cobol特别有意思,如果写成a-b,那么编译器以为是一个变量"a-b".如果要让a减去b,一
定要写成a - b,這個时候空格是必须的.
以前特别强调代码的简洁性,一个函数里面最好只有一个return,如果写多个return,就
有人觉得写得不够聪明.现在强调的是代码的可维护性,内存现在以gb为单位,但是维护
代码的人可能会跳槽,所以可维护性狠重要.

鼓励许多“技巧”。现在看这些“技巧”有些已经失效,因为软硬件彻底改变了。有些
虽然还有效但并不提倡,因为可读性和可维护性差。
多原则在改变,过去显示器最多显示80列,现在宽得多;过去关键字两边要留空格便于
识别,现在几乎所有编辑器都支持语法高亮;过去提倡匈牙利命名,现在不提倡;过去
提倡使用STL algorithm简化函数体,把实际的操作写在函数外,现在又推出在函数内
嵌入lambda function。虽然都是为了提高可读性,但是不同时代的原则是不一样的。
b***i
发帖数: 3043
41
来自主题: Programming版 - 问一个函数指针的问题,c++
先不讲template, 你可以定义你的函数指针,和map<函数名字,函数指针>
typedef double (*pFun)(double*);
map > funmap;
在你的统一调度的函数中
pFun p = funmap["name"];
double rc=(*p)(x);
g**********t
发帖数: 475
42
我有一个似然函数,是用面向对象的方式写的。现在我想用一个别人用c语言写的子程
序来对我的函数进行优化。由于这个子程序是用c写的,只能接受一个函数指针作为参
数。由于这个子程序比较复杂,不想对其做太多改动。请问如何能把我的类对象封装成
函数指针? 用functor吗?
g**********t
发帖数: 475
43
我有一个似然函数,是用面向对象的方式写的。现在我想用一个别人用c语言写的子程
序来对我的函数进行优化。由于这个子程序是用c写的,只能接受一个函数指针作为参
数。由于这个子程序比较复杂,不想对其做太多改动。请问如何能把我的类对象封装成
函数指针? 用functor吗?
d****n
发帖数: 1241
44
...函数前不加inline,并不代表编译器不会inline这个函数,
类似,函数前加了inline, 并不代表编译器一定会inline这个函数,
inline只是一个hint, 不是“必须”。
d*******r
发帖数: 3299
45
作者:Jim Liu
链接:https://www.zhihu.com/question/63726609/answer/212357616
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
Redux是基于纯函数的,为了保证它的“纯度”,它的reducer函数必须是严格的 S' =
f(S) 的形态,所以,与其说Redux是“状态管理”库,不如说它是“状态转移管理”库
,因为Redux是无状态的,状态是在你的程序里的,你自己维持状态,它只是给你提供
了一个状态转移的统一方式。这使得它的整个模型看起来是非常干净。
而事实上我们在开发实际项目当中可能有小半(maybe大半)的reducer场景其实应该是
S' = await fAsync(S) 的形态,比方说,我点了一个计数器+1的按钮,在一个美丽的
DEMO里,它就+1了,但放到生产需求里,很可能是要先发起一个Ajax请求,请求OK了再
+1,甚至这时候不是+1,而是直接和服务端同步一个新的值。
但异步的reducer就破坏了它的“纯度”,因为异步是不确定的,先发不一定先至,这
会破坏reducer的“... 阅读全帖
a*****e
发帖数: 1700
46
问题不在纯函数,而在于副作用有很多种类(包括无副作用的特例,也即纯函数)。
这都源于类型系统太弱鸡:
1. 异步请求也可以是纯函数,但是类型系统不够强大,无法表达这种条件
或者:
2. Reduction 也可以允许副作用,只要副作用不影响 determinism 就好了。如果类型
系统不够强大,也无法表达这种条件
Untyped 语言(如 Clojure)其实是在说:“随便你怎么写,如果不满足条件的代码被
默认做了非法的优化造成的后果你自己看着办,谁让你这么写来着[摊手]”
归根结底,type is the study of an intrinsic property of
code (without executing it). 不会因为写程序的人的观点而改变
Haskell 的目的不是追求纯函数,而是研究如何用类型系统来学习和安排副作用,从而
写出正确的代码。
m******r
发帖数: 1033
47
其实没有bug, 都能正确执行,但我无法理解下面20多行R代码是怎么跑的,想把里面的
函数打印出来,也打不出来。 以前学C的时候,都有一个watch window, 每跑一步,看
看里面变量如何变化,就逐渐理解程序在干什么。R里面是函数套函数, 我以前都是用
pryr:unenclose 来看看函数里面是什么。 可用在以下的代码,就不灵了。不知道为什
么。
以下代码是来自于Functional Programming in R: Advanced Statistical
Programming for Data Science, Analysis and Finance by Thomas Mailund
我瞎猜可能是这样
第一步:1 +2y +3z
第二步:1 +2*2 +3z
第三部:1 +2*2 +3*3
也有可能是反过来的
第一步x + 2*y +3*3
第二步x + 2*2 +3*3
第三部1+ 2*2 +3*3
curry <- function(f) {
n <- length(formals(f))
cat('how_many_parameters ', n... 阅读全帖
d******c
发帖数: 2407
48
加个browser(),那是个交互R shell,然后可以一步一步往前走看发生了什么,还可以
执行任何命令,检查任何内存变量。
另外我几乎没用过currying,觉得这东西在解决一个根本不重要的问题。
这本书是什么,amazon一个review都没有,作者是个搞bioinfo的,对这种还有packet
的书我都敬而远之。不是不尊敬bioinfo,是搞bioinfo的教人编程感觉不太靠谱。就算
作者是CS背景,但在bioinfo领域编程,整个环境就不是个注重代码质量的环境。
我看重函数编程的是它减少全局性,函数行为完全可预测没有外部因素,把函数组合起
来更灵活,函数比类的粒度更小,灵活性表达力更强。
m******r
发帖数: 1033
49
多谢回答。 这个作者写了三本书,都是关于R的, meta programming, OOP, 还有这本
。 欧洲人,写得可以说比较通俗易懂(比较而言),有时还有图形解释,没找到任何
语法,拼写错误,在这类书里面还是少有的。 反正比R文档强。
R这个东西初学者两大难点,1,每个函数有自己的环境,造个函数就造了个环境; 2.
就是把函数当参数传递。 1其实好理解,类似于local/global 变量; 2如果没有工具
看函数里面的东西,光凭脑子想,就太抽象了。 好比中学讲解什么是f(x), 定义就是
一句话,讲解集合是如何映射到另外一个集合的, 没人听得懂,听懂也不会用。 你得
多讲讲 y=3x , 再听不懂, 就得讲3乘2。
R所谓‘美丽’的地方就是很多代码直接书写f,g,h ,有种看数学书的感觉, ‘丑陋’
之处就她不给你看三乘二是如何实现的. 好比美女,不给你看丑陋的地方,总是让人不
过瘾。

packet
f***t
发帖数: 2247
50
来自主题: Chemistry版 - 求计算单个离子波函数的软件
先谢谢您了,我现在只想计算出离子的波函数和相应的势函数,这其中要考虑到自旋极
化,比如氢负离子,有两个电子,可能是1s2配置,那么自旋向上和自旋向下的波函数
以及相应的势函数是什么,这些软件可以计算吗?
首页 上页 1 2 3 4 5 6 7 8 9 10 下页 末页 (共10页)