Error using str2num (line 32), Requires string or character array input. Error in xGridMarkers = str2num(get(gca,'XTicklabel')); how to remove this error??
20 次查看(过去 30 天)
显示 更早的评论
xyRange=[1,5]; %// Starting xy range of particles
P=3; %// Number of particles generated each day
vx=0.6; vy=0.4;%// x and y velocity
al=35;at=5;t=1;
X=[]; Y=[]; %// Vectors start out empty
for day=1:5
%// Generate 3 particles and add to end of vectors X and Y
X=[X;randi(xyRange,P,1)];
Y=[Y;randi(xyRange,P,1)];
%// Move all the particles
X=X+vx+randi([-6,6],1,1)*sqrt(2*al*vx*t)+randi([-6,6],1,1)*sqrt(2*at*vy*t);
Y=Y+vy+randi([-6,6],1,1)*sqrt(2*al*vy*t)+randi([-6,6],1,1)*sqrt(2*at*vx*t);
end
plot(X,Y,'kd');grid on;
xGridMarkers = str2num(get(gca,'X'));
yGridMarkers = str2num(get(gca,'YTickLabel'));
numXSquares = length(xGridMarkers) - 1;
numYSquares = length(yGridMarkers) - 1;
squareHitCount = zeros(numYSquares, numXSquares);
for k=1:size(X,1)
x = X(k);
y = Y(k);
ySqrIdx = numYSquares - (find(yGridMarkers>y,1) - 1) + 1;
xSqrIdx = find(xGridMarkers>x,1) - 1;
squareHitCount(ySqrIdx, xSqrIdx) = squareHitCount(ySqrIdx, xSqrIdx) + 1;
end
2 个评论
Guillaume
2015-7-8
If you're asking help about an error, post the entire error message as it appears on screen, particularly the part that states where the error occurs.
采纳的回答
Azzi Abdelmalek
2015-7-8
编辑:Azzi Abdelmalek
2015-7-8
Use str2double, because get(gca,'XTicklabel') is a cell array
xGridMarkers = str2double(get(gca,'XTicklabel'));
yGridMarkers = str2double(get(gca,'YTickLabel'));
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!