Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function q=euler(b)
- zadana = 10
- histereza =b
- g_gorna = zadana + histereza/2;
- g_dolna = zadana -histereza/2;
- dt = 0.1;
- x= 0:dt:10;
- y = zeros(size(x));
- y(1)=0;
- q = zeros(size(x));
- q(1)=0;
- e = zeros(size(x));
- e(1)=zadana -y(1);
- for i=1:length(x)-1
- if(y(i)>g_gorna)
- u =0;
- end
- if(y(i) < g_dolna)
- u= zadana *3;
- end
- y(i+1)=1/3*(u-2*y(i))*dt+y(i);
- e(i+1)=zadana - y(i+1);
- q(i+1) = abs(zadana - y(i+1));
- end
- q=trapz(x,q);
- plot(x,e);
- endfunction
- function jakoscQ()
- h=0:1:8;
- q= size(h);
- i=1;
- for b=0:1:8
- q(i)=eulerz(b);
- i=i+1;
- end
- plot(h,q);
- endfunction
- function eulertrzyhist()
- zadana = 20;
- u = zadana*2;
- histereza = 10;
- granica_g = zadana + histereza / 2;
- granica_d = zadana - histereza / 2;
- dt = 0.1;
- t = 0 : dt : 25;
- y= zeros(size(t));
- y(1) = 0;
- e(1)=zadana-y(1);
- for i=1 :1: length(t) - 1
- if (y(i) > granica_g)
- u = 0;
- elseif (y(i) < granica_d)
- u = zadana* 4.5;
- elseif(y(i)>granica_d && u == zadana*4.5)
- u = zadana * 4;
- end
- y(i + 1) = 1/2 * dt * (u - 3*y(i)) + y(i);
- e(i + 1) = zadana - y(i + 1);
- end
- plot(t,e);
- endfunction
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement