私は 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) 値の両方)
- 成長関数の漸近値
- 微分関数の対応する最大の高さ
最大高さの前の微分関数の最小高さ
% set variabelen 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)