how do i get rid of the e notation in a variable? eg 4.321e+003, i just need it as 4321. its stopping me from plotting a graph.

 Akzeptierte Antwort

Walter Roberson
Walter Roberson am 12 Jul. 2011

0 Stimmen

Sounds to me as if you have accidentally created a variable named "plot".
In the mean time, use round() on your data and see if you get a plot out. My guess is that you will not.

7 Kommentare

Paulo Silva
Paulo Silva am 12 Jul. 2011
Walter that's a good assumption, let's see if it's correct or not, I'm very curious about it.
Naveen Francis
Naveen Francis am 12 Jul. 2011
no i havent created a variable called plot. atleast its not shown in the workspace. and your guess is right, round doesnt work.
Walter Roberson
Walter Roberson am 12 Jul. 2011
Okay, we need to see your code, and we need to see the traceback of the error. Please also show us
which -all plot
Naveen Francis
Naveen Francis am 12 Jul. 2011
here's the code -
h=wavread('song1.wav');
>> plot(h)
>> plot(h)
>> [sums,peak,onset] = SF3('song1.wav');
Elapsed time is 0.351198 seconds.
>> z=onset*44100;
>> hold on
>> plot(z,a(z),'*r');
??? Subscript indices must either be real positive integers or logicals.
Naveen Francis
Naveen Francis am 12 Jul. 2011
however, it seems to work when i tried another example -
d=[12143 34234 234252 656 5757575 34 344423 2 98989809 23578032 28272293 2626384738 33983 399839 988 6364536546 8787 3434 535838 998798 2323 2387873 6767757 23565 76767 9898 232323 98989 34343 767676];
>> r=1:30;
>> plot(r,d(r))
works fine here (scratching head)...
ne clues??
Walter Roberson
Walter Roberson am 12 Jul. 2011
What is "a" ? If it is an array, then a(z) would be attempting to subscript "a" by the values in "z".
If "a" is an array and you are expecting that "z" will work out as integral, then you might be experiencing floating point roundoff limitations; if so then a(round(z)) should work (unless some z rounds to zero.)
Naveen Francis
Naveen Francis am 12 Jul. 2011
got it.:)

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (2)

Friedrich
Friedrich am 12 Jul. 2011

0 Stimmen

Hi,
have a look at the format function:
So this should work
format long

1 Kommentar

Naveen Francis
Naveen Francis am 12 Jul. 2011
i tried that but it doesnt seem to work!

Melden Sie sich an, um zu kommentieren.

Paulo Silva
Paulo Silva am 12 Jul. 2011

0 Stimmen

No it's not stopping you unless the variable is a string instead of a number, please provide more details.

3 Kommentare

Naveen Francis
Naveen Francis am 12 Jul. 2011
unfortunately, it is stopping me. the array is in 'double' format. the plotting works correctly only if i change the e notation manually. here's the message i get while plotting -
"??? Subscript indices must either be real positive integers or logicals."
Naveen Francis
Naveen Francis am 12 Jul. 2011
i guess the 'e' in the number must be interpreted as a character by matlab which is why its giving me an error while plotting.
Paulo Silva
Paulo Silva am 12 Jul. 2011
something doesn't seem right, please provide the code and a sample of the data

Melden Sie sich an, um zu kommentieren.

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by