.mat ֆայլից տվյալներ գծագրելիս, եթե ես սկրիպտից տողերը մեկ առ մեկ մուտքագրում եմ, լավ է աշխատում... բայց երբ փորձում եմ սկրիպտը գործարկել, ձախողվում է:
function Test (filename)
varname = load (filename) %or load filename
matObj = matfile(filename);
varlist = who (matObj); %or varlist = fieldnames (varname)
field1 = eval ( varlist {1} )
field2 = eval ( varlist {2} )
x1 = field1.x_values.start_value:field1.x_values.increment:field1.x_values.increment*field1.x_values.number_of_values;
x2 = field2.x_values.start_value:field2.x_values.increment:field2.x_values.increment*field2.x_values.number_of_values;
figure
hold all
%Support for yyaxis left/right not avaiable, so use plotyy
plotyy (x1, field1.y_values.values, x2, field2.y_values.values)
end
Երբ ես կանչում եմ սցենարը (Test ('1.mat')), Matlab-ը սխալ է ցույց տալիս դաշտում1 = տող :
Error using eval
Undefined function or variable 'Signal'.
«Ազդանշանը» 1.mat ֆայլի տվյալների հավաքածուի անուններից մեկն է:
Հետաքրքիր է, որ երբ ես հրամանի պատուհանից յուրաքանչյուր տող ինքնուրույն գործարկում եմ նույն հերթականությամբ, ես ոչ մի սխալ չեմ ստանում, և սյուժեն ցուցադրվում է: Ես ստուգեցի, որ ընթացիկ ուղին ունի սկրիպտը և 1.mat ֆայլը, բայց չեմ կարող հասկանալ, թե ինչու է այն բողոքում eval-ից, երբ գործարկվում է սցենարից: