2018年亚太杯APMCM数学建模大赛A题老年人平衡能力的实时训练模型求解全过程文档及程序

news2024/11/19 20:29:28

2018年亚太杯APMCM数学建模大赛

A题 老年人平衡能力的实时训练模型

原题再现

  跌倒在老年人中很常见。跌倒可能会导致老年人出现许多并发症,因为他们的康复能力通常较差,因此副作用可能会使人衰弱,从而加速身体衰竭。此外,对跌倒的恐惧可能会削弱行动能力,限制行动范围,从而显著恶化生活质量。因此,对老年人进行平衡能力评估,以帮助他们改善行动状态、纠正姿势和防止意外跌倒,具有重要的现实意义。

  目前还没有一个包罗万象的平衡定义。在医学中,平衡有两层含义。一种是当人体保持稳定姿势时的静态平衡状态。另一种是当身体在运动或受到外力时,自动调整自己以保持姿势时的动态平衡状态。在力学中,当物体上的合力为零时,就会产生平衡。身体的平衡或稳定性与重心的位置和支承面的面积有关。如果重心线落在轴承表面内,或者发生不平衡,则保持机体平衡。

  一家研究机构通过在老年受试者身上部署42个监测点进行了随机抽样测试。见下图所示各点的布局。
在这里插入图片描述
  根据附件中的实验数据,完成以下任务:

  问题1:根据附件2中的数据分析老年人的平衡特征。基于对步数、重心和运动的分析,建立特征提取模型。应用由42个监测点组成的系统提取25个身体平衡特征,对老年人的身体平衡进行综合评估。

  问题2:建立基于25个指标的平衡风险评估体系,评估老年人的平衡能力。给出相应的建议。

  问题3:根据提供的实际数据,对身体平衡力进行模拟计算和比较分析。为平衡能力较弱的老年人提供有效的建议。

  附件说明:

  附件1:《老年人基本数据》(格式:.xlsx)包含所有老年受试者的基本数据。

  附件2:附件2包含每个受试者在自由行走状态下的校准原始数据。有三个完整的gait(文件后缀:.trc),可以用Excel打开。第一列是帧序列,第二列是时间。从第三列开始,每三列代表监测点的运动坐标(x,y,z)。共有42个监测点。

整体求解过程概述(摘要)

  跌倒会造成成吨的伤害,这将影响老年人的生活水平。因此,结合步行时的身体姿势等因素,为他们建立一个平衡能力评估体系具有重要意义。

  我们的模型首先采用R型聚类方法和马氏距离从42个监测点中提取出25个具有医学意义的指标。我们的25项指标包含90.86%的全身特征信息,可靠性高。这一结果使测量每个受试者的基本身体状况成为可能。

  然后,基于这25个指标,采用改进的多项式曲线拟合方法建立了一个平衡能力体系,并将稳定配速曲线与实验配速曲线进行了比较,以塑造一个人的平衡能力。然后,我们的研究将我们的结果与实际跌倒时间进行了比较,对于所有有跌倒风险的老年人来说,准确率达到了近80%。然而,当应用于中等风险的老年人时,准确性会迅速下降。由于这种现象,我们的模型做了更多的改进。

  在我们改进的评估系统中,我们的模型考虑了TOPSIS的实际数据。我们使用来自实际数据的7个参数和附录2的追踪数据来衡量老年人的平衡能力。与实际跌倒时间相比,我们在几乎所有老年人中获得了80%的准确率。此外,我们改进的评估可以从整体上划分出平衡能力高和平衡能力低的老年人。

  改进模型的敏感性分析表明,模型中年龄和BMI参数的微小变化对结果的影响较小。3%的干扰只会影响2.5%的排名,5%的干扰会影响7.5%的排名。最后,我们从医学角度对不同类型的跌倒或平衡能力低下的老年人提出了不同的建议。

模型假设:

  1.记录跟踪数据时没有时间差。
  2.25个指标具有医学意义和物理意义,能够预测重心等物理参数。
  3.跟踪数据能够预测平衡能力。由于我们的R-TYPE CLUSTER算法、PCA算法都是基于实际数据的。
  4.追踪数据是每个受试者的正常步骤,即每个人在实验室里都像平时一样行走,尤其是在摔倒前。
  5.在长者跌倒和被追踪的这些年里,身体没有发生大的变化。

