problem in defining function in matlab
1 view (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
Categories
Find more on Performance and Memory in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!