Info

此问题已关闭。 请重新打开它进行编辑或回答。

Error is coming how can I solve?

1 次查看(过去 30 天)
RS
RS 2013-8-23
关闭: MATLAB Answer Bot 2021-8-20
Cell contents reference from a non-cell array object.
Error in Mineral_2 (line 12)
line([A(xmaxA) A(xmaxA)], [limh(1) max(A(:,2))], 'color', chrom{1},'Linestyle',':')

回答(3 个)

Caroline
Caroline 2013-8-23
Could you post the code? It could be because you used {} instead of () to access the element of an array but its hard to say without seeing the code.
  1 个评论
RS
RS 2013-8-23
编辑:RS 2013-8-23
h=plot(A(:,1),A(:,2));
ymaxA=max(A(:,2));
xmaxA=find(A(:,2)==max(A(:,2)));
xA0=A(A(:,2)==0);
limh=get(gca,'Ylim');
chrom=get(h,'color');
line([A(xmaxA) A(xmaxA)], [limh(1) max(A(:,2))], 'color', chrom(1),'Linestyle',':');
again some error are coming here how can I improve?

Image Analyst
Image Analyst 2013-8-23
编辑:Image Analyst 2013-8-23
Before that line, put these lines:
whos chrom
chrom{1}
Tell us what it says. Then look at this link: http://blogs.mathworks.com/videos/2012/07/03/debugging-in-matlab/

Walter Roberson
Walter Roberson 2013-8-23
You make chrom a cell array. Somehow it is not one at the moment in your code.
  5 个评论
Image Analyst
Image Analyst 2013-8-24
You need to have the same number of x values as y values, and you need, need, need to learn basic debugging skills. Is B an integer array, so that you might have multiple locations for xmaxA? What can you learn from doing this:
xValues = [A(xmaxA) A(xmaxA)]
size(xValues)
yValues = [limh(1) max(A(:,2))]
size(yValues)
Walter Roberson
Walter Roberson 2013-8-24
You still need the keyword 'color'
line([A(xmaxA) A(xmaxA)], [limh(1) max(A(:,2))], 'color', chrom,'Linestyle',':');

Community Treasure Hunt

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

Start Hunting!

Translated by