小编Mar*_*arc的帖子

Matlab多态性

我有两个新式的MATLAB类 - B&C,它们都是抽象父类的具体子类A. A是hgsetset(句柄类)的子类.我想将它们放在MATLAB中的数组中,并将它们视为As.它们大致定义为:

classdef A <hgsetget
methods
    function foo(this)
        %does some common stuff, then
        this.fooWorker;
    end
end %public Methods
methods(Abstract, Access=protected)
    fooWorker(this);
end %abstract Methods;
end

classdef B < A
methods(Access=protected)
    function fooWorker(this)
        %implementation
    end
end %protected Methods;
end
Run Code Online (Sandbox Code Playgroud)

但是,如果我这样做:

arr = [b c]; % where b & c are objects of type B & C respectively.
arr(1).foo;
arr(2).foo;
Run Code Online (Sandbox Code Playgroud)

MATLAB将告诉我两者都是类型B,如果我从A两个实现(foo)调用抽象方法,它实际上执行两个副本b.

但是,如果我颠倒顺序: …

oop polymorphism matlab matlab-class

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

查看oracle中重复行的所有数据

我有一个有6列的表:

  • id
  • name
  • type_id
  • code
  • lat
  • long

前三个是必需的. ID是私钥,自动插入序列.

我有一些重复的行,由BOTH定义name并且type_id相等,但我想查看欺骗的所有数据.我可以简单地找到傻瓜:

SELECT   name 
       , type_id
FROM   table1
GROUP BY name 
         , type_id
HAVING COUNT(*) > 1
Run Code Online (Sandbox Code Playgroud)

但实际上查看所有信息让我感到困惑.我知道这应该很简单,但我在这里打了一堵墙.

oracle select duplicates

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

从postgresql字段中删除自动增量

我有一个db中的现有表,其他几个FK,SQL如下:

CREATE TABLE forecastsource (
    source_id integer DEFAULT nextval(('public.forecastsource_source_id_seq'::text)::regclass) NOT NULL,
    source_name character varying NOT NULL
);
Run Code Online (Sandbox Code Playgroud)

我想从id字段中删除自动增量,然后将其移动到一个int字段(不丢失表中的当前数据).除了删除和重新创建表之外,我该怎么做?

sql postgresql auto-increment

7
推荐指数
1
解决办法
4579
查看次数

如何在Matlab中使用RESTful webservices

我有一个提供基于Web的RESTful接口的数据提供程序.我正在尝试将这些数据导入Matlab.界面相对简单,但我仍然在寻找那些有任何经验的人吗?该服务本身不提供SOAP/WSDL,Matlab可以轻松使用它.供应商有一个"适配器",你可以安装在一台机器上(基本上是一个带有某种"插件"的Appache/Tomcat安装)作为提供这些服务的中介,但由于很多原因,它将是很难在我的公司设立.

rest matlab web-services

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

为什么 Postgres 不使用 Distinct 的索引?

我有这张桌子:

CREATE TABLE public.prodhistory (
  curve_id           int4 NOT NULL,
  start_prod_date    date NOT NULL,
  prod_date          date NOT NULL,
  monthly_prod_rate  float4 NOT NULL,
  eff_date           timestamp NOT NULL,
  /* Keys */
  CONSTRAINT prodhistorypk
    PRIMARY KEY (curve_id, prod_date, start_prod_date, eff_date),
  /* Foreign keys */
  CONSTRAINT prodhistory2typecurves_fk
    FOREIGN KEY (curve_id)
    REFERENCES public.typecurves(curve_id)
) WITH (
    OIDS = FALSE
  );

CREATE INDEX prodhistory_idx_curve_id01
  ON public.prodhistory
  (curve_id);
Run Code Online (Sandbox Code Playgroud)

约 4200 万行。

我执行这个查询:

SELECT DISTINCT curve_id FROM prodhistory
Run Code Online (Sandbox Code Playgroud)

鉴于索引,我希望这会非常快。但不,270 秒。所以我解释,我得到:

HashAggregate  (cost=824870.03..824873.08 rows=305 width=4) (actual time=211834.018..211834.097 rows=315 loops=1)   
  Output: …
Run Code Online (Sandbox Code Playgroud)

sql postgresql

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

强制 pip 安装在系统站点包中?

当我在 ubuntu 16.04 上安装带有 python 3 的软件包时,它们会安装到我的本地用户 ~/.local/lib/python3.5/site-packages 中。如何强制 pip 安装到系统范围的站点包?

我正在尝试使用pip3 install <pkg>

谢谢。

这不是如何使我的 Python 模块在 Linux 上的系统范围内可用?- 因为这是关于创建您自己的模块,而不是 pip 用于 Pypi 模块的奇怪方式。实际上,除了它们都处理模块之外,还差得远。

python ubuntu pip ubuntu-16.04

5
推荐指数
0
解决办法
2710
查看次数

删除使用 Conda Develop 添加的路径/代码

因此,我参考了使用的代码库Conda Develop <path>。现在,我们使用 git 子模块将该代码移动到子目录。我想删除该路径条目,以验证切换是否发生。想法?

python-3.x anaconda

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

如何在多维数组上使用any()?

我正在测试一个任意大的,任意大小的逻辑数组,我想知道它们中是否有一个或多个是真的.any()一次仅适用于单个维度,也是如此sum().我知道我可以测试尺寸的数量并重复,any()直到我得到一个答案,但我想要一个更快,更坦率,更优雅的方法.

想法?

我正在运行2009a(R17,用旧的说法,我认为).

arrays matlab matrix multidimensional-array any

3
推荐指数
1
解决办法
226
查看次数

具有多个“行名称”列的 Postgresql 交叉表查询

我有一张“瘦高”事实表:

CREATE TABLE facts(
    eff_date timestamp NOT NULL,
    update_date timestamp NOT NULL,
    symbol_id int4 NOT NULL,
    data_type_id int4 NOT NULL,
    source_id char(3) NOT NULL,
    fact decimal
 /* Keys */
  CONSTRAINT fact_pk
    PRIMARY KEY (source_id, symbol_id, data_type_id, eff_date),
)
Run Code Online (Sandbox Code Playgroud)

我想“透视”这个报告,所以标题看起来像这样:

eff_date, symbol_id, source_id, datatypeValue1, ... DatatypeValueN
Run Code Online (Sandbox Code Playgroud)

即,对于 eff_date、symbol_id 和 source_id 的每个唯一组合,我想要一行。

但是,postgresql crosstab() 函数只允许键列。

有任何想法吗?

postgresql crosstab postgresql-9.4

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

对象数组方法调度

在MATLAB的新对象模型(classdef等)中:如果我有一个对象的数组,并且我调用普通方法,那么为每个对象或整个数组调用的方法,即传递给方法的单个对象,还是整个阵列?我知道在旧模型中,它被派遣为整个阵列.

matlab matlab-class

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