光催化系统:Matlab种cell格式能数学计算吗?

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/09 20:43:32
请教一个问题,我用Matlab
inputdlg这个函数想输入数据然后作为参数进行处理的
可是输入的数据格式为cell,不能进行计算!
用double等函数也不行,请问应该如何做
谢谢!

原因在于inputdlg函数的返回值是cell类型的字符串。你可以活得double类型的数据,但是不能直接从cell类型的字符串转换。方法是将cell数据中取出一个元素(是char类型的字符字符串),然后将该元素从char类型转换为一个double类型的数。
在下例中,你在输入框内输入20.5,然后result就是你要得double类型的数。
prompt = {'Enter matrix size:'};
dlg_title = 'Input for peaks function';
num_lines= 1;
def = {'20.5'};
answer = inputdlg(prompt,dlg_title,num_lines,def);

result = num2str(answer{1,1}) %注意对cell类型的操作是大括号