Improper assignment with rectangular empty matrix., how to solve ?
显示 更早的评论
hey everyone
please i am getting this error :
Improper assignment with rectangular empty matrix on this line :
midpoints1(k) = (leftEdge1 + rightEdge1)/2;
how can i solve that ? any help is appreciated, thanks
for k=700:800
oneRow1 = binaryImage(k, :);
leftEdge1 = find(oneRow1, 1, 'first');
rightEdge1 = find(oneRow1, 1, 'last');
hold on;
midpoints1(k) = (leftEdge1 + rightEdge1)/2;
plot(leftEdge1, k, 'rx','LineWidth',2);
plot(rightEdge1, k, 'rx','LineWidth',2);
plot(midpoints1(k), k, 'yx','LineWidth',2);
end
X1=(700:800);
midpoints1=midpoints1(midpoints1~=0);
new_x1 = linspace(500, 900);
coeffs1 = polyfit(X1, midpoints1, 1);
new_y1 = polyval(coeffs1, new_x1);
plot(new_y1,new_x1, '-','LineWidth',2);
6 个评论
Walter Roberson
2012-12-14
What behavior would seem appropriate to you on rows that have no 1 in them ?
mounim
2012-12-14
Walter Roberson
2012-12-14
Read the documentation for isempty()
What value do you want stored in midpoints1(k) in this situation?
采纳的回答
更多回答(0 个)
类别
在 帮助中心 和 File Exchange 中查找有关 Data Type Identification 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!