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??

回答(1 个)

Image Analyst
Image Analyst 2013-11-13

0 个投票

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 个评论

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?

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

提问:

2013-11-13

Community Treasure Hunt

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

Start Hunting!

Translated by