如何绘制1×16的cell变量result_table?plot调用失败求助
解决cell数组绘图问题
plot() 函数无法直接处理cell类型的输入,你需要先把cell数组转换为数值数组,或者直接访问cell中的元素,具体分两种情况处理:
情况1:每个cell元素是单个数值(1×1数值)
如果你的result_table每个cell里都是单个数值,用cell2mat()把cell转成数值数组后再绘图:
num_data = cell2mat(result_table); plot(num_data)
情况2:每个cell元素是长度一致的向量
如果每个cell里存储的是长度相同的数值向量,同样可以用cell2mat()拼接后绘图(注意转置cell数组让向量按列排列):
% 转置后拼接,确保每个cell的向量成为一列 combined_data = cell2mat(result_table'); plot(combined_data)
如果需要逐个绘制每个cell里的曲线,也可以用循环实现:
hold on for idx = 1:length(result_table) plot(result_table{idx}) end hold off
核心原因是plot()仅支持数值数组、矩阵这类数值型输入,cell数组属于容器类型,必须先提取其中的数值内容才能用于绘图。
内容的提问来源于stack exchange,提问作者user20114520
相关产品推荐
相关产品推荐

