MATLAB查询for循环、读入数据和绘图
我是一个使用matlab的完全新手,我正在尝试找出是否有一种优化我的代码的方法。基本上,我有来自模型输出的数据,我需要使用matlab绘制它们。此外,我还有参考数据(95%置信区间),我将其绘制在同一图表上,以直观了解模型输出和参考数据的接近程度 就模型输出而言,我有几千个文件(按顺序编号),我在循环中打开并绘制。我遇到的问题是,我是否可以预处理数据,然后稍后再绘图,以节省时间。当我尝试这样做时,我似乎遇到了一个问题,那就是我有一个传说,它要么没有出现,要么是不准确的 我的代码(如果不优雅,请道歉): 本质上,我希望有一种读取数据的方法,然后在以后绘制-即优化代码 我希望你能帮忙 谢谢MATLAB查询for循环、读入数据和绘图,matlab,Matlab,我是一个使用matlab的完全新手,我正在尝试找出是否有一种优化我的代码的方法。基本上,我有来自模型输出的数据,我需要使用matlab绘制它们。此外,我还有参考数据(95%置信区间),我将其绘制在同一图表上,以直观了解模型输出和参考数据的接近程度 就模型输出而言,我有几千个文件(按顺序编号),我在循环中打开并绘制。我遇到的问题是,我是否可以预处理数据,然后稍后再绘图,以节省时间。当我尝试这样做时,我似乎遇到了一个问题,那就是我有一个传说,它要么没有出现,要么是不准确的 我的代码(如果不优雅,请道
mp关于您的问题 我有一个传说,它也不是 出现或不准确 请看一下以下代码摘录
...
h = zeros (1,1000);
...
a=int2str(i);
...
h(a)=plot(t1,totalmodel);
...
您正在使用字符数组作为索引。您应该使用h(i)
而不是h(a)
。MATLAB似乎将字符数组a
转换为double
,如下例所示,其中a=10代码>
>> double(int2str(10))
ans = 49 48
绘图句柄将被分配给h([49 48])
,而不是h(10)
,这不是您的意图
>> double(int2str(10))
ans = 49 48