我有两个新式的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.
但是,如果我颠倒顺序: …
我有一个有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)
但实际上查看所有信息让我感到困惑.我知道这应该很简单,但我在这里打了一堵墙.
我有一个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字段(不丢失表中的当前数据).除了删除和重新创建表之外,我该怎么做?
我有一个提供基于Web的RESTful接口的数据提供程序.我正在尝试将这些数据导入Matlab.界面相对简单,但我仍然在寻找那些有任何经验的人吗?该服务本身不提供SOAP/WSDL,Matlab可以轻松使用它.供应商有一个"适配器",你可以安装在一台机器上(基本上是一个带有某种"插件"的Appache/Tomcat安装)作为提供这些服务的中介,但由于很多原因,它将是很难在我的公司设立.
我有这张桌子:
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) 当我在 ubuntu 16.04 上安装带有 python 3 的软件包时,它们会安装到我的本地用户 ~/.local/lib/python3.5/site-packages 中。如何强制 pip 安装到系统范围的站点包?
我正在尝试使用pip3 install <pkg>
谢谢。
这不是如何使我的 Python 模块在 Linux 上的系统范围内可用?- 因为这是关于创建您自己的模块,而不是 pip 用于 Pypi 模块的奇怪方式。实际上,除了它们都处理模块之外,还差得远。
因此,我参考了使用的代码库Conda Develop <path>。现在,我们使用 git 子模块将该代码移动到子目录。我想删除该路径条目,以验证切换是否发生。想法?
我正在测试一个任意大的,任意大小的逻辑数组,我想知道它们中是否有一个或多个是真的.any()一次仅适用于单个维度,也是如此sum().我知道我可以测试尺寸的数量并重复,any()直到我得到一个答案,但我想要一个更快,更坦率,更优雅的方法.
想法?
我正在运行2009a(R17,用旧的说法,我认为).
我有一张“瘦高”事实表:
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() 函数只允许键列。
有任何想法吗?
在MATLAB的新对象模型(classdef等)中:如果我有一个对象的数组,并且我调用普通方法,那么为每个对象或整个数组调用的方法,即传递给方法的单个对象,还是整个阵列?我知道在旧模型中,它被派遣为整个阵列.
matlab ×4
postgresql ×3
matlab-class ×2
sql ×2
anaconda ×1
any ×1
arrays ×1
crosstab ×1
duplicates ×1
matrix ×1
oop ×1
oracle ×1
pip ×1
polymorphism ×1
python ×1
python-3.x ×1
rest ×1
select ×1
ubuntu ×1
ubuntu-16.04 ×1
web-services ×1