Advertisement
Guest User

Untitled

a guest
Jan 16th, 2018
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.06 KB | None | 0 0
  1.  
  2. clc
  3. clear all
  4. close all
  5. syms a1 a2 a3 a4 x l;
  6.  
  7. %funkcja aproksymujaca
  8. v=a1*x^2+a2*x^3+a3*x^4+a4*x^4
  9.  
  10. % p1_v - pierwsza pochodna funkcji v(x)
  11. p1_v=diff(v)
  12.  
  13. %p2_v - druga pochodna funkcji v(x)
  14. p2_v=diff(p1_v)
  15.  
  16. %Minimalizacja funkcjonału po współczynniku a1
  17. f_a1=diff((p2_v)^2,a1);
  18. f_a1=diff(f_a1,a1) %usunięcie współ. a2, a3, a4
  19. C_a1=int(f_a1,x);
  20. C1=a1*(subs(C_a1,x,1)-subs(C_a1,x,0))
  21.  
  22. %Minimalizacja funkcjonału po współczynniku a2
  23. f_a2=diff((p2_v)^2,a2);
  24. f_a2=diff(f_a2,a2) %usunięcie współ a1, a3, a4
  25. C_a2=int(f_a2,x);
  26. C2=a1*(subs(C_a2,x,1)-subs(C_a2,x,0))
  27.  
  28. %Minimalizacja funkcjonału po współczynniku a3
  29. f_a3=diff((p2_v)^2,a3);
  30. f_a3=diff(f_a3,a3) %usunięcie współ a1, a2, a4
  31. C_a3=int(f_a3,x);
  32. C3=a1*(subs(C_a3,x,1)-subs(C_a3,x,0))
  33.  
  34. %Minimalizacja funkcjonału po współczynniku a4
  35. f_a4=diff((p2_v)^2,a4);
  36. f_a4=diff(f_a4,a4) %usunięcie współ a1, a2, a3
  37. C_a4=int(f_a4,x);
  38. C4=a4*(subs(C_a4,x,1)-subs(C_a4,x,0))
  39.  
  40. %oblicznie całek reprezentujacych pracę wydatku s(x)
  41. syms w0
  42.  
  43. %dla pochodnej po a1
  44. f=(w0+(1-(x/l)^4))*v;
  45. a1_f=diff(f,a1);
  46. C_a1_f=int(a1_f,x);
  47. Cp1=subs(C_a1_f,x,1)-subs(C_a1_f,x,0);
  48. Cp1=simplify(Cp1)
  49.  
  50. %dla pochodnej po a2
  51. a2_f=diff(f,a2);
  52. C_a2_f=int(a2_f,x);
  53. Cp2=subs(C_a2_f,x,1)-subs(C_a2_f,x,0);
  54. Cp2=simplify(Cp2)
  55.  
  56. %dla pochodnej po a3
  57. a3_f=diff(f,a3);
  58. C_a3_f=int(a3_f,x);
  59. Cp3=subs(C_a3_f,x,1)-subs(C_a3_f,x,0);
  60. Cp3=simplify(Cp3)
  61.  
  62. %dla pochodnej po a4
  63. a4_f=diff(f,a4);
  64. C_a4_f=int(a4_f,x);
  65. Cp4=subs(C_a4_f,x,1)-subs(C_a4_f,x,0);
  66. Cp4=simplify(Cp4)
  67.  
  68. %oblicznie współczynników
  69. syms E J
  70. C=sym(zeros(4,4)); b=sym(zeros(4,1));
  71. C(1,1)=C1/a1; b(1,1)=Cp1;
  72. C(2,2)=C2/a2; b(2,1)=Cp2;
  73. C(3,3)=C3/a3; b(3,1)=Cp3;
  74. C(4,4)=C4/a4; b(4,1)=Cp4;
  75. C=(E*J/2)*C
  76. a=C\b;
  77.  
  78. F_a1=@(E,l,J,w0)eval(a(1,1));
  79. F_a2=@(E,l,J,w0)eval(a(2,1));
  80. F_a3=@(E,l,J,w0)eval(a(3,1));
  81. F_a4=@(E,l,J,w0)eval(a(4,1));
  82.  
  83. %dane liczbowe
  84. E=1
  85. J=1
  86. l=3
  87. w0=2
  88.  
  89. a1=F_a1(E,l,J, w0);
  90. a2=F_a2(E,l,J, w0);
  91. a3=F_a3(E,l,J, w0);
  92. a4=F_a4(E,l,J, w0);
  93. disp('a1 a2 a3 a4');[a1 a2 a3 a4]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement