help on matlab code error

2 次查看(过去 30 天)
mutah
mutah 2013-11-13
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
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 个评论
mutah
mutah 2013-11-13
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
Image Analyst
Image Analyst 2013-11-13
What does "i worked that but still the error" mean? Did it work or not?

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Shifting and Sorting Matrices 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by