小编Ahm*_*laf的帖子

在MatLab中修剪二进制矩阵

我有一个像这样的二进制矩阵:

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

我想修剪这个矩阵(换句话说,删除边界处的零)就像:

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

如何做到这一点的"Matlab"方式?这不是使用传统的循环和条件.

更清楚的是,矩阵应该从第一列开始减少,该第一列至少有一个1,并且在具有相同条件的最后一列结束时包括在内.应删除此范围之外的任何列.相同的规则适用于行.

谢谢.

matlab

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

以编程方式在Android中创建ImageView

我按照这个来创建一个简单的动画.

该示例ImageView在主布局中手动创建,具有这样的资源android:src="@anim/anim_android

问题是,当我创建动态ImageView,并且我像这样设置资源时myImageView.setImageResource(R.anim.anim_android);,动画不起作用,只是查看序列的第一个图像.

有帮助吗?

谢谢.

android android-animation android-imageview

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

RabbitMQ - 如何检查队列是否为空?

我有一个Web服务接口抽象RabbitMQ服务器(不要问我为什么,我知道这是一个不必要的步骤,但我必须).也就是说,我通过Web服务调用从队列中轮询消息,而不是直接通过amqp.

通过basic.consumer块消耗执行线程直到队列中有消息.这使得Web服务无法返回.

插图代码:

    $connection = new AMQPStreamConnection('localhost', 5672, 'guest', 'guest');
    $channel = $connection->channel();

    $channel->queue_declare(QUEUE_NAME, false, true, false, false);
    $ret = array('body' => '');

    $callback = function($msg) use ($channel, &$ret) {
        $ret['body'] = $msg->body;
        /*
        Here I would basic.cancel the consumer if there were no messages in the queue
        */
    };

    $channel->basic_consume(QUEUE_NAME, 'tag', false, true, false, false, $callback);

    if (count($channel->callbacks)) {
        $channel->wait(); // blocks here...
    }

    return $ret;
Run Code Online (Sandbox Code Playgroud)

php rabbitmq php-amqplib

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