KerMor  0.9
Model order reduction for nonlinear dynamical systems and nonlinear approximation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
plotSingle.m
Go to the documentation of this file.
2 namespace models{
3 namespace beam{
4 
5 
6 /* (Autoinserted by mtoc++)
7  * This source code has been filtered by the mtoc++ executable,
8  * which generates code that can be processed by the doxygen documentation tool.
9  *
10  * On the other hand, it can neither be interpreted by MATLAB, nor can it be compiled with a C++ compiler.
11  * Except for the comments, the function bodies of your M-file functions are untouched.
12  * Consequently, the FILTER_SOURCE_FILES doxygen switch (default in our Doxyfile.template) will produce
13  * attached source files that are highly readable by humans.
14  *
15  * Additionally, links in the doxygen generated documentation to the source code of functions and class members refer to
16  * the correct locations in the source code browser.
17  * However, the line numbers most likely do not correspond to the line numbers in the original MATLAB source files.
18  */
19 
21 
22 
23 /* nBeams = numel(this.Beams);
24  *
25  * title_string = sprintf('Balkenwerk zur Zeit t = %2.2f (Verschiebungen um Faktor %2.0f vergrößert)', t, this.PlotFactor);
26  * title(title_string, 'FontSize', 12, 'FontWeight', 'bold');
27  *
28  * %% Coloring
29  * col = this.ColorMap;
30  * if isempty(this.cbh)
31  * colormap(col);
32  * this.cbh = colorbar;
33  * xlabel(this.cbh, 'Temperatur', 'FontSize', 12);
34  * end
35  * % Extract temperatures
36  * temps = u(4:4:end);
37  * % For real-time plots: Adopt new heat scale if none set yet
38  * if (max(temps) > this.maxTemp) || (min(temps) < this.minTemp)
39  * this.minTemp = min(temps);
40  * this.maxTemp = max(temps);
41  * caxis([this.minTemp this.maxTemp]);
42  * end
43  * col_index = fix((temps - this.minTemp) / (this.maxTemp - this.minTemp + eps) * (size(col,1)-1)) + 1;
44  *
45  * cla;
46  * hold on;
47  * for i = 1:nBeams
48  * p = this.Beams(i).p(:);
49  * % Ausgangslage
50  * plot3(this.Points(p,1), this.Points(p,2), this.Points(p,3), 'k:' );
51  *
52  * % (End)Indizes der Anfangs- und Endpunkte des Elements im globalen
53  * % Verschiebungsvektor
54  * indices = 4*(this.data.knot_index(p)-1)+1;
55  * % (Verst�rkte) Verschiebung der der Anfangs- u Endpunkte
56  * u_p = this.PlotFactor * [u(indices) u(indices+1) u(indices+2)];
57  * plot3(this.Points(p,1) + u_p(:,1), this.Points(p,2) + u_p(:,2),...
58  * this.Points(p,3) + u_p(:,3), '-+', 'LineWidth', ...
59  * this.BeamLineWidth, 'Color', col(col_index(i),:));
60  * end
61  * hold off; */
62 
63  /* % Plot Options
64  * Vergr��erung der Verschiebungen */
65  plot_options.multiplier= model.PlotFactor;
66  /* Nummer der Figure, in der geplottet wird */
67  plot_options.figure= 11;
68  /* Titel der Colorbar und gleichzeitig zu visualisierende Gr��e
69  * Temperatur, Normalkraft, Querkraft y, Querkraft z, Torsionsmoment,
70  * Biegemoment y, Biegemoment z,
71  * Gesamtquerkraft, Gesamtbiegemoment */
72  plot_options.colorbar= " Normalkraft ";
73  plot_options.axis= " auto ";
74  /* Testszenario
75  * plot_options.axis = [-17 17 -17 2 -2 17]; % Grenzen der Achsen des Plots
76  * Rohrleitungen y
77  * plot_options.axis = [-2 2 -1 11 -4 4]; % Grenzen der Achsen des Plots
78  * Rohrleitungen z
79  * plot_options.axis = [-2 2 -4 4 -1 11]; % Grenzen der Achsen des Plots
80  * Simpel1
81  * plot_options.axis = [-2 17 -1 1 -5 5]; % Grenzen der Achsen des Plots
82  * "Spazierstock"-Testcase (Simpel2)
83  * plot_options.axis = [-17 26 -1 1 -15 10]; % Grenzen der Achsen des Plots */
84 
85  plot_options.centerline= 3; /* Linienst�rke der Mittellinie (0: keine, 1: d�nn, 2: dick mit Endmarkierung) */
86 
87  plot_options.endmarker= 3; /* Linienst�rke der Endmarker */
88 
89  plot_options.crosssection= 0; /* Querschnitte (0: keine, 1: nach Theorie 1. Ordn, 2: Theorie 2. Ordn, sonst: exakt rotiert) */
90 
91  plot_options.ref_config= 1; /* Plotten der Ausgangslage (0: nein, 1: ja) */
92 
93 
94  p = model.Points;
95  video = false;
96  knoten_index = model.data.knot_index;
97 
98  hlp = zeros(7*model.data.num_knots,1);
99  hlp(model.free) = u(1:length(model.free));
100  hlp(model.dir_u) = model.u_dir;
101  u = hlp;
102 
103 /* persistent h; */
104  if nargin == 3 || isempty(h) || ~ishandle(h)
105  h = figure(plot_options.figure);
106  axis equal;
107  axis(plot_options.axis)
108  /* RotMat = viewmtx(37.5, 30);
109  * view(RotMat) */
110 
111  /* Spirale, Rohrleitungen */
112  view(3)
113 
114  /* view(-37.5-video,30)
115  * camva(10)
116  * Portal
117  * view(0,0) */
118  set(h, " Color ", " White ")
119  if (video)
120  set(gcf, " Renderer ", " zbuffer ");
121  end
122 
123  if (strcmp(plot_options.colorbar,) == 0)
124  handle = colorbar;
125  xlabel(handle, plot_options.colorbar, " FontSize ", 12)
126  end
127 
128  hold on;
129  else
130  cla;
131  end
132  title_string = sprintf(" Balkenwerk zur Zeit t = %2.2f (Verschiebungen um Faktor %2.0f vergr��ert) ", t, plot_options.multiplier);
133  title(title_string, " FontSize ", 15, " FontWeight ", " bold ");
134 
135  /* % Ausgangslage */
136  if (plot_options.ref_config)
137  el = model.Elements;
138  for i = 1:length(el)
139  e = el[i];
140  if isa(e," models.beam.StraightBeam ")
141  plot3( p(e.PointsIdx(:),1), p(e.PointsIdx(:),2), p(e.PointsIdx(:),3), " k: ", " LineWidth ", 1 );
142  elseif isa(e," models.beam.CurvedBeam ")
143 /* split = max(fix(split_factor_KR / (0.5*pi/KR(i).angle)), 1); */
144  s = 0 : e.angle/(e.split+1) : e.angle;
145  /* Parametrisierung des Viertelkreises in lokalen Koords */
146  x = e.R * cos(s);
147  y = e.R * sin(s);
148  z = 0*s;
149  /* Umrechnung in globale Koords und Verschiebung um globale Koords des lokalen Ursprungs e.pc */
150  COR = e.T * [x; y; z];
151  plot3( p(e.pc, 1) + COR(1,:), p(e.pc, 2) + COR(2,:), p(e.pc, 3) + COR(3,:), " k: " );
152  else
153  /* for i = 1:num_elem_FH
154  * s = 0 : FH(i).Length/(4*split_factor_FH) : FH(i).Length;
155  * % Parametrisierung des Viertelkreises in lokalen Koords
156  * y = (FH(i).Length/(2*split_factor_FH)) * sin( 2*pi*s / (FH(i).Length/split_factor_FH) );
157  * x = s;
158  * z = 0*s;
159  * % Umrechnung in globale Koords und Verschiebung um globale Koords des
160  * % lokalen Ursprungs e.pc
161  * COR = FH(i).T * [x; y; z];
162  * plot3( p(FH(i).p(1), 1) + COR(1,:), p(FH(i).p(1), 2) + COR(2,:), p(FH(i).p(1), 3) + COR(3,:), 'k:', 'LineWidth', 1 );
163  * end */
164  end
165  end
166  end
167 
168  /* % Berechnung der zu visualisierenden Gr��en
169  * VARIANTE 1: Visualisierung nach Normalkr�ften
170  * -------------------------------------------------------------------------
171  * N = zeros(num_elem_RO + num_elem_KR, 1);
172  * offset = 0;
173  * for i = 1:num_elem_RO
174  *
175  * T_block = RO(i).T;
176  *
177  * u1 = [u(7*knoten_index(RO(i).p(1))-6) u(7*knoten_index(RO(i).p(1))-5) u(7*knoten_index(RO(i).p(1))-4)]';
178  * % t1 = [u(6*knoten_index(e(i,1))-2) u(6*knoten_index(e(i,1))-1) u(6*knoten_index(e(i,1)))]';
179  * u2 = [u(7*knoten_index(RO(i).p(2))-6) u(7*knoten_index(RO(i).p(2))-5) u(7*knoten_index(RO(i).p(2))-4)]';
180  * % t2 = [u(6*knoten_index(e(i,2))-2) u(6*knoten_index(e(i,2))-1) u(6*knoten_index(e(i,2)))]';
181  *
182  * u1_lok = T_block' * u1;
183  * u2_lok = T_block' * u2;
184  * % t1_lok = T_block' * t1;
185  * % t2_lok = T_block' * t2;
186  *
187  * N(i) = (u1_lok(1) - u2_lok(1)) / RO(i).l; */
188 
189  /*
190  * offset = offset + 1;
191  * end
192  *
193  * for i = 1:num_elem_KR
194  *
195  * indices = 7*knoten_index(KR(i).p(:));
196  * % Verschiebung der der Anfangs- u Endpunkte
197  * u_elem = [u(indices-6) u(indices-5) u(indices-4) u(indices-3) u(indices-2) u(indices-1)];
198  *
199  * T_block_0 = KR(i).T * KR(i).Fren(0);
200  * T_block_L = KR(i).T * KR(i).Fren(KR(i).angle);
201  *
202  * u0_lok = T_block_0' * u_elem(1,1:3)';
203  * t0_lok = T_block_0' * u_elem(1,4:6)';
204  * uL_lok = T_block_L' * u_elem(2,1:3)';
205  * tL_lok = T_block_L' * u_elem(2,4:6)';
206  *
207  * x = [u0_lok; t0_lok; uL_lok; tL_lok];
208  *
209  * [Ns, B] = circle_shape_functions(KR(i).R, KR(i).R * KR(i).angle, 0);
210  *
211  * Q = B(7:9,:)*x;
212  *
213  * N(offset + i) = Q(1);
214  *
215  * end
216  *
217  * N_min = min(N);
218  * N_max = max(N); */
219 
220 
221  /* VARIANTE 2: Visualisierung nach Temperatur
222  * ------------------------------------------------------------------------- */
223  el = model.Elements;
224  N = zeros(length(el));
225  idx = [];
226  for i = 1:length(el)
227  e = el[i];
228  if ~isa(e," models.beam.Truss ")
229  idx(end+1) = i;/* #ok */
230 
231  N(i) = .5*sum(u(7*knoten_index(e.PointsIdx(:))));
232  end
233  end
234  /* Reduce to actually assigned temperatures (excluding trusses)
235  * N(i) entspricht Farbe f�r this.Elements{idx(i)} */
236  N = N(idx);
237 
238  N_min = 0;
239  N_max = 2e6;
240 
241  /* % Colormaps und Farbindexing
242  * col = colormap('hot');
243  * Eigene Colormap erstellen (num_col Farben)
244  * blau -> gr�n -> rot
245  * num_col = 128;
246  * dc = [0:2/num_col:1]';
247  * col = [0*dc dc 1-dc; dc 1-dc 0*dc];
248  * blau -> gr�n -> gelb -> rot */
249  num_col = 128;
250  dc = [0:3/num_col:1]^t;
251  col = [0*dc dc 1-dc; dc 0*dc+1 0*dc; 0*dc+1 1-dc 0*dc];
252  colormap(col);
253  caxis([N_min N_max]);
254 
255  /* Den einzelnen Werten von N den richtigen Index in der Colormap zuweisen */
256  if ( (N_max - N_min) > 1e-5 )
257  col_index = fix( (N - N_min) / (N_max - N_min) * (size(col,1)-1)) + 1;
258  else
259  col_index = 0*N + fix(size(col,1)/2);
260  end
261 
262  col_index(col_index > num_col) = 128;
263  col_index(col_index < 1) = 1;
264 
265  val_min = +1e20;
266  val_max = -1e20;
267 
268  /* % Plotten */
269  offset = 0;
270  for i = 1:length(el)
271  e = el[i];
272  if isa(e," models.beam.StraightBeam ")
273  /* (End)Indizes der Anfangs- und Endpunkte des Elements im globalen
274  * Verschiebungsvektor */
275  indices = 7*knoten_index(e.PointsIdx(:));
276  /* (Verst�rkte) Verschiebung der der Anfangs- u Endpunkte
277  * u_p = plot_options.multiplier * [u(indices-6) u(indices-5) u(indices-4)]; */
278 
279  /* plot3( p(e.p(:),1) + u_p(:,1), p(e.p(:),2) + u_p(:,2), p(e.p(:),3) + u_p(:,3), '-+', 'LineWidth', 3, 'Color', col(col_index(i),:) ); */
280  offset = offset + 1;
281 
282  u1_lok = [e.T" * u([indices(1)-6:indices(1)-4]); e.T " * u([indices(1)-3:indices(1)-1])];
283  u2_lok = [e.T" * u([indices(2)-6:indices(2)-4]); e.T " * u([indices(2)-3:indices(2)-1])];
284 
285  /* Ableitungen der Basisfunktionen */
286  N_prime_1 = e.beam_shape_functions_derivative(0);
287  N_prime_2 = e.beam_shape_functions_derivative(e.Length);
288  /* Ableitungen der Variablen berechnen */
289  u1_prime_lok = N_prime_1 * [u1_lok; u2_lok];
290  u2_prime_lok = N_prime_2 * [u1_lok; u2_lok];
291 
292  if ( strcmpi(plot_options.colorbar, " Temperatur ") )
293  /* Temperatur */
294  val1 = u(7*knoten_index(e.p(1)));
295  val2 = u(7*knoten_index(e.p(2)));
296  elseif ( strcmpi(plot_options.colorbar, " Normalkraft ") )
297  /* Normalenkraft */
298  val1 = e.c(13) * e.Length * u1_prime_lok(1);
299  val2 = e.c(13) * e.Length * u2_prime_lok(1);
300  elseif ( strcmpi(plot_options.colorbar, " Querkraft y ") )
301  /* Querkraft y */
302  val1 = e.c(3) / e.Length * (u1_prime_lok(2) - u1_lok(6));
303  val2 = e.c(3) / e.Length * (u2_prime_lok(2) - u2_lok(6));
304  elseif ( strcmpi(plot_options.colorbar, " Querkraft z ") )
305  /* Querkraft z */
306  val1 = e.c(3) / e.Length * (u1_prime_lok(3) - u1_lok(5));
307  val2 = e.c(3) / e.Length * (u2_prime_lok(3) - u2_lok(5));
308  elseif ( strcmpi(plot_options.colorbar, " Gesamtquerkraft ") )
309  /* Gesamtquerkraft */
310  val1 = e.c(3) / e.Length * sqrt((u1_prime_lok(2) - u1_lok(6))^2 + (u1_prime_lok(3) - u1_lok(5))^2);
311  val2 = e.c(3) / e.Length * sqrt((u2_prime_lok(2) - u2_lok(6))^2 + (u2_prime_lok(3) - u2_lok(5))^2);
312  elseif ( strcmpi(plot_options.colorbar, " Torsionsmoment ") )
313  /* Torsionsmoment */
314  val1 = e.c(14) * e.Length * abs(u1_prime_lok(4));
315  val2 = e.c(14) * e.Length * abs(u2_prime_lok(4));
316  elseif ( strcmpi(plot_options.colorbar, " Biegemoment y ") )
317  /* Biegemoment y */
318  val1 = e.c(1) * u1_prime_lok(5);
319  val2 = e.c(1) * u2_prime_lok(5);
320  elseif ( strcmpi(plot_options.colorbar, " Biegemoment z ") )
321  /* Biegemoment z */
322  val1 = e.c(1) * u1_prime_lok(6);
323  val2 = e.c(1) * u2_prime_lok(6);
324  elseif ( strcmpi(plot_options.colorbar, " Gesamtbiegemoment ") )
325  /* Gesamtbiegemoment */
326  val1 = e.c(1) * sqrt(u1_prime_lok(5)^2 + u1_prime_lok(6)^2);
327  val2 = e.c(1) * sqrt(u2_prime_lok(5)^2 + u2_prime_lok(6)^2);
328  else
329  /* Keine Farbe */
330  val1 = N_min;
331  val2 = N_min;
332  end
333 
334  if (val1 > val_max)
335  val_max = val1;
336  end
337  if (val2 > val_max)
338  val_max = val2;
339  end
340  if (val1 < val_min)
341  val_min = val1;
342  end
343  if (val2 < val_min)
344  val_min = val2;
345  end
346 
347  /* Den farbgebenden Werten col1 u col2 aufgrund der Grenzen N_min/max Farbindex zuweisen */
348  cols = fix( ([val1 val2] - N_min) / (N_max - N_min) * (size(col,1)-1)) + 1;
349  cols(cols > num_col) = num_col;
350  cols(cols < 1) = 1;
351  /* this.plot_beam(e.split, e.T, e.c, p(e.PointsIdx(1),:), p(e.PointsIdx(2),:), plot_options.multiplier*u1_lok, plot_options.multiplier*u2_lok, cols(1), cols(2), plot_options) */
352  e.plot(p, plot_options.multiplier*u1_lok, plot_options.multiplier*u2_lok, cols(1), cols(2), plot_options)
353 
354  elseif isa(e," models.beam.CurvedBeam ")
355  /* (End)Indizes der Anfangs- und Endpunkte des Elements im globalen
356  * Verschiebungsvektor */
357  indices = 7*knoten_index(e.PointsIdx(:));
358 
359  /* Verschiebung der der Anfangs- u Endpunkte */
360  u_elem = [u(indices-6) u(indices-5) u(indices-4) u(indices-3) u(indices-2) u(indices-1)];
361 
362 /* split = max(fix(split_factor_KR / (0.5*pi/e.angle)), 1);
363  * split = e.split;
364  * s = ( 0 : (e.angle/split) : e.angle );
365  *
366  * x = e.R * cos(s);
367  * y = e.R * sin(s);
368  * z = 0*s;
369  * COR = e.T * [x; y; z]; */
370 
371  u1_lok = e.T_block1" * u_elem(1,1:3) ";
372  t1_lok = e.T_block1" * u_elem(1,4:6) ";
373  u2_lok = e.T_block2" * u_elem(2,1:3) ";
374  t2_lok = e.T_block2" * u_elem(2,4:6) ";
375  u1 = [u1_lok; t1_lok];
376  u2 = [u2_lok; t2_lok];
377 
378  /* d/ds(u) - theta x e_1 (Querkr�fte ohne Stoffkonstanten) */
379  Q_temp = e.B3*[u1; u2];
380  /* d/ds(theta) (Momente ohne Stoffkonstanten) */
381  M_temp = e.B4*[u1; u2];
382 
383  if ( strcmpi(plot_options.colorbar, " Temperatur ") )
384  /* Temperatur */
385  val1 = u(7*knoten_index(e.PointsIdx(1)));
386  val2 = u(7*knoten_index(e.PointsIdx(2)));
387  /* Schnittgr��en �ber Element konstant! */
388  elseif ( strcmpi(plot_options.colorbar, " Normalkraft ") )
389  /* Normalenkraft */
390  val1 = e.c(3) * Q_temp(1);
391  val2 = val1;
392  elseif ( strcmpi(plot_options.colorbar, " Querkraft y ") )
393  /* Querkraft y */
394  val1 = e.c(4) * Q_temp(2);
395  val2 = val1;
396  elseif ( strcmpi(plot_options.colorbar, " Querkraft z ") )
397  /* Querkraft z */
398  val1 = e.c(4) * Q_temp(3);
399  val2 = val1;
400  elseif ( strcmpi(plot_options.colorbar, " Gesamtquerkraft ") )
401  /* Gesamtquerkraft */
402  val1 = e.c(4) * sqrt(Q_temp(2)^2 + Q_temp(3)^2);
403  val2 = val1;
404  elseif ( strcmpi(plot_options.colorbar, " Torsionsmoment ") )
405  /* Torsionsmoment */
406  val1 = e.c(2) * abs(M_temp(1));
407  val2 = val1;
408  elseif ( strcmpi(plot_options.colorbar, " Biegemoment y ") )
409  /* Biegemoment y */
410  val1 = e.c(1) * M_temp(2);
411  val2 = val1;
412  elseif ( strcmpi(plot_options.colorbar, " Biegemoment z ") )
413  /* Biegemoment z */
414  val1 = e.c(1) * M_temp(3);
415  val2 = val1;
416  elseif ( strcmpi(plot_options.colorbar, " Gesamtbiegemoment ") )
417  /* Gesamtbiegemoment */
418  val1 = e.c(1) * sqrt(M_temp(2)^2 + M_temp(3)^2);
419  val2 = val1;
420  else
421  /* Keine Farbe */
422  val1 = N_min;
423  val2 = val1;
424  end
425 
426  if (val1 > val_max)
427  val_max = val1;
428  end
429  if (val2 > val_max)
430  val_max = val2;
431  end
432  if (val1 < val_min)
433  val_min = val1;
434  end
435  if (val2 < val_min)
436  val_min = val2;
437  end
438 
439  cols = fix( ([val1 val2] - N_min) / (N_max - N_min) * (size(col,1)-1)) + 1;
440  cols(cols > num_col) = num_col;
441  cols(cols < 1) = 1;
442  u1 = plot_options.multiplier * u1;
443  u2 = plot_options.multiplier * u2;
444 
445  e.plot(p, u1, u2, cols(1), cols(2), plot_options);
446 
447 /* x = [u0_lok; t0_lok; uL_lok; tL_lok];
448  * x_lok = zeros(6, length(s));
449  * for j = 1:length(s)
450  * Ns = circle_shape_functions(e.R, e.R*s(j), e.B);
451  * x_lok(:,j) = Ns*x;
452  * end
453  *
454  * u_lok = x_lok(1:3,:);
455  * u_p = 0*u_lok;
456  * u_p(:,1) = plot_factor * u_elem(1,1:3)';
457  * u_p(:,length(s)) = plot_factor * u_elem(2,1:3)';
458  * for k = 2:length(s)-1
459  * u_p(:,k) = plot_factor * e.T * e.Fren(s(k)) * u_lok(:,k);
460  * end
461  * plot3( p(e.pc, 1) + COR(1,:) + u_p(1,:), p(e.pc, 2) + COR(2,:) + u_p(2,:), p(e.pc, 3) + COR(3,:) + u_p(3,:), 'LineWidth', 3, 'Color', col(col_index(offset + i),:) );
462  * plot3( p(e.PointsIdx(:),1) + u_p(1,[1 length(s)])', p(e.PointsIdx(:),2) + + u_p(2,[1 length(s)])', p(e.PointsIdx(:),3) + u_p(3,[1 length(s)])', '+', 'LineWidth', 3, 'Color', col(col_index(offset + i),:) );
463  * % plot3( p(e.pc, 1) + COR(1,:) + u_p(1,:), p(e.pc, 2) + COR(2,:) + u_p(2,:), p(e.pc, 3) + COR(3,:) + u_p(3,:), 'LineWidth', 3); */
464 
465  /* % Plot of Truss elements */
466  else
467  /* Verschiebungsvektor */
468  indices = 7*knoten_index(e.PointsIdx(:));
469 
470  /* Verschiebung der der Anfangs- u Endpunkte */
471  u_elem = [u(indices-6) u(indices-5) u(indices-4)];
472 
473  if (i==5)
474  plot3( p(e.PointsIdx(:), 1) + plot_options.multiplier *u_elem(:,1), p(e.PointsIdx(:), 2) + plot_options.multiplier *u_elem(:,2), p(e.PointsIdx(:), 3) + plot_options.multiplier *u_elem(:,3), " k ", " LineWidth ", 3 );
475  continue;
476  end
477 
478  e.plot(p, u_elem, plot_options);
479  end
480  end
481 
482  /* Geschwindigkeitsvektoren plotten
483  * for i = 1:length(knoten_index)
484  * if (knoten_index(i))
485  * quiver3(p(i,1)+plot_factor*u(7*knoten_index(i)-6), p(i,2)+plot_factor*u(7*knoten_index(i)-5), p(i,3)+plot_factor*u(7*knoten_index(i)-4), v(7*knoten_index(i)-6), v(7*knoten_index(i)-5), v(7*knoten_index(i)-4), 'Color', [0 0 1])
486  * end
487  * end */
488 
489  /* camup([-1 0 1])
490  * campos([0 6 0])
491  * camtarget([0 0 0]) */
492 
493  /* val_min
494  *val_max */
495 
496  /* Frame f�r Video speichern und anh�ngen */
497  if (video)
498  frame = getframe(gcf);
499  else
500  frame = 0;
501  end
502 end
503 }
524 };
525 };
function plotSingle(double t,colvec u,handle h)
plot_single: Plots a single beam configuration for given time and field data.
Definition: plotSingle.m:20
Matlab's base handle class (documentation generation substitute)
A matlab column vector.