필터 지우기
필터 지우기

Can't seem to understand what my mistake is (Loading .mat files)

조회 수: 2 (최근 30일)
Japnit Sethi
Japnit Sethi 2020년 10월 1일
댓글: Japnit Sethi 2020년 10월 1일
So I had saved .mat files from my 2 Matlab codes and now loading into a new Matlab File for a comparison plot!
But I am getting an error that it is an "unrecognized function or variable", when I can clearly see the variable in my workspace
All the files ae attached!!
clear all;
close all;
clc;
% Comparison Plot
filenames = {'q_Theta_Y.mat','q_dot_Theta_Y.mat','q_Y_Theta.mat', 'q_dot_Y_Theta.mat',...
'q_ref.mat', 'q_ref_dot.mat', 'Time.mat',...
'E_pos_Theta_Y.mat','E_vel_Theta_Y.mat','E_pos_Y_Theta.mat', 'E_vel_Y_Theta.mat'};
for kk = 1:numel(filenames)
load(filenames{kk})
end
%--------------------------------------------------------------------------
%%%%%%%%%%%%%%%%%%%%%%%% Plot results %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%--------------------------------------------------------------------------
% Plot Comparison b/w q_ref1 and q1 (Position of Link 1)
set(figure,'Color','white')
subplot(2,2,1)
plot(Time,q_Theta_y(:,1),'b-',Time,q_ref(:,1),'k-.','LineWidth',2);
grid on
grid minor
hold on
plot(Time, q_Y_Theta(:,1), 'r-', Time,'LineWidth',2);
axis tight
title('Link 1: actual and reference trajectory', 'fontsize', 20);
xlabel('$$t \, {\rm [s]}$$', 'interpreter','latex','fontsize', 20);
ylabel('$$Position (m)$$', 'interpreter','latex', 'fontsize', 20);
% xlim([0 t_net(length(t_net))]);
% ylim([-1.2 1.2]);
legend('$$q_1$$($$\Theta \cdot Y$$)', '$$q_{1,{\rm ref}}$$', '$$q_1$$($$Y \cdot \Theta$$)',...
'interpreter','latex','fontsize',25);
hold off
  댓글 수: 1
Stephen23
Stephen23 2020년 10월 1일
편집: Stephen23 2020년 10월 1일
@Japnit Sethi : please show us the complete error message. This means all of the red text.
Why are you saving one variable per file? Your code would probably be simpler if you saved all of those variables in one file (tip: use the -struct option when saving, and always load into an output variable. Note that load also lets you select which variables to import from the file).

댓글을 달려면 로그인하십시오.

채택된 답변

Stephen23
Stephen23 2020년 10월 1일
편집: Stephen23 2020년 10월 1일
The bug is very simple: your code refers to
q_Theta_y
but the variable in the mat file is named
q_Theta_Y
You need to use the correct case (variable names are case-sensitive).
Much better would be to replace all of those separate files with one mat file and load into an output variable (which is a scalar structure), e.g.:
F = absolute or relative path of the mat file.
S = load(F);
Note that you can select which variables you want to import, e.g.:
S = load(F,'Time','q_Theta_Y');

추가 답변 (0개)

태그

제품


릴리스

R2019b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by