why i am getting "Ambiguous property found while using line" error?

i am trying to draw a line from the accelerometer data.. code is as shown below
[gx,gy,gz] = readAcc(accelerometer);
disp(gx);
line([0 gx],[0 0],'Color','r','LineWidth',2,'Marker','o');
but i am getting error as
Error using line
Ambiguous property found.
Object Name : line
Property Name : ''.
Error in vector (line 45)
line([0 gx],[0 0],'Color','r','LineWidth',2,'Marker','o');
what might be the cause and how to resolve this problem? it does not display any property name..

 採用された回答

Walter Roberson
Walter Roberson 2016 年 1 月 29 日

0 投票

Try the full
line('XData', [0 gx], 'YData', [0 0],'Color','r','LineWidth',2,'Marker','o');

7 件のコメント

Gowrishankar R
Gowrishankar R 2016 年 1 月 30 日
Thanks for your reply but after trying as you said i am getting error like
Error using line Value must be numeric
Error in vector (line 46)
line('XData', [0 gx], 'YData', [0 0],'Color','r','LineWidth',2,'Marker','o');
which value i need to change
Walter Roberson
Walter Roberson 2016 年 1 月 30 日
What is class(gx) ?
It appears to me that your gx is probably a string instead of numeric.
Gowrishankar R
Gowrishankar R 2016 年 1 月 30 日
編集済み: Walter Roberson 2016 年 1 月 30 日
ya you are correct, i just modified that code like this
function [gx,gy,gz] = readAcc(out)
fprintf(out.s,'R');
accData1=fscanf(out.s,'%s');
accData2=fscanf(out.s,'%s');
accData3=fscanf(out.s,'%s');
gx=accData1;
gy=accData2;
gz=accData3;
disp(gx);
and even disp(gx) also not working i guess
Gowrishankar R
Gowrishankar R 2016 年 1 月 30 日
i verified my code and found that gx ='' when i run readAcc for the first time and for the second time gx is numeric value i.e 1.00.. so what should i do now? how to neglect string which is coming for the first time and consider from the second time?
Walter Roberson
Walter Roberson 2016 年 1 月 30 日
You are returning string values, not numeric values. You cannot use string values to plot with, not without converting them to numeric values. Which is what the %u format was for, to convert the string to numeric values.
Why did you change from %u to %s? If your input values have changed from unsigned integer to floating point, use %f not %s
Gowrishankar R
Gowrishankar R 2016 年 1 月 30 日
That worked...thank you very much..
Gowrishankar R
Gowrishankar R 2016 年 1 月 30 日
hello Walter Roberson, sorry for asking so many questions again and again, i am encountered another error.. i have 2 .m files readAcc.m and vector.m.. in command window if i type
[accData1 accData2 accData3]=readAcc(accelerometer)
i get as accData1 = 1.0100
accData2 = -0.0400
accData3 = -0.2700
but when i run vector.m file which has function call as [accData1 accData2 accData3] = readAcc(accelerometer); after that function call if put disp(accData1); i get as 51__ or something like that.. why is like that?

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File Exchange で Numeric Types についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by