小编Tim*_*Tim的帖子

MATLAB引擎与MATLAB编译器创建的库相比?

要用C或C++调用MATLAB代码,如何选择使用MATLAB引擎和使用MATLAB Compiler mcc从MATLAB代码创建C或C++共享库?它们的优缺点是什么?有关第二种方法,请参阅http://www.mathworks.com/access/helpdesk/help/toolbox/compiler/f2-9676.html

还有其他方法可以从C或C++调用MATLAB吗?

c c++ matlab matlab-engine matlab-compiler

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

运行时确定C++的类型

我想知道是否可以将类型确定为C++中的运行时信息.

(1)虽然我的问题很笼统,但为简单起见,我将从一个简单的例子开始:

 #include <stdio.h>  
 #include <iostream>  
 #include <cstring>  
 using namespace std;  
 int main(int argc, char * argv[])  
 {  
 if (strcmp(argv[1], "int")==0)   
 {  
     int t = 2;   
 }else if (strcmp(argv[1], "float")==0)  
 {  
     float t = 2.2; 
 } 
 cout << t << endl;  // error: ‘t’ was not declared in this scope
 return 0;  
 }
Run Code Online (Sandbox Code Playgroud)

对于此示例,有两个问题:

(a)"argv [1] to t"是错误的,但C字符串argv [1]中的类型信息是否可以转换为实际的类型关键字?所以我们不需要通过if-else子句和strcmp检查每种类型.

(b)如何在if子句的局部范围内定义的变量t仍在外部有效.即如何将局部变量"导出"到其范围之外?

(2)一般来说,不是特定于上面的简单示例,运行时确定类型的常用方法是什么?在我看来,可能有一些方法:

