フィルターのクリア

Info

この質問は閉じられています。 編集または回答するには再度開いてください。

how can we compare two arrays eg 'data' and 'aa' ,when 'data' matches any value of 'aa' i want it to return past values of data that are before that common value of data and aa....in an array

1 回表示 (過去 30 日間)
huda farooqui
huda farooqui 2018 年 3 月 23 日
閉鎖済み: MATLAB Answer Bot 2021 年 8 月 20 日
clc
close all
clear all
[data, fs]=audioread('E:\MATLAB\R2017a\examples\audio\focus_good.wav');
sound(2*data,45000)
aa = [0, 0.0001, 0.0002, 0.0003, 0.0004];
u=data(:); % reshape
for i=1:length(u)
for j=1:length(aa)
if data(i)==aa(j)
s=i % saving the point or number of digit where value matched
*q=data(0:i)* % wanted to return past value but not working**
else
end
end
end
i am having the problem in returning past values, you can check the asterick command in code... please help me out.

回答 (2 件)

Walter Roberson
Walter Roberson 2018 年 3 月 23 日
ismember(aa, dd), take the second output, index it at the first output, take the min() of the result. That will be the index of the first entry in dd that was in common so return everything in dd before that index.

Birdman
Birdman 2018 年 3 月 23 日
tempRes=setdiff(aa,data) %temporary solution, will be changed
[~,idx]=ismember(aa,data)
[~,idx]=max(idx)
tempRes(aa(idx):end)=[]

この質問は閉じられています。

Community Treasure Hunt

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

Start Hunting!

Translated by