Please note, this is a STATIC archive of website www.tutorialspoint.com from 11 May 2019, cach3.com does not collect or store any user information, there is no "phishing" involved.
% Städa bort gamla variabler och grafer
clear
clf
maxforandring = 0.005;
startvarde = 2000;
ff_start = 1.02;
AntalIterationer=1000;
totalVarde=0;
% Upprepa simulering av 5-årsutveckling 1000 gånger
for n=1:AntalIterationer
varde = startvarde;
ff_m = ff_start ^ (1/12);
% Simulera en 5-årsutveckling (60 månader)
for m=1:60
varde = varde * ff_m;
% Beräkna ny månadsutveckling baserad på
% ändrad årsutveckling
ff_y = ff_m ^ 12;
ff_y = ff_y + maxforandring * (2 * rand() - 1);
ff_m = ff_y ^ (1/12);
end
% Spara slutvärdet efter 5 år, avrundat till 10-tal
% Spara i en vektor för att kunna rita histogram
varde_vektor(n)=round(varde / 10) * 10;
% Spara totalvärdet för att kunna räkna genomsnitt
totalVarde=totalVarde + round(varde / 10) * 10;
end
% Matlab-specifika kommandon för att analysera data
% Skapa ett histogram
%hist(varde_vektor,30)
# Bestäm antalet simuleringar som gav en minskning och räkna ut sannolikheten
antalMinskande=0;
for m =varde_vektor
if m <= startvarde
antalMinskande=antalMinskande+1;
end
end
disp(["Genomsnittligt värde: ",num2str(mean(varde_vektor))])
disp(["Sannolikhet att det minskar: ",num2str(antalMinskande/length(varde_vektor))])
% Städa bort gamla variabler och grafer
clear
clf
antalTal=10000; % Variabel som anger antal tal
maxSteg=0; % Variabel för att räkna antal steg
% k räknar från 0 till antalTal
for k=1:antalTal
% Sätt startvärde för n, nollställ räknaren för steg
n=k;
steg = 0;
# Utför de steg som algoritmen föreskriver
while n != 1
steg =steg + 1;
if n / 2 == round(n / 2)
n=n/2;
else
n=3*n+1;
end
end
if steg> maxSteg
maxSteg=steg;
end
% Skriv ut resultat
disp([num2str(k)," (kräver ",num2str(steg)," steg)"])
stegArray(k)=steg;
end
%plot(1:antalTal,stegArray)
%[max maxindex]=max(stegArray)
maxSteg
% From To R X
z= [0 1 0 1.0
0 2 0 0.8
1 2 0 0.4
1 3 0 0.2
2 3 0 0.2
3 4 0 0.08];
function[Y] = ybus1(zdata)
nl=zdata(:,1); nr=zdata(:,2); R=zdata(:,3); X=zdata(:,4);
nbr=length(zdata(:,1)); nbus = max(max(nl), max(nr));
Z = R + j*X; %branch impedance
y= ones(nbr,1)./Zi %branch admittance
Y = zeros(nbus,nbus); % initialize Y to zero
for k = 1:nbr; % formation of the off diagonal elements
if nl(k) > 0 & nr(k) > 0
Y(nl(k),nr(k)) = Y(nl(k),nr(k)) -y(k);
Y(nr(k),nl(k)) = Y(nl(k),nr(k));
end
end
for n = 1:nbus % formation of the diagonal elements
for k= 1:nbr
if nl(k) == n | nr(k) == n
Y(n,n) = Y(n,n) + y(k);
else, end
end
end
Y = ybus1(z) % bus admittance matrix
Ibus = [-j*1.1; -j*1.25; 0;0];
Zbus = inv(y)
Vbus = Zbus * Ibus