matlab中使用plot函数提示下标索引必须为正整数类型或逻辑类型

问题遇到的现象和发生背景

我用plot画图,提示下标索引必须为正整数类型或逻辑类型,但是我哦并没有用下标啊 数据也读出来了

问题相关代码,请勿粘贴截图

data = read(rfdata.data,'E:\file\matlab+CST联合仿真\CST-MATLAB-API-master\result_file\S11_reult.s1p');
freq = data.Freq;
s_params = extract(data,'S_PARAMETERS',50);
spar = s_params(1,:);
s11 = 20*log10(sqrt(real(spar).^2 + imag(spar).^2));
plot(freq,s11);
any(s11(:)<=0)
grid on;

运行结果及报错内容

img

img

我的解答思路和尝试过的方法
我想要达到的结果

尝试用reshape函数将freq转化成1xn的形式

代码要用插入的方式,不然不方便看

freq和s11的length都是1001,因此将freq或者s11中的任意一个进行转置即可

转置的话,在变量后面加 单引号 就可以


plot(freq,s11');

谢谢大家 我发现在开头加清除命令
clc
clear
close all后就可以运行了