help on matlab code error

function varargout=mixtureplot(mix,varargin)
mix.dist(1:6)=='Expone'
% define the grid on the x-axis
M=1000; % number of grid points
[ss is]=sort(mix.par); %sort the means to define the domain of the plot
cl=0.01; % define the lower bound from the lower quantile
cu=0.95; % define the upper bound from the upper quantile
x=linspace(-log(1-cl)/mix.par(is(mix.K)),-log(1-cu)/mix.par(is(1)),M);
pd=mixturepdf(mix,x);
plot(x,pd,'k');
end
when I call this function by
par=struct('mu',[ -1 2]);
mix=struct('dist','Exponential','K',2,'weight',[0.5 0.5 ],'par',par);
mixtureplot(mix)
gave me this error
Undefined function 'sort' for input arguments of type 'struct'.
Error in mixtureplot (line 232) [ss is]=sort(mix.par); %sort the means to define the domain of the plot
any one help me for this error??

Answers (1)

Image Analyst
Image Analyst on 13 Nov 2013
mix.par is a structure. It doesn't automatically know that it should take the "mu" field of the par structure to do its sorting on. Try mix.par.mu and see if that works.

2 Comments

Do you mean I must to change on [ss is]=sort(mix.par);
to became [ss is]=sort(mix.par.mu); or what ?
if you mean that , i worked that but still the error
What does "i worked that but still the error" mean? Did it work or not?

Sign in to comment.

Categories

Asked:

on 13 Nov 2013

Commented:

on 13 Nov 2013

Community Treasure Hunt

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

Start Hunting!