Bladeren bron

Justerat scilab-bild

Jonatan Gezelius 5 jaren geleden
bovenliggende
commit
f0ec06f26f
2 gewijzigde bestanden met toevoegingen van 226 en 228 verwijderingen
  1. 151 212
      rapport/main.pdf
  2. 75 16
      scilab/pulses/pulse shape.sce

File diff suppressed because it is too large
+ 151 - 212
rapport/main.pdf


+ 75 - 16
scilab/pulses/pulse shape.sce

@@ -1,34 +1,93 @@
 xdel(winsid())
 clear;
 
-t = [0:0.01:20];
-a = 0.5;
-b = 0.6;
+t = linspace(-2,20,2000);
+a = 0.4;
+b = 0.45;
 k = 1;
 
+magnitude = 100;
+offset = 24
+
+// Generera självaste pulsformen
 y = k*(exp(-a*t) - exp(-b*t) );
-ymax = max(y)*ones(1,length(y));
 
-//y = [zeros(1,500) y];
+// Fyll på med lite platt mark före t=0
+y(y<0) = 0;
+
+// Normalisera till 1 och multiplicera med magnituden
+y = y/max(y)*magnitude;
+
+// Hitta index för första passagen av 10%
+x10r = 0;
+for i = [1:length(y)]
+    if(y(i) > 0.1*magnitude)
+        if((y(i)-0.1*magnitude) < (0.1*magnitude-y(x10r)))
+            x10r = i;
+        end;
+        break;
+    end;
+    x10r = i;
+end
+
+// Hitta index för första passagen av 90%
+x90r = 0;
+for i = [1:length(y)]
+    if(y(i) > 0.9*magnitude)
+        if((y(i)-0.9*magnitude) < (0.9*magnitude-y(x90r)))
+            x90r = i;
+        end;
+        break;
+    end;
+    x90r = i;
+end
+
+// Hitta index för första passagen av 10%
+x10f = 0;
+for i = [length(y):-1:1]
+    if(y(i) > 0.1*magnitude)
+        if((y(i)-0.1*magnitude) < (0.1*magnitude-y(x10f)))
+            x10f = i;
+        end;
+        break;
+    end;
+    x10f = i;
+end
 
+// Lägg på ett offset
+y = y+offset;
+
+
+//Generera vertikala linjer
 xpts = [1 1];
-ypts = [0 max(y)];
-plot(xpts*0.07, ypts, '--');
-plot(xpts*1.1, ypts, '--');
-plot(xpts*8.96, ypts, '--');
+ypts = [-100 max(y)*2];
+//plot(xpts*0, ypts, '-black'); // Vertikalt streck på x = 
+plot(xpts*t(x10r), ypts, ':');
+plot(xpts*t(x90r), ypts, ':');
+plot(xpts*t(x10f), ypts, '-.');
 
-plot(t,y, 'black');
-plot(t,ymax.*0.1, '--');
-plot(t,ymax.*0.9, '--');
+// Generera horisontella linjer
+plot(t, y, "black");
+hline = ones(1,length(y));
+plot(t,hline.*y(x10r), ':');
+p = get("hdl");
+p = p.children;
+p.line_style = 7;
+plot(t,hline.*y(x90r), ':');
 
 // titletxt = ['$y = k(e^{-\alpha t} - e^{-\beta t})$' ; strcat(['$k=', string(k), ', \alpha=', string(a), ', \beta=', string(b), '$']) ];
 
 //titletxt = '$u(t) = k(e^{-\alpha t} - e^{-\beta t})$';
 //title(titletxt , 'fontsize', 8);
-xlabel('t (s)', 'fontsize', 7);
-ylabel('U (V)', 'fontsize', 7, 'rotation', 0);
+//xlabel('t (s)', 'fontsize', 7);
+//ylabel('U (V)', 'fontsize', 7, 'rotation', 0);
 
 a = get("current_axes");
-a.axes_visible = "off";
-a.data_bounds = [0,-0.01;20,0.07];
+//a.axes_visible = "off";
+// Rita axlarna i 0
+//a.x_location = "origin";
+//a.y_location = "origin";
+
+
+a.data_bounds = [min(t),-0.02;max(t),200];
 

Some files were not shown because too many files changed in this diff