小编Gac*_*cek的帖子

在MATLAB中创建最大值索引矩阵

使用MATLAB,我有一个大小为8行x N列的值数组.我需要创建一个相同大小的矩阵,它计算每列中的最大值,并在包含最大值的单元格中放置1,在其他地方放置0.

一个小例子.让我们假设我们有一个值数组D:

    D =
      0.0088358   0.0040346   0.40276     0.0053221
      0.017503    0.011966    0.015095    0.017383
      0.14337     0.38608     0.16509     0.15763
      0.27546     0.25433     0.2764      0.28442
      0.01629     0.0060465   0.0082339   0.0099775
      0.034521    0.01196     0.016289    0.021012
      0.12632     0.13339     0.11113     0.10288
      0.3777      0.19219     0.005005    0.40137
Run Code Online (Sandbox Code Playgroud)

然后,这种矩阵D的输出矩阵将是:

    0    0    1    0
    0    0    0    0
    0    1    0    0
    0    0    0    0
    0    0    0    0
    0    0    0    0
    0    0    0    0
    1    0    0    1
Run Code Online (Sandbox Code Playgroud)

有没有办法在没有从max函数中捕获索引的向量然后使用for循环将其放在正确的位置?

matlab max matrix

6
推荐指数
2
解决办法
3535
查看次数

两个表并排在一列LaTeX环境中

问题类似于这个问题:如何在LaTeX中以双列布局显示内容? 但关于并排放置两张桌子.

我有两个小桌子看起来像这样:

\begin{table}[t]
\begin{tabular}{|c|l||r|r||r|r|}
%content goes here
\end{tabular}
\caption{some caption} 
\end{table}

\begin{table}[t]
\begin{tabular}{|c|l||r|r||r|r|}
%content goes here
\end{tabular}
\caption{some caption for second table} 
\end{table}
Run Code Online (Sandbox Code Playgroud)

我有一个单列文档,这些表格非常窄,所以我想并排显示它们(带有单独的标题),一个在另一个下方,有很多未使用的空白区域.

我试着这样做,\multicols但似乎浮动(这里的表)不能放在它里面.

有任何想法吗?

编辑
好的,我做过类似的事情:

\begin{table}[h]
\begin{minipage}[b]{80mm}
\begin{tabular}{|c|l||r|r||r|r|}
%//first table goes here
\end{tabular}
    \caption{some caption for first table} 
\end{minipage}

\begin{minipage}[b]{80mm}
\begin{tabular}{|c|l||r|r||r|r|}
%//second table goes here
\end{tabular}
    \caption{some caption for second table} 
\end{minipage}

 \end{table}
Run Code Online (Sandbox Code Playgroud)

但是无论我设置的小型号是多少,桌子总是使用尽可能多的空间.例如,如果我有80毫米的小型号,标题将限制在这些80毫米,但桌子将更宽.

如果我有两个表,并且一个表只是有点太宽,它就不会在第一个表旁边,而是在下面.

有没有办法将表限制为指定的宽度?或者强迫他们出现在另一个旁边?或者也许如何改变其中一个表的字体大小?

layout latex

6
推荐指数
2
解决办法
3万
查看次数

wkhtmltopdf - 相同的配置不同的输出

我在项目中通过snappy使用wkhtmltopdf.在我的本地计算机上输出正确:https: //www.dropbox.com/s/ml9cp2pa6d8wja5/Zaznaczenie_100.png?dl = 0

但是当我将项目部署到服务器时,pdf看起来非常不同,可能视口的宽度不同:https: //www.dropbox.com/s/8g0c29bzaxltyb9/170311_123139_4775.jpg?dl = 0

两个系统使用完全相同的配置来生成pdf.

我的问题是:

  • 如何检查特定机器上wkhtmltopdf的默认配置?
  • 如何更改视口大小,以便我的输出在不同的机器上完全相同?

我手动设置输出页面的宽度和高度(分别为21厘米和50厘米).我尝试了不同的DPI参数组合,但似乎没有效果.

