String Matlab save不';无法将字符数组检测为字符串

String Matlab save不';无法将字符数组检测为字符串,string,matlab,String,Matlab,我试图通过编程设置要保存在Matlab中的变量的文件名 我的代码如下所示: pat='pat_1'; filename=strcat('mri_realign_BEM_',pat); save(filename, mri_realign); 然后,我检查filename以查看数据类型是否正确: 谁的文件名 名称大小字节类属性 文件名1x16 32字符 到目前为止看起来不错,但是当我尝试执行它时,我得到以下错误: 使用“保存”时出错 参数必须包含字符串 另一方面,如果我尝试使用

我试图通过编程设置要保存在Matlab中的变量的文件名

我的代码如下所示:

   pat='pat_1';
   filename=strcat('mri_realign_BEM_',pat);
   save(filename, mri_realign);
然后,我检查
filename
以查看数据类型是否正确:

谁的文件名
名称大小字节类属性

文件名1x16 32字符

到目前为止看起来不错,但是当我尝试执行它时,我得到以下错误:

使用“保存”时出错
参数必须包含字符串

另一方面,如果我尝试使用
save(filename)
保存工作区,则效果很好

那么,我做错了什么呢?

这应该行得通。 第二个参数必须是变量的名称:

   pat='pat_1';
   filename=strcat('mri_realign_BEM_',pat);
   save(filename, 'mri_realign');
这应该行得通。 第二个参数必须是变量的名称:

   pat='pat_1';
   filename=strcat('mri_realign_BEM_',pat);
   save(filename, 'mri_realign');

那是真的!只要系统允许,我会尽快接受。那是真的!只要系统允许,我会尽快接受。这是一个好主意@excaza确实如此,这是我做的第一件事!然而,文档并没有解决我的问题。我100%确定我的函数中有一个字符串,因为字符数组就是一个字符串。它确实解决了你的问题。它明确声明和输入都必须是字符串。@excaza不,它没有!这个问题就是这一点的充分证明。虽然文档实际上说文件的实际名称需要是字符串,需要保存的变量的名称需要是字符串,但这样做的方式是,尽管至少读了5遍,我还是漏掉了它。在我看来,这是一个写得不好的错误消息和写得不好的文档的组合。直到我在这里看到答案之前,我还不清楚变量名中缺少记号的事实。是的,不,这里的问题不是MATLAB。这些例子也清楚地说明了这一点……这是一个好主意@excaza确实如此,这是我做的第一件事!然而,文档并没有解决我的问题。我100%确定我的函数中有一个字符串,因为字符数组就是一个字符串。它确实解决了你的问题。它明确声明和输入都必须是字符串。@excaza不,它没有!这个问题就是这一点的充分证明。虽然文档实际上说文件的实际名称需要是字符串,需要保存的变量的名称需要是字符串,但这样做的方式是,尽管至少读了5遍,我还是漏掉了它。在我看来,这是一个写得不好的错误消息和写得不好的文档的组合。直到我在这里看到答案之前,我还不清楚变量名中缺少记号的事实。是的,不,这里的问题不是MATLAB。这些例子也清楚地说明了这一点。。。