Matlab用导数作定性分析

5.1知识要点:函数作图 —用导数定性描述函数

【      clf,x=linspace(-8,8,30);f=(x-3).^2./(4*(x-1));  plot(x,f)    】

【      fplot('(x-3)^2/(4*(x-1))',[-8,8]))      】

【     clf,x=sym('x'); f=(x-3)^2/(4*(x-1)); ezplot(f,[-8,8])      ,

title('(x-3)^2/(4*(x-1))','fontsize',11) ,

xlabel('x','fontsize',11)                            】

◆按函数绘图步骤绘制完整的函数图,直接用Matlab符号演算完成必须的计算。

【    df_dx=diff('(x-3)^2/(4*(x-1))')         】

【     sym('x');factor(df_dx)                     】

【     f=inline('(x-3)^2/(4*(x-1))');X1=[-1,f(-1)],X2=[3,f(3)]           】

求符号二阶导数d2y/dx2:

【     df2_dx2=diff(‘(x-3)^2/(4*(x-1))’,2)      】

二阶导数的因式分解:

【    sym('x'); factor(df2_dx2)        】

【      syms x

f_left=limit('(x-3)^2/(4*(x-1))',x,1,'left')

f_right=limit('(x-3)^2/(4*(x-1))',x,1,'right')     】

【    syms x

f_minus_inf=limit('(x-3)^2/(4*(x-1))',x,-inf,'right')

f_plus_inf=limit('(x-3)^2/(4*(x-1))',x,inf,'left')         】

③有无斜渐近线?

【    syms x, a=limit('((x-3)^2/(4*(x-1)))/x',x,inf)         】

【    b=limit('(x-3)^2/(4*(x-1))-(1/4)*x',x,inf,'left')       】

5.2实验与观察:微分方程的定性解图示

5.2.1人口增长的预测

1.Malthus模型

2.Logistic模型

【   N=dsolve('DN=r*(1-N/Nm)*N','N(t0)=N0')              】

3.微分方程解的定性分析

观察1:

◆(1)求N = N (t)的驻点和拐点。

【      syms t

dN2_dt2=diff('r*(1-N(t)/Nm)*N(t)',t) ,  dN2_dt2=factor(dN2_dt2)                      】

4.用导数作稳定性分析

下面是绘制图5.8的参考程序。

【     clf, N=linspace(0,300,50);

dN=0.3134*(1-N/250).*N;

plot(N,dN),hold on,

plot([0 300],[0,0]),

plot([0,250/2,250],[0,0,0],'o'),

xlabel('N','fontsize',11),ylabel('dN','fontsize',11),

text(N(32),dN(32),'\leftarrow\it{d N / d t}>0,相点递增右移','fontsize',11),

text(125,dN(45),'\it{dN/dt}<0,相点递减左移     \rightarrow','fontsize',11);

h=text(251/2,1.5,'\it{N_m/2}');set(h,'fontsize',11)                          】

5.观察程序及其说明

zxy5_1.m    (绘制函数图象,图5.3)

【   clf, x=sym('x'); f=(x-3)^2/(4*(x-1)); g=x/4-5/4;

hold on,

h=line([-8 8],[0,0]); set(h,'color’,'red’);

h=line([0 0],[-8,8]); set(h,'color’,'red’);

