我很好奇如何绘制定义如下的函数:
if(x < 1)
f(x) = x/10 * 1.2
if(x < 3)
f(x) = x/12 * 1.7
...
else
f(x) = x/15 * 2
Run Code Online (Sandbox Code Playgroud)
如果函数很简单,比如f(x)= x/10*x/5,则没有问题,可以使用curve()方法.但是我不确定处理更复杂功能的最佳方法是什么,如上所述.有任何想法吗?奖励积分,如果可以使用ggplot():)
我知道有一些类似的问题.然而,在阅读了答案并对该主题进行了讨论之后,我仍在努力在浏览器中显示俄语字母.我将它们存储在.csv文件中(以UTF-8编码,没有BOM).在我的php文件中读取.csv(也是以UTF-8编码无BOM)我声明了charset:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Run Code Online (Sandbox Code Playgroud)
要打开并遍历.csv文件,我使用以下代码:
if(($handle = fopen($path, "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, $delimiter)) !== FALSE) {
...
}
}
Run Code Online (Sandbox Code Playgroud)
并且没有显示任何内容或类似的内容:
-ам-Зее
Run Code Online (Sandbox Code Playgroud)
代替
?????-??-???
Run Code Online (Sandbox Code Playgroud)
任何想法我还能尝试什么?
更新:
将浏览器编码设置为UTF-8后,我得到正确的俄语字母.但是仍然有些文本根本没有显示.我怀疑我在阅读.csv文件时做了一些不切实际的事情,简化版本是:
if(($handle = fopen($path, "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, $delimiter)) !== FALSE) {
echo $data[1];
}
}
Run Code Online (Sandbox Code Playgroud)
(我省略第一列并显示第二列的内容,它总是被填充)
这对我来说真的很直观,为什么在flush()之后内存增加而不是减少?我找不到任何有用的文档。我每隔50次循环刷新一次,每次刷新内存使用量增加1MB之后。100次冲洗将使用100MB!我在这里想念什么?我已经在doctrine的网站示例中看到了clear(),但是如果使用它,我会遇到一个例外,即我的对象之一没有级联持久化设置。谁能解释我在幕后做了什么,我应该怎么做才能正确地摆放所有教义的物体?
我很好奇为什么当我.live()用.on()我的事件替换后,通过html()方法插入AJAX的响应后不起作用.假设我有html结构:
<div class="a">
<a href="" class="alert-link">alert</a>
<a href="" class="ajax-update">update</a>
</div>
Run Code Online (Sandbox Code Playgroud)
和jquery代码类似:
$('.alert-link').on("click", function(){
alert('abc');
return false;
});
Run Code Online (Sandbox Code Playgroud)
和ajax-update将触发请求,响应将是
警报更新
我会插入它parent().然后再次按下alert-link将导致重定向到/但如果我改为.on(),.live()那么将再次显示警报.我在这里错过了什么?我已经读到这.on()是替换.delegate()和.live().
我不确定这是否可行,但我需要做一个肮脏的黑客.假设我从cli调用php
php script.php one two
Run Code Online (Sandbox Code Playgroud)
然后在script.php中我正在用two参数做一些事情,然后我想删除它,所以后来考虑的第三方代码,初始命令是
php script.php one
Run Code Online (Sandbox Code Playgroud)
我尝试过unset($argv[2]),unset($GLOBALS['argv'][2])但这不起作用.它毕竟可能是我想要做的吗?
更新:不起作用=我从第三方代码中获得异常"参数太多"
更新:当然它应该是argv [1],但它只是在这个问题上的拼写错误,而不是实际问题.请假设我写了argv [1] :)
为什么10 ^(1/4)是10?我应该使用哪种功能来获得正确的结果?
我的测试线是:
echo (10^(100/400)). " vs " . 10;
Run Code Online (Sandbox Code Playgroud)
我的输出是
10 vs 10
Run Code Online (Sandbox Code Playgroud)
编辑:
谢谢你的回答,我会用pow()
我有这个代码:
x <- seq(-600, 600, length=10000)
dat1 <- data.frame(x=x, SD=400, val = (1/(1+10^(-x/400))))
dat2 <- data.frame(x=x, SD=200, val = (1/(1+10^(-x/200))))
dat3 <- data.frame(x=x, SD=600, val = (1/(1+10^(-x/600))))
dat <- rbind(dat1, dat2, dat3)
ggplot(data=dat, aes(x=x, y=val, colour=SD)) + geom_line(aes(group=SD))
Run Code Online (Sandbox Code Playgroud)
我所期望的是有3条曲线而且我这样做.然而,图例显示有6条曲线 - 对于SD 100,200,300,400,500,600而不是200,400,600.为什么这样,我该如何解决这个问题?
我遇到了Array方法的奇怪行为,我想知道是否有任何理由呢?对我来说,它看起来像Ruby中的一个错误:
Array(1)
[1]
Array('')
[""]
Array({})
[] # ???
Array(nil)
[] # ???
Run Code Online (Sandbox Code Playgroud)
当我通过nil或传递{}给Array时,我希望得到一个带有一个元素的数组,相反,我有一个空数组.请注意,当我传递一个空字符串时,它正确(在我看来)返回一个包含一个元素的数组.谁能解释这种行为背后的逻辑?
我预计:
Array(nil) # => [nil]
Array({}) # => [{}]
Run Code Online (Sandbox Code Playgroud)
这符合:
Array('') # => ['']
Run Code Online (Sandbox Code Playgroud)
或者另一个合理的行为是:
Array('') # => []
Run Code Online (Sandbox Code Playgroud)
与以下内容"一致":
Array(nil) # => []
Array({}) # => []
Run Code Online (Sandbox Code Playgroud)