MATLAB 函数 open 在工作区中有效,但在函数中无效

Posted

技术标签:

【中文标题】MATLAB 函数 open 在工作区中有效,但在函数中无效【英文标题】:MATLAB function open works in workspace, but not in function 【发布时间】:2013-04-30 04:21:54 【问题描述】:

我正在尝试使用 MATLAB 创建视频文件。这是我的功能:

function [vidObj] = createVideo(frames, frameRate, filename)

%Create video object
num_frames = size(frames,2);
vidObj = VideoWriter(filename);
vidObj.Quality = 100;
vidObj = frameRate;
open(vidObj);

%some more stuff...

问题是 MATLAB 在调用 open(vidObj) 时总是给我一个错误说

Error using open (line 69)
NAME must contain a single string.

我的字符串很简单...只是“test_video.avi”。但它不起作用。我还尝试进入函数并用文字字符串替换“文件名”。

奇怪的是,当我只是在命令窗口中输入命令时,它工作正常。为什么?我怎样才能在函数中完成这项工作?

【问题讨论】:

【参考方案1】:

您似乎正在用vidObj = frameRate; 行覆盖您的视频对象vidObj

尝试用vidObj.FrameRate = frameRate;替换。

【讨论】:

以上是关于MATLAB 函数 open 在工作区中有效,但在函数中无效的主要内容,如果未能解决你的问题,请参考以下文章

C++中CFile open函数怎么创建不了文件

MATLAB + Mex + OpenCV:链接和编译正确,但在运行时找不到库

ORA-00942: 表或视图不存在(在单独的 sql 中有效,但在 oracle 函数中无效)

IE 说 javascript 函数未定义,但在 Chrome 中可以正常工作

使用 RcppArmadillo 在矩阵的列上应用函数有效,但在应用于行时返回错误

MusicSequenceFileLoad 在 Playgrounds 中有效,但在 Project 中无效