我使用的是PHP wkhtmltpdf包装- 活泼的 -但我检查,我在控制台中相同的输出,所以这个问题是wkhtmltopdf产权相关,不活泼.

wkhtmltopdf

6
推荐指数
1
解决办法
696
查看次数

使用double数组时内存泄漏

我有一部分代码可以在大型数组上运行double(至少包含大约6000个元素)并执行数百次(通常为800次).

当我使用标准循环时,像这样:

double[] singleRow = new double[6000];
int maxI = 800;
for(int i=0; i<maxI; i++)
{
singleRow = someObject.producesOutput();
//...
// do something with singleRow
// ...
}
Run Code Online (Sandbox Code Playgroud)

内存使用量上升约40MB(从循环开始时的40MB到最后的80MB).

当我强制使用垃圾收集器在每次迭代时执行时,内存使用量保持在40MB的水平(上升是无关紧要的).

double[] singleRow = new double[6000];
int maxI = 800;
for(int i=0; i<maxI; i++)
{
singleRow = someObject.producesOutput();
//...
// do something with singleRow
// ...
GC.Collect()
}
Run Code Online (Sandbox Code Playgroud)

但是执行时间要长3倍!(这很关键)

如何强制C#使用相同的内存区域而不是分配新内存?注意:我可以访问someObject类的代码,所以如果需要,我可以更改它.

c# memory-management

5
推荐指数
1
解决办法
854
查看次数

为什么PHP的浮点数0(零)正在显示符号?

在PHP中,让我们创建一个变量并将其值设置为0:

$x = 0;
echo $x;
Run Code Online (Sandbox Code Playgroud)

它会显示出来0.如果有人将乘以-1:

$x = -1 * $x;
echo $x;
Run Code Online (Sandbox Code Playgroud)

我们仍然看到0.但如果$x是浮动:

$x = 0;
$x = (float)$x;
$x = -1 * $x;
echo $x;
Run Code Online (Sandbox Code Playgroud)

我们得到输出:-0.

这是为什么?不管零的类型是什么,不应该始终显示为无符号?

php floating-point

5
推荐指数
1
解决办法
94
查看次数

如何在不删除"href"属性的情况下避免单击链接

点击某些链接后,我需要延迟一点点重定向到新页面.

现在我正在使用以下jQuery:

$('.menu-element a').click(function(){
    var src = $(this).attr('href');
    $(this).removeAttr('href');             
    anim(src);
})
Run Code Online (Sandbox Code Playgroud)

它工作正常.它运行非常短的动画,然后重定向到点击的页面.

但我想保留href链接的属性(即如果有人点击两次非常快).

当我$(this).attr('href', src);在上面列出的代码末尾添加时,它不会等待动画完成后只需在点击链接后重定向到新页面.

如何保留href属性并避免页面被重定向到新地址?

html jquery javascript-events

4
推荐指数
1
解决办法
1652
查看次数

施放uint - >双无效?

在一些库我创建我必须使用以下演员:

public void Foo(IList<uint> uintsList) // I need to use uint in the interface for this method
{
    List<double> doublesList = uintsList.Cast<double>().ToList();
    // Do something with the doublesList
}
Run Code Online (Sandbox Code Playgroud)

我认为演员uint- > double应该始终有效,在我的考试中它总是很好.

但在应用程序中,使用此方法InvalidCastException发生了.很遗憾,我无法访问此应用程序.所以这是我的问题:

  • 可能导致此异常的原因是什么?铸造uint-> double是否始终有效?
  • 如何保护我的算法以避免此异常?

编辑
当然,在投射之前我总是执行检查以避免在uintsList为空或空时的情况

编辑2 好了,问题解决了,我用ConvertAll方法改变了演员,但我还是不明白它怎么会发生?
所以这个问题仍困扰着我:代码的相同部分如何在我的计算机上正常运行,并在另一部分抛出异常?不同的编译器/环境版本?一些具体的设置?任何人都可以告诉我,我应该在哪里寻找这种情况的原因,以避免将来出现这种情况?

c# generics

