get rid of e notation

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.

 Accepted Answer

Walter Roberson
Walter Roberson on 12 Jul 2011

0 votes

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 Comments

Walter that's a good assumption, let's see if it's correct or not, I'm very curious about it.
no i havent created a variable called plot. atleast its not shown in the workspace. and your guess is right, round doesnt work.
Okay, we need to see your code, and we need to see the traceback of the error. Please also show us
which -all plot
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.
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??
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.)
got it.:)

Sign in to comment.

More Answers (2)

Friedrich
Friedrich on 12 Jul 2011
Hi,
have a look at the format function:
So this should work
format long

1 Comment

i tried that but it doesnt seem to work!

Sign in to comment.

Paulo Silva
Paulo Silva on 12 Jul 2011

0 votes

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

3 Comments

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."
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.
something doesn't seem right, please provide the code and a sample of the data

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!