Convert char to cell

4 ビュー (過去 30 日間)
António
António 2014 年 12 月 30 日
編集済み: David Young 2014 年 12 月 30 日
I want to intruduce data in a table but when i run the program it says that conversion to cell from char is not possible. Did someone knows what is wrong in this code?
ze1.Nome(end+1)=input('Introduza o seu nome: ', 's');
ze1.Aperlido(end+1)=input('Introduza o seu apelido: ','s');
ze1.Categoria(end+1)=input('Introduza a sua categoria(Aluno, Docente ou Feuncionário): ','s');
ze1.Numero(end+1)=input('Introduza o seu numero: ','s');
ze1.Mail(end+1)=input('Introduza o seu e-mail: ','s');
ze1.Telefone(end+1)=input('Introduza o seu nº de telefone: ','s');
Thank you all

採用された回答

David Young
David Young 2014 年 12 月 30 日
編集済み: David Young 2014 年 12 月 30 日
Assuming that ze1.Nome is already a cell array, all you need to do is to replace the round brackets used for indexing it with curly brackets. This then assigns the string to the contents of a cell, rather than trying to convert the string to a cell. Like this:
ze1.Nome{end+1} = input('Introduza o seu nome: ', 's');
and the same for the other fields.
You should also consider changing the way you store the data. Instead of having a scalar struct with a cell array stored at each field, you could have a struct array with a string stored at each field. Then the line above would be
ze1(end+1).Nome = input('Introduza o seu nome: ', 's');
which may simplify some later processing. However, there will need to be changes earlier in the program to set the array up consistently with this.
  1 件のコメント
António
António 2014 年 12 月 30 日
Thank you!!! It really works

サインインしてコメントする。

その他の回答 (1 件)

Azzi Abdelmalek
Azzi Abdelmalek 2014 年 12 月 30 日
ze1=struct('Nome',[],'Aperlido',[],'Categoria',[],'Numero',[],'Mail',[],'Telefone',[])
ze1.Nome{end+1}=input('Introduza o seu nome: ', 's');
ze1.Aperlido{end+1}=input('Introduza o seu apelido: ','s');
ze1.Categoria{end+1}=input('Introduza a sua categoria(Aluno, Docente ou Feuncionário): ','s');
ze1.Numero{end+1}=input('Introduza o seu numero: ','s');
ze1.Mail{end+1}=input('Introduza o seu e-mail: ','s');
ze1.Telefone{end+1}=input('Introduza o seu nº de telefone: ','s');

カテゴリ

Help Center および File ExchangeData Type Conversion についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by