注意:在通常情况下,matlab的工作区中不会显示函数内的变量。

以如下的SEIR模型为例:


function SEIR(xN,xE,xI,xR,xr,xr2,xB,xB2,xa,xy)%第一阶段fun1(837300,0,1,0,10,10,0.045,0.045,0.1,0.9)
N = xN;     %总人数
E = xE;        %潜伏人数
I = xI;          %感染人数
R = xR;          %康复人数
S = N - I-R;       %易感人数  r = xr;        %一个感染者的接触人数
r2 =  xr2 ;     %一个潜伏者的接触人数
B = xB;%x1;%0.045;      %接触感染者,易感到潜伏的传染率
B2 = xB2; %接触潜伏者,易感到潜伏的传染率
a = xa;      %潜伏到感染的传染率
y = xy;      %感染者的治愈率                                                          T = 1:150;%天数
for i = 1:length(T)-1 %也就是1:149S(i+1) = S(i) - r*B*S(i)*I(i)/N-r2*B2*S(i)*E(i)/N ;E(i+1) = E(i) + r*B*S(i)*I(i)/N(1)+r2*B2*S(i)*E(i)/N(1)-a*E(i);I(i+1) = I(i) + a*E(i) - y*I(i);R(i+1) = R(i) + y*I(i);Y(i+1)=I(i+1)+I(i)+ R(i+1);endsubplot(1,2,1);
plot(T,Y,'r');grid on;%绘制多条曲线并显示网格hold on;
subplot(1,2,2);
plot(T,I,'r');grid on;%绘制多条曲线并显示网格
hold on;
end

执行代码发现工作区不显示数组Y,I,T的值:

解决方法:

以函数输出的形式定义希望输出的变量:

function [A1,B1,C1]=SEIR(xN,xE,xI,xR,xr,xr2,xB,xB2,xa,xy)
%
%   xr,xr2大于0     xB,xB2,xa,xy都属于[0,1]
%第一阶段fun1(837300,0,1,0,10,10,0.045,0.045,0.1,0.9)
N = xN;     %总人数
E = xE;        %潜伏人数
I = xI;          %感染人数
R = xR;          %康复人数
S = N - I-R;       %易感人数  r = xr;        %一个感染者的接触人数
r2 =  xr2 ;     %一个潜伏者的接触人数
B = xB;%x1;%0.045;      %接触感染者,易感到潜伏的传染率
B2 = xB2; %接触潜伏者,易感到潜伏的传染率
a = xa;      %潜伏到感染的传染率
y = xy;      %感染者的治愈率                                                          T = 1:150;%天数
for i = 1:length(T)-1 %也就是1:149S(i+1) = S(i) - r*B*S(i)*I(i)/N-r2*B2*S(i)*E(i)/N ;E(i+1) = E(i) + r*B*S(i)*I(i)/N(1)+r2*B2*S(i)*E(i)/N(1)-a*E(i);I(i+1) = I(i) + a*E(i) - y*I(i);R(i+1) = R(i) + y*I(i);Y(i+1)=I(i+1)+I(i)+ R(i+1);end%
%经典SEIR模型的差分方程(间隔为1天)
A1 = Y;
B1 = I;
C1 = T;
subplot(1,2,1);
plot(T,Y,'r');grid on;%绘制多条曲线并显示网格hold on;
subplot(1,2,2);
plot(T,I,'r');grid on;%绘制多条曲线并显示网格
hold on;
end

改变的地方在这:

 

参考文章

