Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matrix 如果加载的文件(倍频程)中不存在,则为变量赋值为零_Matrix_Octave_Mat - Fatal编程技术网

Matrix 如果加载的文件(倍频程)中不存在,则为变量赋值为零

Matrix 如果加载的文件(倍频程)中不存在,则为变量赋值为零,matrix,octave,mat,Matrix,Octave,Mat,Case1.Mat文件包含 X Y Z 2 6 3 3 7 4 4 8 6 5 9 8 我刚刚展示了简化问题的示例,但是在我的示例中,Mat文件包含>300个变量,并且对于每种情况,变量的数量都会发生变化。因此,我定义了一个包含所有变量的标签矩阵。在上面的示例中,变量“V”不在.mat文件中,因此它会导致错误并停止执行。 我试图计算每个变量(列)的最大值。我的问题是,每当我遇到这样一种情况,即“labels”中定义的变量不在加载的.Mat文件中,那么该变量值(在本例中为“

Case1.Mat文件包含 X Y Z 2 6 3 3 7 4 4 8 6

5 9 8
我刚刚展示了简化问题的示例,但是在我的示例中,Mat文件包含>300个变量,并且对于每种情况,变量的数量都会发生变化。因此,我定义了一个包含所有变量的标签矩阵。在上面的示例中,变量“V”不在.mat文件中,因此它会导致错误并停止执行。 我试图计算每个变量(列)的最大值。我的问题是,每当我遇到这样一种情况,即“labels”中定义的变量不在加载的.Mat文件中,那么该变量值(在本例中为“V”)应指定为零(双精度),以便我的Nrow应为“4”,我的“ResMat”应类似于此ResMat=[5;9;8;0] 我是这个编程环境的新手,所以请原谅我提出这个问题的方式

回复后
案例1 错误:第8行第33列附近未定义“oflv3”

错误:从procsMax3第8行第6列调用
在上述情况下,Lv3不在.Mat文件中

可以使用
exist
检查变量是否存在,如果未定义该变量,则指定一个默认值

if ~exist('V', 'var')
    V = 0;
end
不过,更好的方法是指定一个输出到
load
,这样所有变量都被指定为
struct
中的字段,这样您就不必担心覆盖用户工作区中已经存在的变量或其他许多可能的问题。在这种情况下,您可以使用
isfield
检查文件中是否存在
V
,并在需要时替换为默认值

data = load(filename);

if ~isfield(data, 'V')
    data.V = 0;
end

Mat文件包含X=[{2;3;4;5}];Y=[{6;7;8;9}];Z=[{3;4;6;8}];对不起,早些时候还不清楚。谢谢,这是一个很快的答复。我感谢你的答复。此外,我得到以下错误。Case1_lg.MAT错误:第8行第33列附近未定义“oflv3”错误:从第8行第6列的procsMax3调用,i=1的常数;对于j={'lg'};filename=strcat(“Case”,sprintf(“%d”,i),“u”,j{},.MAT”);加载(文件名);显示(文件名);Ncol=1;label=[{vBrfrda;vBrfrdb;vBrfrdc;oflv3}];如果~isfield(标签'V')data.V=0;endif Nrow=numel(标签);ResMat=一(Nrow,Ncol);对于k=1:Nrow;ResMat(k,i)=max(标签{k,i});end(oflv3不在MAT文件中)@MunjiKiran您显然缺少名为
oflv3
的变量。你必须按照我在回答中的方式检查你需要的每个变量
if ~exist('V', 'var')
    V = 0;
end
data = load(filename);

if ~isfield(data, 'V')
    data.V = 0;
end