problem in defining function in matlab
2 次查看(过去 30 天)
显示 更早的评论
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 个评论
Aravind Singh
2015-3-1
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
采纳的回答
per isakson
2015-3-1
编辑:per isakson
2015-3-1
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 个评论
更多回答(1 个)
thanoon younis
2015-3-1
编辑:per isakson
2015-3-1
1 个评论
per isakson
2015-3-1
编辑:per isakson
2015-3-1
- Did you preallocate y1?
- What does CensoredGaussian return?
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!