楼主: Nicolle
218 10

【独家发布】C Recipes [分享]

版主

巨擘

0%

还不是VIP/贵宾

-

TA的文库  其他...

Python Programming

SAS Programming

Must-Read Books

威望
16
论坛币
12288392 个
通用积分
204.4478
学术水平
3059 点
热心指数
3059 点
信用等级
2856 点
经验
452549 点
帖子
21012
精华
92
在线时间
8050 小时
注册时间
2005-4-23
最后登录
2019-10-21

Nicolle 学生认证  发表于 2019-10-9 09:13:19 |显示全部楼层
C Recipes

本帖隐藏的内容

http://www.allitebooks.org/c-recipes-2/



A Problem-Solution Approach
Author:Shirish ChavanISBN-10:1484229665Year:2017Pages:446Language:EnglishFile size:6.1 MBFile format:PDFCategory:C & C++


关键词:Recipes Recipe IPE CIP Category

本帖被以下文库推荐

stata SPSS
Nicolle 学生认证  发表于 2019-10-9 09:18:09 |显示全部楼层

11-16. To Solve a Differential Equation Using Modified Euler’s Method

本帖最后由 Nicolle 于 2019-10-9 09:19 编辑
  1. float euler(float p, float q) /* L3 */
  2. { /* L4 */
  3. float r; /* L5 */
  4. r = p * p + q; /* L6 */
  5. return(r); /* L7 */
  6. } /* L8 */
  7. /* BL */
  8. void main() /* L9 */
  9. { /* L10 */
  10. int i = 1, j, k; /* L11 */
  11. float x[MAX], y[MAX], store1[MAX], store2[MAX]; /* L12 */
  12. float b, h, u, v, w; /* L13 */
  13. printf("\nModified Euler's Method to Solve a Differential Equation. "); /* L14 */
  14. printf("\nFunction for calculation of slope: y' = x * x + y\n"); /* L15 */
  15. printf("Enter the initial value of the variable x, x0: "); /* L16 */
  16. scanf("%f", &x[0]); /* L17 */
  17. printf("Enter the final value of the variable x, xn: "); /* L18 */
  18. scanf("%f", &b); /* L19 */
  19. printf("Enter the initial value of the variable y, y0: "); /* L20 */
  20. scanf("%f", &y[0]); /* L21 */
  21. printf("Enter the value of subinterval, h: "); /* L22 */
  22. scanf("%f", &h); /* L23 */
  23. store2[0] = y[0]; /* L24 */
  24. while(x[i-1] < b) { /* L25 */
  25. w = 100.0; /* L26 */
  26. x[i] = x[i-1] + h; /* L27 */
  27. store1[i] = euler(x[i-1], y[i-1]); /* L28 */
  28. k = 0; /* L29 */
  29. while(w > 0.0001) { /* L30 */
  30. u = euler(x[i], store2[k]); /* L31 */
  31. v = (store1[i] + u)/2; /* L32 */
  32. store2[k+1] = y[i-1] + v * h; /* L33 */
  33. w = store2[k] - store2[k+1]; /* L34 */
  34. w = fabs(w); /* L35 */
  35. k = k + 1; /* L36 */
  36. } /* L37 */
  37. y[i] = store2[k]; /* L38 */
  38. i = i + 1; /* L39 */
  39. } /* L40 */
  40. printf("\nThe Values of X and Y are: \n"); /* L41 */
  41. printf("\nX-values Y-values\n"); /* L42 */
  42. for(j=0; j < i; j++) { /* L43 */
  43. printf("%f %f\n", x[j], y[j]); /* L44 */
  44. } /* L45 */
  45. printf("\nThank you.\n"); /* L46 */
  46. }
复制代码

回复

使用道具 举报

Nicolle 学生认证  发表于 2019-10-9 09:21:45 |显示全部楼层
11-15. To Compute the Value of Integration Using Simpson’s 1/3rd Method of Numerical Integration
  1. /* This program implements Simpson's 1/3rd Method of Numerical Integration. */
  2. /* BL */
  3. #include<stdio.h> /* L1 */
  4. /* BL */
  5. # define MAX 50 /* L2 */
  6. /* BL */
  7. float simpson(float x) /* L3 */
  8. { /* L4 */
  9. return (1/(1+x*x)); /* L5 */
  10. } /* L6 */
  11. /* BL */
  12. void main() /* L7 */
  13. { /* L8 */
  14. int i, j, num; /* L9 */
  15. float a, b, h, x[MAX], y[MAX], sum, result = 1; /* L10 */
  16. printf("\nSimpson's 1/3rd Method of Computation of Integral."); /* L11 */
  17. printf("\nIntegrand: f(x) = 1/(1+x*x) \n"); /* L12 */
  18. printf("\nEnter the lower limit of integration, a : "); /* L13 */
  19. scanf("%f", &a); /* L14 */
  20. printf("Enter the upper limit of integration, b : "); /* L15 */
  21. scanf("%f", &b); /* L16 */
  22. printf("Enter the number of subintervals, num : "); /* L17 */
  23. scanf("%d" ,&num); /* L18 */
  24. h = (b - a)/num; /* L19 */
  25. sum = 0; /* L20 */
  26. sum = simpson(a) + 4 * simpson(a + h) + simpson(b); /* L21 */
  27. for(i=3; i < num; i+=2) { /* L22 */
  28. } /* L24 */
  29. result = sum * h / 3; /* L25 */
  30. printf("\nValue of Integration : %5.3f", result); /* L26 */
  31. printf("\nThank you.\n"); /* L27 */
  32. }
