前提・実現したいこと
ロジスティック型増殖方程式、u(t)=10/(1+(u-1)exp(-t))、du/dt=u(1-u/10)、0≦t≦8、u(0)=1、N=50、分割幅h=8/Nの条件のもとでu(N)の値をオイラー法で求めるという問題です。どうしてもエラーが出てしまう為解決方法を教えて頂きたいです。
作ったコード
C++
1#include <stdio.h> 2#include <math.h> 3 4#define N 50 //分割数 5 6double f(double t,double u); 7double u_true(double t); 8 9int main(void){ 10 //初期値 11 double t=0.0; 12 double u=1.0; 13 double h=(8.0-0.0)/(double)N; //刻み幅 14 15 printf("t u u_true\n"); 16 for(double i=0; i<N; i++){ 17 u = u + h*f(t,u); 18 t = t + h; 19 printf("%5.5lf, %5.5lf, %5.5lf\n",t,u,u_true(t)); 20 } 21} 22 23double f(double u){ 24 return u*(1-u/10); 25} 26double u_true(double u, double t){ 27 return 10/(1+(u-1)*exp(-t)); //真の解 28}
エラー文
C++
1linker command failed with exit code 1(use -v to see invocation) 2clang
調べたところ同名のクラスが定義されていることやタイプミスが原因らしいのですが、自分では解決に至らなかった為質問させて頂きました。
よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/29 01:55 編集
2020/07/29 01:59 編集
2020/07/29 02:36