问题重述:

  背景
  在过去的几十年里,我国的老龄化程度逐渐加快。预计到2050年,60岁以上人口将占总人口的33%。这些年来,老年人摔倒事故也在大规模增加。当老年人跌倒时,他们会不稳定,失去平衡,对老年人来说,下半身肌肉衰退会导致平衡能力下降,不足以支撑老年人在跌倒时下半身;同时,由于老年人神经系统控制能力下降,神经传导减慢,运动反应时间延长,也会导致老年人在跌倒时不能及时调整身体保持平衡。这样,就有必要衡量老年人的平衡能力,为他们提供适当的建议,让他们保持平衡,更加注意他们的平衡。
  此外,对老年人平衡能力的预测研究较少。此外,大多使用单个传感器,检测精度有限,容易误判。

  问题重述
  建立一个模型,其中包含来自给定42个监测点的25个主要指标。该模型需要用于分析每个受试者的步数、重心、速度和加速度等。

  根据实际实验数据,建立一个能够评估老年人平衡能力的模型。

  模拟那些几年前摔倒的老年人,并向我们的模型证明我们的模型是否能够监测他们的平衡能力。

  为那些平衡能力较弱的老年人提供建议。

模型的建立与求解整体论文缩略图

在这里插入图片描述
在这里插入图片描述

全部论文及程序请见下方“ 只会建模 QQ名片” 点击QQ名片即可

程序代码:

部分程序如下:
%% import data
 resultvar_yy=[];
 resultvar_zz=[];
 A = dir(fullfile('*.trc'));
for iiii=1:1:76
 data1=load(A(iiii).name);
 result_yy=[];result_zz=[]; 
 resultfit_yy=[];resultfit_zz=[]; 
 data2=data1(:,3:end);%matrix1*126 
 
 for i=1:1:25%row
 yy=[];zz=[];
 for ii=2:1:5%column
 if data3(i,ii)~=0
 yy=[yy,data2(:,3*data3(i,ii)-1)];
 zz=[zz,data2(:,3*data3(i,ii))];
 end
 end
 result_yy=[result_yy,mean(yy,2)];
 result_zz=[result_zz,mean(zz,2)];
 yytofit=result_yy(:,i);
 zztofit=result_zz(:,i);
 % Create the model.
 fun = @(x,xdata)x(1)+x(2)*xdata+x(3)*(xdata).^2+x(4)*(xdata).^3 +x(5)*
(xdata).^4 +x(6)*(xdata).^5+x(7)*(xdata).^6+x(8)*(xdata).^7;
 tdata =data1(:,2);
 m0 = 1.0e+04 *[0.0280 0.1155 -0.6000 1.1672 -1.1046 
0.5433 -0.1334 0.0129];
 % Solve the bounded fitting problem.
 my1 = lsqcurvefit(fun,m0,tdata,yytofit);
 my2 = lsqcurvefit(fun,my1,tdata,yytofit);
 yyfitted=fun(my2,tdata);
 
 mz1 = lsqcurvefit(fun,m0,tdata,zztofit);
 mz2 = lsqcurvefit(fun,mz1,tdata,zztofit);
zzfitted=fun(mz2,tdata);
 resultfit_yy=[resultfit_yy,yyfitted];
 resultfit_zz=[resultfit_zz,zzfitted]; 
 difference_yy=abs(resultfit_yy-result_yy);
 difference_zz=abs(resultfit_zz-result_zz);
 var_yy=var(difference_yy,0,1);
 var_zz=var(difference_zz,0,1);
 end
 resultvar_yy=[resultvar_yy;var_yy];
 resultvar_zz=[resultvar_zz;var_zz];