2
推荐指数
2
解决办法
1527
查看次数

简单的时间分析 - 奇怪的时间

我正在尝试分析我的代码以检查执行代码的某些部分需要多长时间.

我把代码中最费时的部分包装成了这样的东西:

DateTime start = DateTime.Now;
...
... // Here comes the time-consuming part
... 
Console.WriteLine((DateTime.Now - start).Miliseconds);
Run Code Online (Sandbox Code Playgroud)

程序正在执行这部分代码几秒钟(大约20秒),但在控制台中我得到的结果约为800毫秒.为什么会这样?我究竟做错了什么?

c#

2
推荐指数
2
解决办法
4819
查看次数

videojs 播放器 + 谷歌 IMA 广告 - 如何订阅事件

我正在尝试使用video.js带有 google IMA 插件的播放器运行一些测试代码

我使用了插件作者提供的一个简单示例:https : //github.com/googleads/videojs-ima/tree/master/examples/simple

现在我尝试订阅一些广告播放器事件。

我尝试通过以下方式订阅事件(原始示例代码第 48 行以上的更改):

player.one(startEvent, function() {

    player.ima.onAdStarted_ = function(){
        console.log("Ad started");
    }

    player.ima.onAdPlayPauseClick_ = function(){
        console.log("Ad clicked");
    }

    player.ima.onAdComplete_ = function(){
        console.log("Ad completed");
    }

    player.ima.initializeAdDisplayContainer();
    player.ima.requestAds();
    player.play();
});
Run Code Online (Sandbox Code Playgroud)

它正确捕获事件,但主播放器坏了:广告完成后,IMA 控件没有被禁用(它们覆盖了主播放器的控件),我们无法控制视频。

我想我不小心覆盖了 IMA 的一些事件,它不能正常工作。

我还尝试添加这样的事件侦听器:

player.one(startEvent, function() { 


    player.ima.initializeAdDisplayContainer();
    player.ima.addEventListener("click",function(){
        console.log("Ad clicked");
    });

    player.ima.addEventListener(google.ima.AdEvent.Type.STARTED,function(){
        console.log("Ad started");
    });

    player.ima.addEventListener(google.ima.AdEvent.Type.ALL_ADS_COMPLETED, function(){
        console.log("Ad completed");
    });
    player.ima.requestAds();
    player.play();
});
Run Code Online (Sandbox Code Playgroud)

但它不起作用。

是否有适当的方法来订阅 IMA 的事件,主要是“广告开始”、“广告点击”和“广告结束”事件?

javascript video.js google-ima

2
推荐指数
1
解决办法
4549
查看次数

从 MySQL 中的 JSON 对象中提取密钥对值

从 MySQL JSON 数据字段中,我从数组中提取数据,如下所示:

\n
SELECT \ndata ->> \'$.fields[*]\' as fields \nFROM some_database...\n
Run Code Online (Sandbox Code Playgroud)\n

返回:

\n
[{\n"id": 111056, \n"hint": null, \n"slug": "email", \n"label": "E-mail", \n"value": null, \n"field_value": "test@example.com", \n"placeholder": null\n}, {\n"id": 111057, \n"hint": null, \n"slug": "name", \n"label": "Imi\xc4\x99", \n"value": null, \n"field_value": "Aneta", \n"placeholder": null\n}]\n
Run Code Online (Sandbox Code Playgroud)\n

我还可以提取单列:

\n
[{\n"id": 111056, \n"hint": null, \n"slug": "email", \n"label": "E-mail", \n"value": null, \n"field_value": "test@example.com", \n"placeholder": null\n}, {\n"id": 111057, \n"hint": null, \n"slug": "name", \n"label": "Imi\xc4\x99", \n"value": null, \n"field_value": "Aneta", \n"placeholder": null\n}]\n
Run Code Online (Sandbox Code Playgroud)\n

并返回以下结果:

\n
[test@example.com, Aneta]\n …
Run Code Online (Sandbox Code Playgroud)

mysql database mysql-json

2
推荐指数
1
解决办法
2759
查看次数