필터 지우기
필터 지우기

Attempt to reference field of non-structure array.

조회 수: 1 (최근 30일)
Fadzli
Fadzli 2016년 11월 24일
답변: Fadzli 2016년 11월 24일
I'm trying to read and load the .mat data (originally from .csv files) as following code;
input_data=xlsread('input_data_test.xlsx',1,'(B14:E18)');
[nofinput]=length(input_data(:,1));
start=input('press enter to start');
for ww=1:nofinput;
ii=input_data(ww,:);
if ii(isfinite(ii(:, 1)), :);
run_1=ii;
CA=run_1(1,1)
CA_CA=CA;
x_first=run_1(1,2)
y_first=run_1(1,3)
z_first=run_1(1,4)
step_number=5
[uu]=step_number;
[cc]=26;
AAA=zeros(uu,cc);
clear uu cc
Speed=1600;
Delta_CA=0.25
Time_CA=(60/Speed)/360
Delta_t=Delta_CA*Time_CA;
load CA0000.mat
load CA0025.mat
load CA0050.mat
for tt=1:step_number
if CA==0 matrice_cartesian=CA0000.mat;
elseif CA==0.25 matrice_cartesian=CA0025.mat;
elseif CA==0.5 matrice_cartesian=CA0050.mat;
end
but there's an error message; "Attempt to reference field of non-structure array" at line "elseif CA==0.25 matrice_cartesian=CA0025.mat;" So what is the possible cause for this problem? Please help, I'm really newbie in MATLAB code. Thanks
  댓글 수: 1
Walter Roberson
Walter Roberson 2016년 11월 24일
Is
matrice_cartesian=CA0000.mat
intended to indicate that matrice_cartesian should be assigned the string 'CA0000.mat' or that it should be assigned what is stored in the file CA0000.mat ?

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

채택된 답변

Walter Roberson
Walter Roberson 2016년 11월 24일
My guess:
if CA==0 matrice_cartesian=CA0000;
elseif CA==0.25 matrice_cartesian=CA0025;
elseif CA==0.5 matrice_cartesian=CA0050;
end
However, you should be avoiding exact comparison of floating point values. The values 0.25 and 0.5 are exactly representable in floating point but the value that is in CA might have been calculated by a process that did not result in exactly 0.25 or exactly 0.5

추가 답변 (1개)

Fadzli
Fadzli 2016년 11월 24일
Thanks Mr. Walter Roberson, yes it is working by just replacing .mat from CA0000.mat; to CA0000; Thank you very much

카테고리

Help CenterFile Exchange에서 Title에 대해 자세히 알아보기

제품

Community Treasure Hunt

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

Start Hunting!

Translated by