Advertisement
babynerds

Untitled

Nov 26th, 2015
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.39 KB | None | 0 0
  1. function vingByf()
  2. %Funktion som anger tryck i noder i ett vattenledningsn?t.
  3.  
  4. %Matrisen Vingby l?ses in.
  5.  
  6. load Vingby
  7.  
  8. %Storleken f?r A och sources anges och storleken p? b
  9. %anges med samma antal rader som A.
  10. [m,~]=size(A);
  11. [e,~]=size(sources);
  12.  
  13. b=zeros(m,1);
  14.  
  15. %En for-loop som skapar v?rden f?r trycket vid vattentorn. Antalet
  16. %vattentorn best?ms av antalet element i sources.
  17. %V?rden f?r varje vattentorn beg?rs och s?tts in i b p? den rad
  18. %som anges i sources.
  19. for k=1:e
  20. b_k=input('Ange v?rdet f?r trycket i ett vattentorn: ');
  21. b(sources(k,1),1)=b_k;
  22. end
  23.  
  24.  
  25. %Trycket vid noderna l?ses ut med LU-faktorisering.
  26. [L, U, P]=lu(A);
  27. d=L\(P*b);
  28. p=U\d;
  29.  
  30. %Medeltrycket av alla noder r?knas ut och skrivs ut.
  31. medeltryck=mean(p);
  32. disp('Medeltryck: ')
  33. disp(medeltryck)
  34.  
  35. %Ange om en graf ?nskas.
  36. graf = input('Vill du se en graf? "ja" eller "nej". ', 's');
  37.  
  38.  
  39. if strcmp(graf, 'ja')
  40. bar(p)
  41. title('Tryck vid noder i ett vattenledningsn?t')
  42. xlabel('Noder')
  43. ylabel('Tryck (bar)')
  44. end
  45.  
  46. %Ange om ber?kningen ska utf?ras igen, annars avsluta.
  47. repeat = input('Upprepa ber?kningen? "ja" eller "nej". ', 's');
  48. if strcmp(repeat, 'ja')
  49. vingByf()
  50. else
  51. exit
  52. end
  53. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement