本博文源于matlab基础,今天用matlab的矩阵知识解决动物农场计算动物年龄的问题

某农场饲养的动物所能达到的最大年龄为15岁,将其分为三个年龄组:
第一组:0-5岁
第二组:6-10岁
第三组:11-15岁
动物从第二个年龄段开始繁殖后代,在其年龄段可以平均繁殖四个后代
在第三个年龄段的动物在其年龄段平均繁殖3个后代
第一组能活到第二组,存活率为1/2
第二组能活到第三组,存活率为1/4

现有三个年龄段动物各1000,问:五年后、十年后以及15年后农场,饲养的动物总数及农场三个年龄段的动物各将达到多少?

分析

看到题目,我们先要慌张一下,脑容量不够用,不够推算的。仔细想想我们有matlab,有做下去的底气。

令x1为0-5岁的动物数
x2为6-10岁的动物数
x3为11-15动物数,又因为动物最大活到15岁,因此可以分为三个周期,这三个周期分别为5年,10年、15年。我们计算xi(k)为第i个年龄组在第k (k=1,2,3) 个周期的数目,所以有

x1(k) = 4 * x2(k-1) + 3*x3(k-1)
x2(k)=1/2 * x1(k-1)
x3(k) = 1/4 * x2(k-1)

数学模型已经出来了,看起来有点像人口模型,转化为矩阵递推关系式

转化为代码

x0 = [1000;1000;1000]; % 初始各年龄组的动物数
L = [0 4 3;1/2 0 0;0 1/4 0]; % 系数矩阵
x1 = L * x0 % 5 年后
x2 = (L^2)*x0 % 10年后
x3 = (L^3)*x0 % 15年后
subplot(1,3,1)
pie(x1)
title('第一周期后')
subplot(1,3,2)
pie(x2)
title('第二周期后')
subplot(1,3,3)
pie(x3)
title('第三周期后')

运行结果

最后按照matlab 的结果进行结论就行了

matlab计算牧场动物寿命应用问题相关推荐

  1. matlab画复变函数,科学网—复数复变函数的Matlab计算与绘图 - 周铁戈的博文

    复数复变函数的Matlab计算与绘图 周铁戈 复数的表示 存在两种表示方法,一种是代数式,一种是指数式,在Matlab中的方式如下: >> z=1+2i            #代数式,1 ...

  2. 【数字信号处理】相关函数应用 ( 使用 matlab 计算相关函数 )

    文章目录 一.相关函数应用场景 1.生成高斯白噪声 2.信噪比 SNR 3.根据信噪比 SNR 求信号幅度 4.产生单载波信号及最终信号 5.求自相关函数及功率 6.matlab 完整代码 一.相关函 ...

  3. Matlab计算基站覆盖面积示例

    站间距 用D表示:小区半径为 R: 单扇区覆盖面积一般作为一个正六边形:D和R示意如下: 计算基站覆盖面积,一般算三个正六边形:下图填充部分: 公式如下: D一般算作R的1.5倍: 用matlab计算 ...

  4. P2 Matlab计算基础-《Matlab/Simulink与控制系统仿真》程序指令总结

    上一篇 回到目录 下一篇 <Matlab/Simulink与控制系统仿真>程序指令总结 Matlab_Simulink_BookExample 2. Matlab 计算基础 表2.1 Ma ...

  5. 2021-05-25 传递函数阶跃响应指标的matlab计算

    传递函数阶跃响应指标的matlab计算 对于一个常规的传递函数,我们在进行了阶跃仿真后经常需要给出对应的响应指标, sys = tf(1,[1 2 3]) y = step(sys) figure p ...

  6. fvdm 跟驰模型 matlab仿真_【新书推荐】【2009.01】控制系统MATLAB计算及仿真(第3版)(黄忠霖)...

    本书包括MATLAB语言基础.控制系统MATLAB仿真基础.控制系统MATLAB计算与仿真3篇. 本书上篇介绍了MATLAB 7.1 系统的相关知识,包括MATLAB 7.1系统概述与活的笔记本Not ...

  7. matlab 求复数的模长,matlab计算带有复数的函数,最后求复数函数的模,结果里面却有...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 matlab计算带有复数的函数,最后求复数函数的模,结果里面却有复数标志i,输入自变量,得到的结果确实是实数,不知道怎么回事; 代码如下: syms n2 ...

  8. matlab计算复活节概率,复活节日期的计算方法

    复活节(主复活日)是一个西方的重要节日,在每年春分月圆之后第一个星期日.基督徒认为,复活节象征着重生与希望,为纪念耶稣基督于公元30到33年之间被钉死在十字架之后第三天复活的日子. 算法 复活节是西方 ...

  9. c matlab 引擎调用,【MATLAB与C的混合编程】之【C程序调用Matlab计算引擎】(1)

    先贴本人调试通过的代码: #pragma comment(lib, "libmx.lib") //#pragma comment(lib, "libmat.lib&quo ...

最新文章

  1. 在node.js中一次读取一行文件?
  2. 转《浅谈数据库设计技巧》
  3. 01_ClickHouse概述,速度,分布式架构,列式存储,数据压缩,DBMS功能,有限支持DELETE、UPDATE功能,高吞吐写入功能,分布式计算,向量化执行引擎、架构、大数据处理架构
  4. 微软游戏开发工具XNA 2.0[转自驱动之家]
  5. 集腋成裘-10-ECharts -未知-03
  6. 以命令行的方式运行activity
  7. 重庆大学微型计算机基础实验,计控课程方案设计书.doc
  8. C++ 常见错误(02) —— 将dll(用c++写的)处理的结果展示在界面上
  9. FusionChart样例
  10. Linux下有趣的命令
  11. opencv 指定分辨率_更改OpenCV视频文件的分辨率
  12. 光猫超级账号密码、宽带账号密码 获取
  13. 天正双击墙体不能编辑_如何提高天正CAD画图速度?不妨试试以下几个技巧
  14. ADAS——高级驾驶辅助系统介绍
  15. 我的世界服务器如何修改权限设置,我的世界设置成员权限 | 手游网游页游攻略大全...
  16. TikTok跨境出海:TikTok的8种变现方式?
  17. PPT学习资源和实用技巧
  18. dae模型如何合并_PV3D学习笔记-导入DAE模型
  19. 001-SE-0011-网络编程
  20. 嵌入式:ARM中断系统设计全解

热门文章

  1. 火星数据-提供电竞游戏实时数据
  2. 【工具】5 个可以加速开发的 VueUse 库函数
  3. 「超级幻影猫2」专访:原汁原味和全新制造并不冲突
  4. 谈谈Persistent属性
  5. halcon 区域的最大直线距离 diameter_region
  6. 第967期机器学习日报(2017-05-12)
  7. Spoken English-口语-音节介绍
  8. 在anaconda环境中配置PCV和vlfeat
  9. ORB-SLAM源码中的相机参数设置
  10. VideoWriter的用法