MATLAB查询for循环、读入数据和绘图

MATLAB查询for循环、读入数据和绘图,matlab,Matlab,我是一个使用matlab的完全新手,我正在尝试找出是否有一种优化我的代码的方法。基本上,我有来自模型输出的数据,我需要使用matlab绘制它们。此外,我还有参考数据(95%置信区间),我将其绘制在同一图表上,以直观了解模型输出和参考数据的接近程度 就模型输出而言,我有几千个文件(按顺序编号),我在循环中打开并绘制。我遇到的问题是,我是否可以预处理数据,然后稍后再绘图,以节省时间。当我尝试这样做时,我似乎遇到了一个问题,那就是我有一个传说,它要么没有出现,要么是不准确的 我的代码(如果不优雅,请道

我是一个使用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