matlab基础——在工作区内显示函数内的变量相关推荐

  1. main 函数内的变量是全局变量,还是局部变量?

    main 函数内的变量是全局变量,还是局部变量? (1)main 函数内的变量不是全局变量,而是局部变量 (2)只不过它的生命周期和全局变量一样长而已 (3)全局变量一定是定义在函数外部的

  2. 闭包:让外部函数能访问函数内的变量,让局部变量长期贮存在内存中

    闭包:让外部函数能访问函数内的变量,让局部变量长期贮存在内存中 转载于:https://www.cnblogs.com/xfdmb/p/6126408.html

  3. matlab基础知识 (六) 调用函数

    MATLAB® 提供了大量执行计算任务的函数.在其他编程语言中,函数等同于子例程或方法. 要调用函数,例如 max,请将其输入参数括在圆括号中: 例 A = [1 3 5]; max(A) ans = ...

  4. MATLAB 基础知识 数据类型 时间表 按行时间和变量类型选择时间表数据

    时间表是一种表类型,用于将时间与每一行进行关联.您可以使用时间表下标,以不同的方式选择其数据子集.要选择行时间位于给定的时间范围内的时间表行,请使用 timerange 函数指定时间范围.由于时间表是 ...

  5. keil单片机C语言输入函数,keil编写C程序是不是不能在函数内定义变量啊,求大神...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 肯定可以的:比如 程序动态显示字符 显示光标和光标闪烁打开效果 --------------------------------------------- ...

  6. keil c语言绝对值函数,keil编写C程序是不是不能在函数内定义变量啊,求大神

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 肯定可以的:比如 程序动态显示字符 显示光标和光标闪烁打开效果 --------------------------------------------- ...

  7. php 函数内临时变量,在PHP中调用函数时使用临时变量

    我觉得你被这么多"浪费"深深震撼. 保持冷静,使用变量没什么不好,你应该经常使用它们.它们通常会使您的代码更具描述性,甚至更快. 这里的描述部分就是更具描述性的部分,如果你查看那一 ...

  8. 〖Python零基础入门篇㉟〗- 私有函数、私有变量及封装

    订阅 Python全栈白宝书-零基础入门篇 可报销!白嫖入口-请点击我.推荐他人订阅,可获取扣除平台费用后的35%收益,文末名片加V! 说明:该文属于 Python全栈白宝书专栏,免费阶段订阅数量43 ...

  9. Javascript函数内静态变量与实例变量

    严格的来讲,js里面并没有静态与私有的概念,所有成员属性都是公开的,下面只是参考java语言,通过某种方式来实现类似的概念. 静态变量 1.私有静态变量 所有实例共享.因为是私有的变量,所以不能通过函 ...

最新文章

  1. bash参数及运算练习
  2. 国家发钱了!研究生补贴一览表!
  3. jps显示当前所有java进程pid
  4. 牛客练习赛71C-数学考试【容斥,dp】
  5. 2013年11月17日
  6. 一些JavaScript题目
  7. 华为机试HJ75:公共子串计算
  8. zebra(斑马)PDA扫码uniapp程序小demo
  9. 深度学习笔记_基本概念_Depthwise卷积与Pointwise卷积
  10. Android应用内存泄漏的定位、分析与解决策略 1
  11. abaqus2021安装及fortran关联
  12. 【开小灶】如何网盘批量转存?
  13. Linux内核加载f2fs,固态硬盘使用f2fs文件系统作为deepin引导分区经验
  14. 听说你要找前端工作,写一个酷炫的动画的简历呀
  15. springboot中static下的图片404
  16. 网线的水晶头做法568a,568b
  17. c语言 商品管理系统 顺序表的应用
  18. GSMA SGP.21协议学习
  19. 6.087 Practical Programming in C, lec10
  20. [转] 金山CEO求伯君今退休 老一代程序员时代结束

热门文章

  1. vivado synth 8-439 modulenot found
  2. 建筑企业也想享受15%优惠税率?你需要掌握4大指标2个关键
  3. 男女手机使用习惯上差异大
  4. python中json.loads_python中json.loads 返回类型是str 而不是 dict
  5. jquery中点击事件click的写法
  6. 查看java版本和安装路径
  7. 形而上学的不归路与认识论的正途 == 灰色地带
  8. python 使用gensim和pickle包,模拟智能客服系统
  9. “开挂”-修改植物大战僵尸的关卡和金币
  10. Vue3--ref使用(解决ref无法获取dom元素的问题)