Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function vingByf()
- %Funktion som anger tryck i noder i ett vattenledningsn?t.
- %Matrisen Vingby l?ses in.
- load Vingby
- %Storleken f?r A och sources anges och storleken p? b
- %anges med samma antal rader som A.
- [m,~]=size(A);
- [e,~]=size(sources);
- b=zeros(m,1);
- %En for-loop som skapar v?rden f?r trycket vid vattentorn. Antalet
- %vattentorn best?ms av antalet element i sources.
- %V?rden f?r varje vattentorn beg?rs och s?tts in i b p? den rad
- %som anges i sources.
- for k=1:e
- b_k=input('Ange v?rdet f?r trycket i ett vattentorn: ');
- b(sources(k,1),1)=b_k;
- end
- %Trycket vid noderna l?ses ut med LU-faktorisering.
- [L, U, P]=lu(A);
- d=L\(P*b);
- p=U\d;
- %Medeltrycket av alla noder r?knas ut och skrivs ut.
- medeltryck=mean(p);
- disp('Medeltryck: ')
- disp(medeltryck)
- %Ange om en graf ?nskas.
- graf = input('Vill du se en graf? "ja" eller "nej". ', 's');
- if strcmp(graf, 'ja')
- bar(p)
- title('Tryck vid noder i ett vattenledningsn?t')
- xlabel('Noder')
- ylabel('Tryck (bar)')
- end
- %Ange om ber?kningen ska utf?ras igen, annars avsluta.
- repeat = input('Upprepa ber?kningen? "ja" eller "nej". ', 's');
- if strcmp(repeat, 'ja')
- vingByf()
- else
- exit
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement