我是一名试图使用matlab的生物学学生,因此我的数学和信息学知识有限。但是我尝试编写一些代码来获得以下内容:
我有一个函数 y=f(t) 来描述每个人的成长。y=f(t) 有 8 个变量,这些变量是恒定的,但对于每个人来说都是不同的。速度曲线是通过对 y=f(t) 函数进行微分得到的。下面可以看到增长和速度曲线的图片。红色曲线是增长曲线,蓝色曲线是速度曲线。
该函数由 y(t)= m1*(1-1/(1+(m2*(m0+m8))^m5+(m3*(m0+m8))^m6+(m4*(m0+m8) 描述)^m7))。t 在这里是自变量。m1 到 m8 是对每个人来说都是常数但在不同人之间不同的变量。
我想获得的是
- 增长函数的拐点(t 和 f(t) 值)
- 增长函数的渐近值
- 微分函数对应的最大高度
最大高度之前的微分函数的最小高度是
% 设置变量 syms t; m1=xlsread('jongens0','A1:A10'); m2=xlsread('jongens0','B1:B10'); m3=xlsread('jongens0','C1:C10'); m4=xlsread('jongens0','D1:D10'); m5=xlsread('jongens0','E1:E10'); m6=xlsread('jongens0','F1:F10'); m7=xlsread('jongens0','G1:G10'); m8=xlsread('jongens0','H1:H10');
% 为 i=1:10 设置循环
% 定义函数和微分函数 y(i)=m1(i)。(1-1./ (1+(m2(i).(t+m8 (i))).^m5(i)+(m3(i). (t+m8(i))).^m6( i)+(m4(i). (t+m8(i))).^m7(i))); dy(i)=diff(y(i))./dt;
% 信息提取 a=max(dy(i)); b=fminsearch(dy(i),x0,[0,a]); c=max(y(i)); d=限制(y(i),inf);e=inflect_pt((y(i)));
A = [abcde]
% 将信息写入excel xlswrite('output0',A)