| 查看: 253 | 回复: 0 | ||
冉冉升起93新虫 (初入文坛)
|
[求助]
不能求出解析解的方程求数值解,新手求指导
|
|
#include<stdio.h> #include<math.h> #define step 0.01 void fm(); double fs(double); double ki; FILE *fp1; main() { fp1=fopen("fig2a.txt","w" ;ki=0.0; fm(); fclose(fp1); fp1=fopen("fig2b.txt","w" ;ki=1000.0; fm(); fclose(fp1); fp1=fopen("fig2c.txt","w" ;ki=3000.0; fm(); fclose(fp1); fp1=fopen("fig2d.txt","w" ;ki=6000.0; fm(); fclose(fp1); } //////////////////////////////////////////////////////////////////// void fm() { float a; double t=0.0; double a0=0.01; long int i; fprintf(fp1,"t\t a\n",t,a); for(i=0;i<=150;i++)//对时间t的循环 { //a=a0+fs(a0)*step; double result; double ks=0.000001, n0=1000,i0=3000,k=200; double A,B,C,res1,res2,res3,res4,res,m,mn,a; //for(i=0;i<1000;i++)//a { A=(k/ki)*((ki+i0)/k*(1+k*n0)-i0/(1+k*ki+k*n0)); B=(1+i0/ki)/(1+k*n0); C=-i0/(ki*(1+k*ki+k*n0)); res1=pow((1+k*a),(-A/k)); res2=pow((n0-a),B); res3=pow((n0-a+ki),C); res4=exp(-ks*t-m); res=res1*res2*res3; mn=res-res4; if(mn<0.00001) { fprintf(fp1,"%f\t %f\n",t,a); } a=a+0.01; } t=t+step; a0=a; |
» 猜你喜欢
请教限项目规定
已经有5人回复
拟解决的关键科学问题还要不要写
已经有8人回复
最失望的一年
已经有16人回复
存款400万可以在学校里躺平吗
已经有33人回复
求助一下有机合成大神
已经有3人回复
求推荐英文EI期刊
已经有5人回复
26申博
已经有3人回复
基金委咋了?2026年的指南还没有出来?
已经有10人回复
基金申报
已经有6人回复
疑惑?
已经有5人回复














;
回复此楼