Write this without a for loop?

for c= delaySamples+1:length(audioVec)
EchoVec(c)=audioVec(c)+z(c-(delaySamples)*EchoGain);
end

댓글 수: 4

Andrei Bobrov
Andrei Bobrov 2019년 3월 3일
편집: Andrei Bobrov 2019년 3월 3일
What is z, EchoGain?
heres the entire code for my function
function EchoVec=soundEcho(audioVec,Fs,delay,EchoGain)
EchoGain=input('enter how loud echo should be:');
delay=input('enter in a delay value in seconds:');
delaySamples=Fs*delay;
z=[zeros(1,delaySamples),audioVec'];
audioVec(length(delaySamples))=0;
for c= delaySamples+1:length(audioVec)
EchoVec(c)=audioVec(c)+z(c-(delaySamples)*EchoGain);
end
sound(EchoVec,Fs);
end
madhan ravi
madhan ravi 2019년 3월 3일
편집: madhan ravi 2019년 3월 3일
when a third person runs your code (it is not possible to run) , nobody has the power to know what is in your computer
Walter Roberson
Walter Roberson 2020년 11월 15일
Michelle, if you feel that the question is unclear, then as you are the person who posted the question, you should be the one who clarifies it to make it more clear.

댓글을 달려면 로그인하십시오.

답변 (1개)

Alex Mcaulley
Alex Mcaulley 2019년 3월 4일

0 개 추천

If audioVec is a column array and you ensure that (delaySamples)*EchoGain is a valid index:
c = delaySamples+1:length(audioVec);
EchoVec(delaySamples+1:length(audioVec))=audioVec(delaySamples+1:end)+z(c-(delaySamples)*EchoGain);

카테고리

도움말 센터File Exchange에서 Entering Commands에 대해 자세히 알아보기

질문:

2019년 3월 3일

댓글:

2020년 11월 15일

Community Treasure Hunt

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

Start Hunting!

Translated by