复制代码


回复

使用道具 举报

Nicolle 学生认证  发表于 2019-10-9 09:28:14 |显示全部楼层
11-11. To Construct the New Data Points Using Laplace Everett’s Method of Interpolation
  1. /* This program implements Laplace Everett's Method of Interpoloation. */
  2. /* BL */
  3. # include <stdio.h> /* L1 */
  4. /* BL */
  5. # define MAX 20 /* L2 */
  6. /* BL */
  7. void main() /* L3 */
  8. { /* L4 */
  9. int i, j, terms; /* L5 */
  10. float ax[MAX], ay[MAX], x, y = 0, h, p, q; /* L6 */
  11. float diff[MAX][5], y1, y2, y3, y4, py1, py2, py3, py4; /* L7 */
  12. printf("\nInterpolation by Laplace Everett's Method."); /* L8 */
  13. printf("\nEnter the number of terms (Maximum 20): "); /* L9 */
  14. scanf("%d", &terms); /* L10 */
  15. printf("\nEnter the values of x upto 2 decimal points.\n"); /* L11 */
  16. for (i=0; i<terms; i++) { /* L12 */
  17. printf("Enter the value of x%d: ", i+1); /* L13 */
  18. scanf("%f",&ax[i]); /* L14 */
  19. } /* L15 */
  20. printf("\nNow enter the values of y upto 4 decimal points.\n"); /* L16 */
  21. for (i=0; i < terms; i++) { /* L17 */
  22. printf("Enter the value of y%d: ", i+1); /* L18 */
  23. scanf("%f", &ay[i]); /* L19 */
  24. } /* L20 */
  25. printf("\nEnter the value of x for which the value of y is wanted: "); /* L21 */
  26. scanf("%f", &x); /* L22 */
  27. h = ax[1] - ax[0]; /* L23 */
  28. for(i=0; i < terms-1; i++) /* L24 */
  29. diff[i][1] = ay[i+1] - ay[i]; /* L25 */
  30. for(j=2; j <= 4; j++) /* L26 */
  31. for(i=0; i < terms-j; i++) /* L27 */
  32. diff[i][j] = diff[i+1][j-1] - diff[i][j-1]; /* L28 */
  33. i = 0; /* L29 */
  34. do { /* L30 */
  35. i++; /* L31 */
  36. } while(ax[i] < x); /* L32 */
  37. i--; /* L33 */
  38. p = (x - ax[i])/h; /* L34 */
  39. q = 1 - p; /* L35 */
  40. y1 = q * (ay[i]); /* L36 */
  41. y2 = q * (q*q-1) * diff[i-1][2]/6; /* L37 */
  42. y3 = q * (q*q-1) * (q*q-4) * (diff[i-2][4])/120; /* L38 */
  43. py1 = p * ay[i+1]; /* L39 */
  44. py2 = p * (p*p-1) * diff[i][2]/6; /* L40 */
  45. py3 = p * (p*p-1) * (p*p-4) * (diff[i-1][4])/120; /* L41 */
  46. y = y1 + y2 + y3 + y4 + py1 + py2 + py3; /* L42 */
  47. printf("\nFor x = %6.2f, y = %6.4f ", x, y); /* L43 */
  48. printf("\nThank you.\n"); /* L44 */
  49. } /* L45 */
复制代码
回复

使用道具 举报

xjg 发表于 2019-10-9 14:11:32 |显示全部楼层
回复

使用道具 举报

吉鹿宇 发表于 2019-10-9 22:04:50 |显示全部楼层
好书瞧一瞧
回复

使用道具 举报

HappyAndy_Lo 发表于 2019-10-9 23:34:42 |显示全部楼层
回复

使用道具 举报

fengyg 企业认证  发表于 2019-10-10 06:44:24 |显示全部楼层
kankan
回复

使用道具 举报

8384243866 发表于 2019-10-10 09:09:37 |显示全部楼层
kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
回复

使用道具 举报

qiuhongfeidu 发表于 2019-10-10 09:41:55 |显示全部楼层
感谢分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 我要注册

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2019-10-21 11:09