Matlab中length验证向量长度一致仍报plot绘图长度错误
Matlab plot函数向量长度报错排查方案
- 第一步:补充检查X变量的维度
你当前只打印了A和L的长度,报错指向plot(X,L),核心是X和L的长度是否匹配,运行下列代码查看X的长度:
disp(length(X))
- 第二步:规避
length()函数的使用坑length()返回变量最大维度的长度,若变量是二维矩阵(例如X为6×2的矩阵),length(X)也会返回6,和L的length返回值一致,但本质X是矩阵不是一维向量,传入plot就会触发长度不匹配报错。请改用size()函数查看两个变量的完整维度:
disp(size(X)) disp(size(L))
正常情况下两个变量的返回值都应为[6 1](列向量)或[1 6](行向量),若某一变量的第二个维度数值不为1,说明变量不符合一维向量要求,修正即可解决报错。
- 第三步:清理工作区残留变量
若维度检查正常,大概率是工作区中存在之前运行代码残留的同名X、L变量,和你当前代码生成的变量冲突,在代码开头添加清空语句后重新运行即可:
clear;clc;
- 后续绘图注意事项
如果需要同时展示观测值和调整值两条曲线,在第一次plot(X,L)后添加hold on语句,避免第二条绘图语句覆盖第一条的结果。
内容的提问来源于stack exchange,提问作者user16116851
相关产品推荐
相关产品推荐

