• 大小: 2KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-06-11
  • 语言: Matlab
  • 标签: 血糖  

资源简介

基于一型糖尿病人的血糖浓度参数,建立血糖浓度的物理模型及AR模型,利用Matlab编程实现。

资源截图

代码片段和文件信息

clear;
close all
clc;
N=1458; 
TrueVal=(ones(1N))‘;   
Val=(ones(1N))‘;     
fid = fopen(‘yout.txt‘‘r‘) ; %fopen打开文献
 TrueVal = fscanf(fid‘%f‘); %fscand格式化输入空格或者换行时,结束   
 TrueVal=TrueVal‘;
fclose(fid);  %把缓冲区内最后剩余的数据输出到磁盘文件中,并释放文件指针和有关的缓冲区。    
ProcNConvQ = 0.01;%过程噪声
Wq=sqrt(ProcNConvQ)*randn(1N); %返回一个1*n的矩阵   
MeasNConvR =0.3; %测量噪声       
Wr = sqrt(MeasNConvR)*randn(1N);     
MeasureValue_Array = TrueVal+Wr; %
ErrCov_i_prev = 1;
XState_i_prev = 4;
for i=1:N
 MeasureValue_i = MeasureValue_Array(i);
 XAhead_i =  XState_i_prev;            % X(k|k-1)=X(k-1|k-1)公式3.3.46
 ErrCovAhead_i =  ErrCov_i_prev  + ProcNConvQ;        % P(k|k-1)=P(k-1|k-1) + ProcNConvQ  1e-5 公式3.3.49
 KalGain_i = ErrCovAhead_i  / (ErrCovAhead_i + MeasNConvR);    % Kg(k)= P(k|k-1) / (P(k|k-1) + MeasNConvR)公式3.3.48
 XState_i_current = XAhead_i+KalGain_i * (MeasureValue_i -  XAhead_i); % X(k|k)= X(k|k-1)+Kg(k) (Z(k)-X(k|k-1))公式3.3.45
 ErrCov_i_current = (1-KalGain_i) * ErrCovAhead_i;      % P(k|k)=(1-Kg(k))P(k|k-1)公式3.3

评论

共有 条评论

相关资源