MATLAB Answers

why this message error ?:Array indices must be positive integers or logical values

11 views (last 30 days)
Hi,
When i write this little script:
---------------------------------------------------------------------------------------------------------
demo matlab
t = (10:1:200)';
y = sin(2*pi*50*t)
z = y(t-10)
w = y+z
plot(t(1:50),w(1:50))
sound(w,Fs);
-------------------------------------------------------------------------------------------------------
there is a message error: message error: Array indices must be positive integers or logical values.
Howewer,when i write this:
-----------------------------------------------------------------------------------------------------
demo matlab
t = (0:0.001:100)';
y = sin(2*pi*50*t)
plot(t(1:50),y(1:50))
sound(y,Fs);
------------------------------------------------------------------------------------------------------
there is no message error.
Why?
thanks

  0 Comments

Sign in to comment.

More Answers (2)

jérôme TAÏEB
jérôme TAÏEB on 30 Sep 2018

Ok but

demo matlab

 t = (11:1:200)';
 y = sin(2*pi*50*t)

z = y(t-10)

w = y+z

plot(t(1:50),w(1:50))

sound(w,44000);

no longer presents an error message but no sound comes out!

Why ?

  3 Comments

Image Analyst
Image Analyst on 30 Sep 2018
Who are you talking to? This should be a comment to someone , not an answer to your original question.
Try soundsc().
Star Strider
Star Strider on 30 Sep 2018
The sound is there. It is of too short a duration to notice:
signal_duration = (200-11)/44000
signal_duration =
0.00429545454545455
It only lasts for 4.3 milli-seconds!

Sign in to comment.


Image Analyst
Image Analyst on 30 Sep 2018

See attached sound making demo. It doesn't make your sound but adapt it as needed.

  0 Comments

Sign in to comment.

Products


Release

R2018b

Community Treasure Hunt

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

Start Hunting!