problem in defining function in matlab
3 views (last 30 days)
Show older comments
Hi everyone
I have a problem with the code below, in this code i want to write some equations. The problem with defining mu1 how can ii define it, i am new in matlab and i cannot define it.
for i=1:200
for j = 1:9
y{i,j}= CensoredGaussian(mu1(i,j),psi1(j),thd(j,z1(i,j)),thd(j,z1(i,j)+1));
end
mu1{i,1}= {mu.y1(1)+xi1(i,1)};
mu1{i,2}= {mu.y1(2)+lam1(1)*xi1(i,1)};
mu1{i,3}= {mu.y1(3)+lam1(2)*xi1(i,1)};
mu1{i,4}= {mu.y1(4)+lam1(3)*xi1(i,1)};
end
The error is ??? Undefined function or method 'mu1' for input arguments of type 'double'.
Any help would be highly appreciated. many thanks in advance
1 Comment
Aravind Singh
on 1 Mar 2015
Add Following code at first line. This will construct a cell array..
mu1 = cell(10,10);
c = cell(m, n) or c = cell([m, n]) creates an m-by-n cell array of empty matrices. Arguments m and n must be scalars.
see help for more info
Accepted Answer
per isakson
on 1 Mar 2015
Edited: per isakson
on 1 Mar 2015
Add
mu1 = cell( 200, 4 );
Next replace
mu1{i,1}= {mu.y1(1)+xi1(i,1)};
by
mu1(i,1)= {mu.y1(1)+xi1(i,1)};
Finally, I would like to ask, why do you use cell arrays in the first place.
0 Comments
More Answers (1)
thanoon younis
on 1 Mar 2015
Edited: per isakson
on 1 Mar 2015
1 Comment
per isakson
on 1 Mar 2015
Edited: per isakson
on 1 Mar 2015
- Did you preallocate y1?
- What does CensoredGaussian return?
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!