how i can solve this error ''Cell contents assignment to a non-cell array object''.

3 次查看(过去 30 天)
hello every one,who can help me to solve this error.
"Cell contents assignment to a non-cell array object."
emails=['ibadal@gmail.com';'qzaman@msn.com';'dfoorno@msn.com';'myey@hotmail.com';'qkemal@myspace.com';'zvarfi@gmail.com';'vlul@mynet.com';'uwardo@msn.com';'izaman@hotmail.com''htimiro@myspace.com'];
data=[2 0 2; 0 0 0;0 0 0; 0 2 0;0 0 0; 0 0 13;0 0 18];
test=cellfun(@(c)sprintf('%d',c),mat2cell(data,ones(size(data,1),1),size(data,2)),'uniform',false);
for steg_col=1:length(emails)
admin=1;
[e_names(admin,steg_col),e_address(admin,steg_col)]=strtok(k1(steg_col),'@');
end
[str_gr_row,str_gr_col]=size(test);
for ob=1:str_gr_col
for mr=1:str_gr_row
elists{mr,ob}=test{mr,ob};
if(elists(mr,ob)==0)
kmk(mr,ob)=strcat(e_names(mr,ob),e_address(mr,ob))
else
kmk(mr,ob)=strcat(e_names(mr,ob),elists(mr,ob),e_address(mr,ob))
end
end
end
  3 个评论
Stephen23
Stephen23 2015-5-9
编辑:Stephen23 2015-5-9
@abdulkarim hassan: Where does the error happen? According to the message on line 369... but where is line 369? You have not provided 369 lines of code, so how are we supposed to know where the error is? We rely on you actually giving information to us so that we can help you. Sorry, but we cannot read minds. You need to help us by actually giving complete, unedited information.
You current code would never work anyway, lets try the very first line:
>> emails = ['ibadal@gmail.com';'qzaman@msn.com';'dfoorno@msn.com';'myey@hotmail.com';'qkemal@myspace.com';'zvarfi@gmail.com';'vlul@mynet.com';'uwardo@msn.com';'izaman@hotmail.com''htimiro@myspace.com'];
??? Error using ==> vertcat
CAT arguments dimensions are not consistent.
Perhaps you meant to use curly braces {} instead.
Please help us by actually giving us the complete code that you are using by uploading it using the paperclip button. Note that you will need to push both buttons: Choose file and Attach file.
Mohamuud hassan
Mohamuud hassan 2015-5-9
emails={'ibadal@gmail.com';'qzaman@msn.com';'dfoorno@msn.com';'myey@hotmail.com';'qkemal@myspace.com';'zvarfi@gmail.com';'vlul@mynet.com';'uwardo@msn.com';'izaman@hotmail.com';'htimiro@myspace.com'};
data=[2 0 2; 0 0 0;0 0 0; 0 2 0;0 0 0; 0 0 13;0 0 18];
test=cellfun(@(c)sprintf('%d',c),mat2cell(data,ones(size(data,1),1),size(data,2)),'uniform',false);
for steg_col=1:length(emails)
admin=1;
[e_names(admin,steg_col),e_address(admin,steg_col)]=strtok(emails(steg_col),'@');
end
[str_gr_row,str_gr_col]=size(test);
for ob=1:str_gr_col
for mr=1:str_gr_row
elists{mr,ob}=test{mr,ob};
end
if(elists(mr,ob)==0)
kmk(mr,ob)=strcat(e_names(mr,ob),e_address(mr,ob))
else
kmk(mr,ob)=strcat(e_names(mr,ob),elists(mr,ob),e_address(mr,ob))
end
end
sorry my friend, the error has been changed to another one which is:
Undefined function 'eq' for input arguments of type 'cell'.
Error in kuday (line 15)
if(elists(mr,ob)==0)
and i dont have any eq vector.

请先登录,再进行评论。

采纳的回答

Salaheddin Hosseinzadeh
Hi Abdu,
you have some evident problem in your code. the variable elists is not a cell.
I think you may have defined it before line 369 as something rather than a cell.
Anyhow, you're using elists in line 370 as an array!
if(elists(mr,ob)==0)
You can't use parenthesis ( ) to index a cell array! you have to use { }
So make sure what type is elists and then use appropriate { or (
good luck
  2 个评论
Stephen23
Stephen23 2015-5-9
编辑:Stephen23 2015-5-12
"You can't use parenthesis ( ) to index a cell array" is incorrect: you can certainly use parentheses to index cell arrays, and this returns the cells, not the contents, as the documentation clearly states:

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Matrix Indexing 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by