小编Max*_*Max的帖子

命令行 matlab 脚本调用给出未定义的变量/类错误

我正在使用命令行 Matlab(即远程 ubuntu linux 工作站)并尝试执行脚本。

当我跑步时:

matlab -nodesktop -nosplash -r "my_script.m"
Run Code Online (Sandbox Code Playgroud)

matlab 将打开并给我一条错误消息,指出

Undefined variable "my_script" or class "my_script.m"
Run Code Online (Sandbox Code Playgroud)

我在 stackoverflow 上发现了一个线程,用户有类似的问题: Matlab: Running an m-file from command-line

但是当我尝试实现建议的语法时:

matlab -nodesktop -nosplash -r "run('my_script.m');"
Run Code Online (Sandbox Code Playgroud)

我现在遇到语法错误,

Unexpected MATLAB expression.

Error in run (line 96)
evalin('caller', [script ';'])
Run Code Online (Sandbox Code Playgroud)

我很少使用 Matlab,更很少使用 oa gui,所以我一直在尝试使用在线留言板中的信息来修复语法,但没有成功。

matlab

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

在日期向量上使用sapply

我有一个向日期添加随机整数的函数:

rand_to_date = function(date){
newdate = as.Date(date) + sample(1:30, 1)
return(as.Date(newdate))
}
Run Code Online (Sandbox Code Playgroud)

效果很好。但是,如果我尝试使用sapply将此功能应用于日期向量,例如

test_dates = c('2001-01-01', '2002-02-02', '2003-03-03', '2004-04-04')
Run Code Online (Sandbox Code Playgroud)

sapply将不会以日期格式返回输出向量:

 sapply(test_dates,rand_to_date)
 2001-01-01 2002-02-02 2003-03-03 2004-04-04 
 11329      11748      12115      12513
Run Code Online (Sandbox Code Playgroud)

相反,lapply将返回日期列表。但是,再次将unlist应用于此输出将为我提供数字而不是日期的向量。也没有

sapply(sapply(test,rand_to_date), as.Date)
Run Code Online (Sandbox Code Playgroud)

工作。我将这些随机日期的向量作为输出的最简单方法是什么?

r

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

标签 统计

matlab ×1

r ×1