Effacer les filtres
Effacer les filtres

I am getting error when i try to listen mat file

1 vue (au cours des 30 derniers jours)
moonman
moonman le 31 Oct 2011
Hi i am having mat file its name is sig.mat it is having dtmf tones in it
i m using
x=load('sig.mat');
soundsc(x,8000)
and i am getting error
??? Undefined function or method 'min' for input arguments of type 'struct'.
Error in ==> soundsc at 27 xmin = min(x(:));

Réponse acceptée

Wayne King
Wayne King le 31 Oct 2011
Hi Moonman, what is x?
>>whos x
If it is a structure, then feed soundsc() the appropriate field
soundsc(x.data,8000)
or whatever the field is.
  1 commentaire
Wayne King
Wayne King le 31 Oct 2011
for example if you tried:
x = struct('data',randn(1e3,1));
soundsc(x,8000)
You would get that error. But
soundsc(x.data,8000)
is fine

Connectez-vous pour commenter.

Plus de réponses (3)

moonman
moonman le 31 Oct 2011
I am having a mat file and i want to listen it
now i am using this and still getting error
x=load('sig.mat');
soundsc(x.data,8000)
the whosx command returns
whos x
Name Size Bytes Class Attributes
x 1x1 28124 struct
  1 commentaire
Wayne King
Wayne King le 31 Oct 2011
enter fieldnames(x) and see what you really want to listen to
Please see my comment above:
for example if you tried:
x = struct('data',randn(1e3,1));
soundsc(x,8000)
You would get that error. But
soundsc(x.data,8000)
is fine

Connectez-vous pour commenter.


moonman
moonman le 31 Oct 2011
I am doing as per ur instructions now i did this but did not listen any sound
x = struct('data','dtmfsig.mat');
soundsc(x.data,8000)
  1 commentaire
Wayne King
Wayne King le 31 Oct 2011
That is not per my instructions. I was constructing a struct array as an example. You have entered:
x = load('sig.mat');
x is a structure array, you cannot play a structure array with soundsc(), you have to play a field of a structure array. Enter
fieldnames(x)
and see which part of x you really want to play.

Connectez-vous pour commenter.


Jan
Jan le 31 Oct 2011
It seems to be nothing but non-trivial. Let me try it also, Wayne:
x = load('sig.mat');
f = fieldnames(x);
fprintf('%s\n', f{:}); % Just for information
soundsc(x.(f{1}), 8000);

Catégories

En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by