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?
Michelle
Michelle 2019 年 3 月 3 日
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 ExchangeEntering 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