(a)可以将类型定义的变量的处理放在同一范围内定义.例如

 #include <stdio.h>  
 #include <iostream>  
 #include <cstring>  
 using namespace std;  
 int main(int argc, char * argv[])  
 {  
 if (strcmp(argv[1], …
Run Code Online (Sandbox Code Playgroud)

c++ types runtime

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

在逻辑变量向量中检查和计算零或一的有效方法

在Matlab中,给定一个逻辑向量,例如,v> 0创建一个逻辑向量,其中v是一个数值向量,分别是有效的方法是什么

(1)检查是否有零?

(2)检查其中是否有一个?

(3)算一下里面有多少个零?

(4)算一下里面有多少个?

谢谢!

matlab

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

如何在R的情节标题中显示$\{X_t \} $

如何在R的情节标题中显示$\{X_t \} $ Latex?

例如

 plot(slot(x,"GRID"),slot(x,"PATH"),type="l", xlab="Time t",ylab="X",
 main=paste("Simulation of \{X_t\}"))
Run Code Online (Sandbox Code Playgroud)

谢谢!

r plotmath

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

在R中构造动态大小的数组

我想知道在R中构造动态大小数组的方法是什么.

举个例子,我想构造一个n向量,但它的维数n是动态确定的.以下代码将起作用:

> x=NULL  
> n=2;   
> for (i in 1:n) x[i]=i;  
> x  
[1] 1 2  
Run Code Online (Sandbox Code Playgroud)

再举一个例子,我想构造一个by 2矩阵,其中行数n是动态确定的.但即使分配第一行我也失败了:

> tmp=c(1,2)  
> x=NULL  
> x[1,]=tmp  
Error in x[1, ] = tmp : incorrect number of subscripts on matrix  
> x[1,:]=tmp   
Error: unexpected ':' in "x[1,:"  
Run Code Online (Sandbox Code Playgroud)

感谢致敬!

r

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

mro命令深度优先还是广度优先?

来自Python中的Nutshell

在类中查找属性名称主要是通过从左到右,深度优先顺序访问祖先类来实现的

然而,

>>> class A(object): x = 'a'
... 
>>> class B(A): pass
... 
>>> class C(A): x = 'c'
... 
>>> class D(B, C): pass
... 
>>> D.x
'c'
>>> D.__mro__
(<class '__main__.D'>, <class '__main__.B'>, <class '__main__.C'>, 
    <class '__main__.A'>, <type 'object'>)
Run Code Online (Sandbox Code Playgroud)

D.__mro__列出的类不是深度优先顺序,而是广度优先顺序.所以我误解了什么?谢谢.

python python-3.x

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

我们如何在不使用“psql”命令或选项的情况下显示集群中的所有数据库?

/sf/answers/54031631/提供了一种通过信息模式显示数据库中定义的所有表的方法。由于信息模式是每个数据库的,我想它对于显示集群中的所有数据库没有用?

您将如何以可比较的方式显示集群中的所有数据库,即不使用 的psql命令或选项?

谢谢。

postgresql

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

“postgres”是 PostgreSQL 的默认特殊用户吗?

  1. 第 21 章数据库角色列出了 PostgreSQL 的默认角色。但我在那里找不到用户postgres,该用户是 PostgreSQL 默认创建的。是postgres默认角色吗?是手册遗漏了还是我误解了?

  2. 在 PostgreSQL 中,是postgres特殊用户,还是像手动创建的普通用户一样?PostgreSQL 服务器需要用户吗postgres?删除它会不会给服务器带来一些麻烦或者其他什么问题?

  3. 在psql中运行的以下两个命令提供默认角色或用户名,其中都包含postgres. 为什么它们不同?

    # select usename from pg_catalog.pg_user;
    
     usename
    ----------
     postgres
    (1 row)
    
    # select rolname from pg_catalog.pg_roles;
    
           rolname
    ----------------------
     postgres
     pg_monitor
     pg_read_all_settings
     pg_read_all_stats
     pg_stat_scan_tables
     pg_signal_backend
    (6 rows)
    
    Run Code Online (Sandbox Code Playgroud)

postgresql

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

为什么输出不能跟随输入,反之亦然?

来自APUE

当打开文件进行读写(类型中的加号)时,有两个限制.

•如果没有干预fflush,fseek,fsetpos或倒带,输出不能直接输入.

•输入不能直接跟随输出而没有介入的fseek,fsetpos或倒带,或者遇到文件结束的输入操作.

为什么在这两种情况下"fseek,fsetpos或倒带"?

为什么在第二种情况下"输入操作遇到文件结束"?

谢谢.

Linux API的一个类似问题是可以`read()`直接后跟`read()`和`read()`的`write()`?

c linux

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

编译器可以将`execl(prog,arg,(void*)0)`中的`(void*)0`转换为适当类型的空指针吗?

来自Linux编程接口

execl(prog, arg, (char *) 0);
execl(prog, arg, (char *) NULL);
Run Code Online (Sandbox Code Playgroud)

铸造 NULL 在上述上次通话的方式,一般要求,甚至 在其中实现 NULL 被定义为(void *) 0.

这是因为,虽然C标准要求不同类型的空指针在相等性比较时应该测试为真,但它们不要求不同类型的指针具有相同的内部表示(尽管在大多数实现中它们都这样).
并且, 在可变参数函数中,编译器无法强制(void *) 0 转换为适当类型的空指针.

在C类标准有一个例外的规则,不同类型的指针不必具有相同的表示:指针的类型char *,并void *须具有相同的内部表示.这意味着在示例的情况下传递(void *) 0 代替(char *) 0不会成为问题 execl(),但是,在一般情况下,需要强制转换.

  1. " NULL 通常需要以上述最后一次电话的方式进行投射 "

    C标准是否要求空指针表示为(char*) 0

  2. "在变量函数中,例如execl(),编译器无法强制(void *) 0转换为适当类型的空指针."

    (void *) 0不是一个类型的空指针?

    如果是的话,为什么不能编译投(void *) 0execl(prog, arg, (void*) 0) …

c posix pointers null-pointer

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