end
%%CLUSTER
clc, clear all
%read in circle
A = dir(fullfile('*.trc'));
resultfinal=[];
for i=1:1:2
 data1=load(A(i).name);
 [m,n]=size(data1);
 a=[]; 
 for ii=1:1:42
 X=[data1(:,3*ii+1),data1(:,3*ii+2)];
 a(:,ii)=pdist(X,'mahal');
 end
 %%
 b=zscore(a); %standard the data
 r=corrcoef(b); %coefficient matrix
 d=pdist(b','correlation'); %计算相关系数导出的距离
 z=linkage(d,'average'); %按类平均法聚类
 figure
 h=dendrogram(z); %画聚类图
 set(h,'Color','k','LineWidth',1.3) %把聚类图线的颜色改成黑色,线宽加粗
T=cluster(z,'maxclust',25); %cluster into 25 catagory
 results= [];
 for iii=1:25
 tm=find(T==iii); %find the ith coatogory’s subjetct
 tm=reshape(tm,1,length(tm)); %in row 
results=[results;tm,zeros(1,15-length(tm))];
 end 
 resultfinal=[resultfinal;results];
 
end
%% topsis
clc, clear
data=load('datatopsis.txt');
[m,n]=size(data);
fun=@(qujian,lb,ub,x)(1-(qujian(1)-x)./(qujian(1)-lb)).*(x>=lb & 
x<qujian(1))+(x>=qujian(1) & x<=qujian(2))+(1-(x-qujian(2))./(ubqujian(2))).*(x>qujian(2) & x<=ub);
%properties trans
qj2=[0.41,0.48]; lb2=0.35; ub2=0.52;
data(:,2)=fun(qj2,lb2,ub2,data(:,2));
qj3=[2.5,5]; lb3=2; ub3=5.8;
data(:,3)=fun(qj3,lb3,ub3,data(:,3));
qj6=[19,28]; lb6=17; ub6=32;
data(:,6)=fun(qj6,lb6,ub6,data(:,6));
for j=1:n
 b(:,j)=data(:,j)/norm(data(:,j)); % normalize the matrix
end
%% weight
% data analysis in 1
maxdata=repmat(max(data),m,1);
mindata=repmat(min(data),m,1);
max_min=maxdata-mindata;
stddata=(data-mindata)./max_min;
%calculatee the weight
f=(1+stddata)./repmat(sum(1+stddata),m,1);
e=-1/log(m)*sum(f.*log(f));
d=1-e;
w=d/sum(d); % 权重向量
%%
c=b.*repmat(w,m,1); %求加权矩阵
Cstar=max(c) %求正理想解
Cstar(1)=min(c(:,1)); Cstar(4)=min(c(:,4)); 
Cstar(5)=min(c(:,5)); 
Cstar(7)=max(c(:,7)); %属性 1,3,5,6 为成本型, 属性 2 为效益型
C0=min(c) %q 求负理想解
C0(1)=max(c(:,1)); C0(4)=max(c(:,4)); 
C0(5)=max(c(:,5)); 
C0(7)=min(c(:,7)); %属性 1,3,5,6 为成本型, 属性 8 为效益型
for i=1:m
 Sstar(i)=norm(c(i,:)-Cstar); %求到正理想解的距离
 S0(i)=norm(c(i,:)-C0); %求到负理想的距离
end
f=S0./(Sstar+S0);
[sf,ind]=sort(f,'descend'); %求排序结果
Y=[ind',sf'];
全部论文及程序请见下方“ 只会建模 QQ名片” 点击QQ名片即可

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1124448.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

深度分析微软未来十年在AI领域的投资机会

来源&#xff1a;猛兽财经 作者&#xff1a;猛兽财经 总结&#xff1a; &#xff08;1&#xff09;人工智能不仅仅是一个概念&#xff0c;还是一场旨在提高生产率的技术革命&#xff0c;并且有可能在未来十年让全球GDP增长10%。 &#xff08;2&#xff09;由于庞大的用户规模&…

数字化转型“黑话”知多少?一文让你不仅听得懂、还会落地执行

何为OEE&#xff1f;如何提升OEE&#xff1f; 从上图可知&#xff0c;客户是机加工行业的&#xff0c;而机加工行业属于重资产行业&#xff0c;主要以设备生产为主&#xff0c;管好设备、提升设备的综合效率&#xff08;OEE&#xff09;。效率高了&#xff0c;毛利率自然也会增…

java--三元运算符、运算符的优先级

1.三元运算符介绍 1.格式&#xff1a;条件表达式&#xff1f;值1&#xff1a;值2&#xff1b; 2.执行流程&#xff1a;首先计算关系表达式的值&#xff0c;如果值为true&#xff0c;返回值1&#xff0c;如果为false&#xff0c;返回值2 2.运算符优先级 1.在表达式中&#xf…

2016年408真题复盘

紫色标记是认为有一定的思维难度或重点总结 红色标记是这次刷真题做错的 记录自己对题目的一些想法与联系&#xff0c;可能并不太关注题目本身。 分数用时 选择部分10/23 78/8044min大题部分10/2361/7076min总分139120min 摘自知乎老哥&#xff1a;“我做历年真题时&#xff0c…

Unity中Shader的Fallback

文章目录 前言一、解决 Pass 复用的方案方案一&#xff1a;使用之前的UsePass方案&#xff0c;把ShadowCaster的Pass提出来到一个单独的Shader中&#xff0c;在使用的时候直接使用 UsePass方案二&#xff1a;使用Fallback功能 前言 Unity中Shader的Fallback&#xff0c;我们在…

g++ 重要编译参数

一. -g 产生带调试信息的可执行文件test 产生带调试信息的可执行文件test&#xff0c;如果不加-g&#xff0c;输出的test是不包含调试信息的。加了-g 才可以被GDB所调试。 g -g test.cpp -o test二. -o 优化源代码 优化指省略掉代码中从未使用过的变量&#xff0c;直接将常量…

成集云 | 云椒集成用友T | 解决方案

源系统成集云目标系统 方案介绍 云椒SAAS管理系统&#xff0c;帮助餐饮企业实现精细化管理、批量化生产、标准化出品、连锁化经营、降本增效、食安控制的全流程解决方案。该系统为团餐企业的转型和发展持续赋能&#xff0c;打造全产业链生命周期的可持续发展服务平台&#xf…

纺织工厂数字孪生3D可视化管理平台,推动纺织产业数字化转型

近年来&#xff0c;我国加快数字化发展战略部署&#xff0c;全面推进制造业数字化转型&#xff0c;促进数字经济与实体经济深度融合。以数字孪生、物联网、云计算、人工智能为代表的数字技术发挥重要作用。聚焦数字孪生智能工厂可视化平台&#xff0c;推动纺织制造业数字化转型…

程序设计(2023年10月)

函数传参有三种方式&#xff1a;值传递&#xff0c;地址传递&#xff0c;引用传递 排序算法&#xff1a;见下文八大排序 数据结构—八大排序_数据结构排序-CSDN博客

在pycharm中创建python模板文件

File——>Setting——>File and Code Templates——>Python Scripts 在文本框中输入模板内容

“揭秘!京东关键字搜索接口,轻松获取海量精准商品信息!“

京东关键字搜索接口是一种应用程序接口&#xff0c;它允许开发者通过使用特定的关键词或短语来查询京东的商品数据库&#xff0c;获取相关的商品信息和销售数据。 通过这个接口&#xff0c;企业和个人可以快速、准确地获取他们所需的商品信息&#xff0c;进而提高销售和客户满…

pd19虚拟机软件 Parallels Desktop 19 mac中文停用功能

Parallels Desktop 19 mac是一款功能强大的虚拟机软件&#xff0c;它允许用户在Mac电脑上同时运行Windows、Linux和其他操作系统。Parallels Desktop提供了直观易用的界面&#xff0c;使用户可以轻松创建、配置和管理虚拟机。 Parallels Desktop 19 for Mac停用功能 从Paralle…

Java中,如何去掉字符串中前面所有的0

大家好&#xff0c;我是三叔&#xff0c;这期主要给大家分享下在开发中使用的字符串的一些常见方法。 例如&#xff1a;00000000110&#xff0c;现在需要去掉前面所有补的0&#xff0c;得到110&#xff0c;相信大家在开发中肯定有遇到过类似的开发需求&#xff0c;如何做&…

comfyui安装指南及animaldiff使用

云盘文件 如果网络无法下载&#xff0c;我也找了对应网盘文件 链接&#xff1a;https://pan.quark.cn/s/19c83810e915 comfyui安装 https://github.com/comfyanonymous/ComfyUI/releases https://github.com/comfyanonymous/ComfyUI/releases/download/latest/ComfyUI_windo…

TCP通信_支持多个客户端同时通信 群聊

客户端 package TCP3;//完成TCP通信的 多发多收import java.io.DataOutputStream; import java.io.OutputStream; import java.net.Socket; import java.util.Scanner;public class Client {public static void main(String[] args)throws Exception {//1&#xff1a;创建Sock…

【必看技巧】Access开发者必备:如何用代码隐藏功能区、导航区、状态栏?

hi&#xff0c;大家好呀&#xff01; 今天想着给大家分享点啥呢&#xff1f;最近几个月断更的有些“勤快”了&#xff0c;那就给大家分享个几行代码。 当我们在access中开发完成后&#xff0c;为了让我们的系统更加的像一个系统&#xff0c;我们会把access的功能区&#xff0…

品牌公关稿件怎么写?纯干货

品牌公关稿件成为了各大企业传播价值观、提升品牌形象的重要手段。然而&#xff0c;如何撰写一篇高质量的、吸引人的品牌公关稿件却让许多人头疼不已。本文伯乐网络传媒将从选题、结构、语言、传播等方面&#xff0c;为您详细解析品牌公关稿件的写作技巧&#xff0c;帮助您轻松…

Spring底层原理(一)

Spring底层原理&#xff08;一&#xff09; ApplitionContext与BeanFactory BeanFactory是ApplicationContext的父接口BeanFactory才是Spring的核心容器,ApplicationContext对其功能进行了组合 类图 内部方法调用 BeanFactory的功能 获取bean检查是否包含bean获取bean别名 …

Vite介绍及实现原理

Vite介绍及实现原理 一、Vite简介1.1、什么是Vite1.2 、Vite的主要特性1.3、 为什么要使用Vite 二、Vite的实现原理2.1、依赖处理2.2、静态资源加载2.3、vue文件缓存2.4、 js/ts处理 三、热更新原理四、vite基本使用4.1、安装4.2、搭建项目 一、Vite简介 1.1、什么是Vite Vite…

“中国版Zara”拉夏贝尔:从辉煌到破产清算

文/ 大力财经 拉夏贝尔的破产清算&#xff0c;让人不禁惋惜。这个曾经被誉为“中国版Zara”的女装品牌&#xff0c;在全国拥有超过2000家门店&#xff0c;一度是年轻人的追捧对象。 然而&#xff0c;由于市场竞争激烈、品牌定位模糊、库存积压严重等问题&#xff0c;拉夏贝尔…