line([1 1],[-8 8]);plot([-1 1 3],[-2,0,0],'o’),

ezplot(g,[-8 8]); ezplot(f,[-8,8]),        %符号函数绘图

text(-1-0.5,-2-0.5,'(-1,-2)’);text(1,0-0.5,'(1,0)'); text(3,0.5,'(3,0)');

x=1.4;text(x,subs(f),'\leftarrow{(x-3)}^{2}/{4(x-1)}');

x=0.6;text(x,subs(f),'\leftarrow{(x-3)}^{2}/{4(x-1)}');

x=2.5;text(x,subs(g),'\leftarrow斜渐近线{y=x/4-5}');

text(1,-2,'\leftarrow垂直渐近线x=1');title('(x-3)^2/4(x-1)')        】

zxy5_2.m  (人口预测,图5.5)

【    global p1;clf,

t1=[1790 1800 1810 1820 1830 1840 1850 1860 1870 1880 1890 1900    1910 1920 1930  1940 1950  1960  1970  1980 ];

x=[3.9  5.3  7.2  9.6  12.9 17.1 23.2 31.4 38.6 50.2 62.0 72.0  92.0 106.5 123.2 131.7 150.7 179.3 204.0 226.5];

p1(1)=3.9; p1(2)=250;p1(3)=1790;p1(4)=0.03134;

[t,N]=ode23('Logistic_fun',[1790 2100],3.9);

plot(t,N,t1,x,'o',t,250*ones(1,length(t))),axis([1790 2100 0 300]),

xlabel('t','fontsize',11), ylabel('N','fontsize',11)                  】

Logistic_fun.m

【      function dN = Logistic_fun(t,N)

global p1

N0=p1(1);Nm=p1(2);t0=p1(3);r=p1(4);

dN =r*(1-N/Nm)*N;   】

zxy5_3.m  (方程的解轨线和相轨线,图5.6)

【    clear,clf

global p1;

p1(1)=3.9; p1(2)=250;p1(3)=0;p1(4)=0.03134;Nm=p1(2);

tpas=linspace(0,300,1000);

plot([0 0],[0,500],':',[0 300],[Nm,Nm],':',[0 300],[Nm/2,Nm/2],':'),

axis([-50 300 0 500]),xlabel('t'),ylabel('N'),hold on

text(-30,Nm,'\it{N_m}\rightarrow'); text(-35,Nm/2,'\it{N_m/2}\rightarrow');

button=1;

while button==1

k=[];

[t0,N0,button]=ginput(1);

[t,N]=ode23('Logistic_fun',tpas,N0);

k=find(N<=Nm/2+1&N>=Nm/2-1);

ts=tpas(k);Ns=N(k);   text(-35,N0,'\it{N_0}\rightarrow');

plot(t0,N0,'o',ts,Ns,'square',t,N,':'),hold on

comet(t,N),pause,comet(0*ones(length(t),1),N)

end          】

这一程序是不难读懂的。

5.3 应用、思考和练习

5.3.1.函数作图

◆(2) 下面的绘图较复杂一些,是一个很好的练习。

图5.9 x(t),y(t)的曲线

zxy5_4.m

【   clf,n=2000;a=-4;b=6;c=-8;d=8;

t=linspace(a,b,n);

x=(t.^2)./(t-1);y=t./(t.^2-1);

kx=find(abs(x)>=d);x(kx)=NaN;

ky=find(abs(y)>=d);x(ky)=NaN;

plot(t,[x;y],'.','markersize',3),

hold on,plot([a b],[0,0],'r',[0 0],[c,d],':'),axis([a b c d]),

xlabel('t'),ylabel('x and y') ,

text(-3.8,7,'put any key to show x=x(t)');pause,comet(t,x),

text(-3.8,6,'put any key to show y=y(t)');pause,comet(t,y)    】

5.3.2.平衡点的分类

5.3.3定性分析的应用

1.捕鱼业持续的收获

画定性分析图的程序zxy5_4.m

【    clf,clear,N=50; r=4.4;E=[0.5 2.2 6.5];x=linspace(0,N,30);

f1=r*x.*(1-x/N);plot(x,r.*x,':','linewidth',2),axis([0 50 0 80]),hold on

text(x(10),r*x(10),['\leftarrow y=rx,  r= ',num2str(r)])

for i=1:3

f2(i,:)=E(i)*x;

text(x(5),f2(i,5),['\leftarrow y=',num2str(E(i)),'x'])

end

plot(x,f1,x,f2),hold on,

text(x(22),f1(22),['\leftarrow dx/dt=rx(1-x/N)']),xlabel('x'),ylabel('dx/dt')   】

2. 蚜虫生长和跃变

200多个MATLAB经典教程和MATLAB论文请查看:matlab教程

matlab中的导函数驻点,Matlab用导数作定性分析相关推荐

  1. matlab中的导函数驻点,[MATLAB基础] 求驻点

    求驻点 将第一组和第二组数据求平均作为最终的数据,并找出其所有驻点,并在图形中标记显示,若有可能将最终结果写到一文本文件中 x=0.835561279 0.83676356 0.837643138 0 ...

  2. matlab中dist的命令,matlab dist函数

    dist--欧式距离加权函数(Euclidean distance weight function) 语法: Z = dist(W,P) df = dist('deriv') D = dist(pos ...

  3. matlab中错误使用fmincon,MATLAB中fmincon 函数问题

    MATLAB中fmincon 函数问题 Matlab的fmincon优化问题 请问: 各位高手帮忙看看我的程序又什么问题?显示错误 Error in ==> Fun at 33 [w,fval] ...

  4. matlab中ode指令,[转载]MATLAB中ODE的使用

    ode23 解非刚性微分方程,低精度,使用Runge-Kutta法的二三阶算法.ode45 解非刚性微分方程,中等精度,使用Runge-Kutta法的四五阶算法.ode113 解非刚性微分方程,变精度 ...

  5. matlab中找矩阵最小值,matlab寻找矩阵最小值

    硕士生考查课程考试试卷 考试科目: 考生姓名: 学院: 考生成绩:任课老师 (签名) MATLAB 教程 考生学号:专业: 考试日期:20 年月日午 时至 时 <MATLAB 教程>试题: ...

  6. 在matlab中积分怎样表示,Matlab在积分中的应用.ppt

    Matlab在积分中的应用 Matlab在微积分中的应用 高等数学最基本的概念集中在极限.导数.积分.微分等几个部分,本章主要介绍Matlab在这几方面的应用 一.极限.导数与微分 1.极限 limi ...

  7. matlab中希腊字母相除,matlab中希腊字母

    如何在matlab中输入希腊字母_数学_自然科学_专业资料.matlab数据可视化处理,绘图技巧 如何在 matlab 中输入希腊字母 matlab 中用转义符来输入希腊字母的方法 上标用 ..... ...

  8. MATLAB中 raw(,利用Photoshop + Matlab 解析10-bit RAW

    1.Photoshop处理RAW 运行Photoshop,打开RAW图.在跳出的选项窗口填入图像基本信息: 宽度.长度:Sensor长宽: 通道数量:1: 位深(Depth):16Bits: 字节顺序 ...

  9. m 文件 dll matlab 中调用_Java与MatLab混编

    该篇介绍Java与MatLab的混合编程 环境:Windows10,Jdk 1.8.0_261 64位,MatLab r2018b 64位 先安装MatLab MatLab安装 一.打开MatLab, ...

最新文章

  1. 计算机对下列几种存储器访问速度,2005年7月自考02275计算机基础与程序设计真题及答案...
  2. 从实体类get方法拿不到值,可能是字段带_的原因
  3. 基于命令行设置lazy-queue
  4. mysql中存储gis数据类型_mysql 中的数据类型
  5. [vue] 你有看过vue的源码吗?如果有那就说说看
  6. 【转】 基于C#.NET的高端智能化网络爬虫 2
  7. 【linux】centos7下muduo库的安装
  8. 选择Eclipse 的列编辑模式
  9. python图书馆座位预约系统毕业设计开题报告
  10. 计算机打印机副机无法打印,局域网打印机无法打印怎么办 局域网打印机无法打印解决方法...
  11. 「案例分析」生鲜行业B2B供应链平台开发案例
  12. 用C语言做的即时通讯软件,即时通讯软件代码-C语言来编写类似QQ的即时通讯软件求代码!!!...
  13. 超立方体结构图计算机系统,科学网—超立方体或将构成纳米计算机
  14. PDF编辑方法,怎么给PDF添加页码
  15. 挑战大数据 金仓助力三农自助支付系统
  16. 计算机年龄测试题,我的世界:五道测试题,看看你游戏时间是否和MC年龄相当...
  17. 高德地图自定义地图怎么去除最上边这个默认的蓝色天空?太丑了!!
  18. excel计算二元线性回归_谁说菜鸟不会数据分析(高级篇)及竞争力 excel②
  19. 【转载】Java 14都快出来了,为什么还有那么多人执着于Java 8?
  20. android百度地图设置logo,缩放按钮,指南针的位置

热门文章

  1. 每个Java开发人员都应该知道的10个基本工具
  2. 开源mindmap_Java开发人员访谈的MindMap
  3. java中无法推断类型参数_Java中的推断异常
  4. 企业应用程序集成简介
  5. Lucene查询(搜索)语法示例
  6. 如何以及何时使用例外
  7. 卖家工具箱源码_我的测试和代码分析工具箱
  8. 使用Spring-Cloud将Spring Boot应用程序部署到Cloud Foundry
  9. JDBC布尔兼容性列表
  10. 扩展Spring Batch –步骤分区