Advertisement
gasaichan

Untitled

Mar 27th, 2018
395
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 1.06 KB | None | 0 0
  1. %% Этот код генерирует систему уравнений. Матрица A - коэффициенты при x1,..xn, матрица b - свободные члены.
  2.  
  3. n1 = input('Введите номер группы:')
  4. n2 = input('Введите ваш номер в списке группы:')
  5.  
  6. n = n1 + n2;
  7.  
  8. rand('seed', n);
  9. A = rand(7);
  10. b = 10 * rand(7, 1);
  11. Au = triu(A);
  12. Al = tril(A);
  13. Ad = diag(diag(A));
  14.  
  15. su = sum(sum(abs(Au)));
  16. sl = sum(sum(abs(Al)));
  17.  
  18. Su = sum(abs(Au));
  19. Sl = sum(abs(Al));
  20.  
  21. sigma = 5;
  22.  
  23. O = ones(7);
  24. Ou = triu(O);
  25.  
  26. S6 = diag(sigma * (Su./Sl));
  27. At = sigma * ((Al + Ou)./(Au'+Ou));
  28. neo = rem(n2, 2);
  29. mode = rem(n2, 3);
  30.  
  31. if (mode == 0) Al = (sigma*su/sl)*Al; end
  32. if (mode == 1) Al = S6*Al; end
  33. if (mode == 2) Al = At.*Al; end
  34.  
  35. A = Al + Ad + Au;
  36.  
  37. ma = max(max(abs(A)));
  38. if (ma > 1000) A = 0.08*A; end
  39. A = 0.5*A + 2.75*diag(diag(A)), b
  40.  
  41. %% Следующий код будет решать полученную систему методом Гаусса
  42.  
  43. C = [A b];
  44. D = rref(C);
  45. x = D(:, length(D))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement