Attempt to reference field of non-structure array.

1 vue (au cours des 30 derniers jours)
saad
saad le 14 Jan 2015
Commenté : Image Analyst le 15 Jan 2015
I have many files, which are made as a loop, each one has two columns with text line, I want to draw the map for it by this script. but I faced this problem ' Attempt to reference field of non-structure array'.
clear xstep=18; %number of x steps
ystep=34; %number of y steps
map0V = zeros(ystep+1, xstep+1);
data0V = zeros((ystep+1)*(xstep+1),3);
for j=0:xstep;
for i=0:ystep;
filename = strcat('Read330uW_S5_Bg0VLoop1_',int2str(j), 'Loop2_', int2str(i), '.dat');
scana=importdata(filename);
rowa=scana.data(:,end);
map0V(end - i,j+1)=2.22.*mean(rowa(2:end))/1E5;
% rearrange matrix for origin plotting
data0V(j*(ystep+1)+(i+1),1) = j-2; % x co-ords in 1st col
data0V(j*(ystep+1)+(i+1),2) = i; % y co-ords in 2nd col
data0V(j*(ystep+1)+(i+1),3) = map0V(end - i,j+1); % Ipc value in 3rd col
end
end
%plot 'map matrix'
figure;
pcolor(-2:23, linspace(12,0,13), map0V);
axis equal;
caxis([-2E-10,2E-10]);
colorbar
% Create colormap that is blue for negative, red for positive, % and a chunk inthe middle that is black.
redColorMap = [zeros(1, 128), linspace(0, 1, 128)];
blueColorMap = [linspace(1, 0, 128), zeros(1, 128)];
colorMap = [redColorMap; zeros(1, 256); blueColorMap]';
colormap(colorMap);
% shading interp; %labels
title('Graphene Photodetector Vsd=0V');
xlabel('X (\mu m)');
ylabel('Y (\mu m)');
%get white coordinate lines
grid on;
% set(gca,'XColor','w',... % 'YColor','w') % set(get(gca,'XLabel'),'Color','w') % set(get(gca,'YLabel'),'Color','w')
%save matrix
dlmwrite('Graphene Photodetector_Photomap1_nA.dat', data0V);
  1 commentaire
Star Strider
Star Strider le 14 Jan 2015
What line is throwing the error?
If you do either whos or which with the variables you are referencing, what are the results?

Connectez-vous pour commenter.

Réponses (1)

Titus Edelhofer
Titus Edelhofer le 14 Jan 2015
Hi,
please use the code button to format your code. I assume the error happens at the line
rowa=scana.data(:,end);
Take a look at the variable scana. The error message suggests it is not a structure...
Titus
  2 commentaires
saad
saad le 15 Jan 2015
Yes the error in this line. But can please explain more you suggestion
Image Analyst
Image Analyst le 15 Jan 2015
Set a breakpoint on that line, and before that line, put these lines
scana
whos scana
don't use semicolons at the end of the line and tell us what it says in the command window.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Blue dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by