<?xml version="1.0" encoding="ISO-8859-1" ?>
<!-- <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/"> -->
<rss version="0.91">

<channel>
    <title>Mein MATLAB Forum - goMatlab.de</title>
    <link>http://www.gomatlab.de/index.php</link>
	<description>goMatlab.de - Deutschsprachiges Forum für die Benutzung der Software MATLAB / Simulink. Hilfe bei Bedienungsfragen oder bei der Umsetzung technischer Probleme.</description>
	<language>de</language>
	<image>
		<title>Mein MATLAB Forum - goMatlab.de</title>
		<link>http://www.gomatlab.de/index.php</link>
		<url>http://www.gomatlab.de/templates/vSpiralFull/images/_header_logo.gif</url>
	</image>

<item>
    <title>C# Dictionary direkt nach Matlab</title>
    <replys>0</replys>
    <link>http://www.gomatlab.de/viewtopic.php?p=187624#187624</link>
    <pubDate>Fri, 09 Nov 2018 11:16:55 +0100</pubDate>
    <description>Hallo,
ich wÃ¼rde gerne mehrere C# Dictionary direkt nach Matlab Ã¼bertragen.
Kann Matlab diese Dictionary lesen oder muss es umgewandelt werden?
Ãœbertragen wÃ¼rde ich gerne Ã¼ber TCP/IP.

Hat jemand damit Erfahrung?

Vielen Dank im Voraus.</description>
</item>

<item>
    <title>Fitten von Modell an (Mess-)Daten ohne Toolbox-AbhÃ¤ngigkeit</title>
    <replys>6</replys>
    <link>http://www.gomatlab.de/viewtopic.php?p=174099#174099</link>
    <pubDate>Fri, 31 Mar 2017 22:12:47 +0200</pubDate>
    <description>Hallo,

das Problem liegt in der Funktionsauswertung zum Plotten: du schickst einen x-Vektor rein, aber deine Funktion gibt da nur einen Skalar zurÃ¼ck. Wenn du / in der Zielfunktion durch ./ ersetzt, sieht es besser aus.
Davon abgesehen ist es nicht mÃ¶glich, 4 Parameter sinnvoll durch 3 Datenpunkte zu bestimmen.

GrÃ¼ÃŸe,
Harald</description>
</item>

<item>
    <title>Indizierung mit Doubles</title>
    <replys>0</replys>
    <link>http://www.gomatlab.de/viewtopic.php?p=172219#172219</link>
    <pubDate>Sun, 15 Jan 2017 20:04:27 +0100</pubDate>
    <description>In vielen Programmiersprachen ist eine Indizierung mit Integer-Typen obligatorisch. Matlab kann aber sehr effizient mit Indizes im Typ double umgehen und wurde dafÃ¼r optimiert.

Bei einem Ausdruck der Art Y=X&amp;#40;a&amp;#58;b&amp;#41; Ã¼berprÃ¼ft Matlab intern nur fÃ¼r die 2 Werte a und b, ob sie innerhalb des deklarierten Bereichs liegen. Deshalb ist dies deutlich schneller als den Index-Vektor explizit zu erzeugen:
x = zeros&amp;#40;1, 10000&amp;#41;;
tic
for k = 1&amp;#58;10000
  x&amp;#40;1&amp;#58;k&amp;#41; = k;
end
toc

tic
for k = 1&amp;#58;10000
  v    = 1&amp;#58;k;
  x&amp;#40;v&amp;#41; = k;
end
toc

% Elapsed time is 0.146026 seconds.
% Elapsed time is 0.521763 seconds.
Ã„hnliches geschieht, wenn man den Index-Vektor mit tic
for k = 1&amp;#58;10000
  x&amp;#40;&amp;#91;1&amp;#58;k&amp;#93;&amp;#41; = k;
end
toc

% Elapsed time is 0.459354 seconds.
Die Umwandlung in einen Integer-Typ ist nicht effizient aus den gleichen GrÃ¼nden:
x = zeros&amp;#40;1, 10000&amp;#41;;
tic
for k = 1&amp;#58;10000
  x&amp;#40;uint64&amp;#40;1&amp;#58;k&amp;#41;&amp;#41; = k;
end
toc

tic
for k = 1&amp;#58;10000
  x&amp;#40;uint64&amp;#40;1&amp;#41;&amp;#58;uint64&amp;#40;k&amp;#41;&amp;#41; = k;
end
toc
% Elapsed time is 0.678613 seconds.
% Elapsed time is 0.384426 seconds.

Im ersten Fall wird zuerst der Double-Vector 1:k erzeugt und danach in ein UINT64 umgewandelt. Im zweiten Fall wird der Vektor gleich als UINT64 erzeugt. Das ist zwar deutlich schneller, gegen das einfache &amp;quot;x(1:k)&amp;quot; aber immer noch viel langsamer.</description>
</item>

<item>
    <title>Effizienter Code versus Vektorisierung</title>
    <replys>0</replys>
    <link>http://www.gomatlab.de/viewtopic.php?p=171114#171114</link>
    <pubDate>Fri, 09 Dec 2016 10:08:47 +0100</pubDate>
    <description>Aufgabe: Erstelle eine CHAR-Matrix wie folgt:

  Str = '1234',   k = 2
  ==&amp;gt; 
    '12'
    '23'
    '34'

1. Erster Versuch:
for ii = 1 &amp;#58; numel&amp;#40;str&amp;#41;-k+1
  pattern&amp;#40;ii,&amp;#58;&amp;#41; = str&amp;#40;ii&amp;#58;ii+k-1&amp;#41;;
end

2. Pre-allocation: &amp;quot;pattern&amp;quot; iterativ wachsen zu lassen benÃ¶tigt viele Resourcen, weil in jeder Iteration ein neues Array erstellt wird und die vorherigen Werte kopiert werden. Wenn man den Output vor der Schleife erstellt, werden nur die jeweiligen Werte einkopiert:
n = numel&amp;#40;str&amp;#41; - k + 1;
pattern = repmat&amp;#40;' ', n, k&amp;#41;;   % &amp;lt;-- added
for ii = 1&amp;#58;n
  pattern&amp;#40;ii,&amp;#58;&amp;#41; = str&amp;#40;ii&amp;#58;ii+k-1&amp;#41;;
end

3. Matlab speichert Arrays spalten-orientiert. pattern&amp;#40;ii, &amp;#58;&amp;#41; schreibt deshalb in Speicherzellen, die weit von einander entfernt liegen. Zudem ist k immer kleiner als die String-LÃ¤nge, sodass die Schleife kÃ¼rzer wird, wenn man Ã¼ber die Spalten iteriert:
n = numel&amp;#40;str&amp;#41; - k + 1;
pattern = repmat&amp;#40;' ', n, k&amp;#41;;
for ii = 1&amp;#58;k                         % &amp;lt;-- k instead of n
   pattern&amp;#40;&amp;#58;, ii&amp;#41; = str&amp;#40;ii&amp;#58;ii+n-1&amp;#41;;  % &amp;lt;-- &amp;#40;&amp;#58;, ii&amp;#41; instead of &amp;#40;ii, &amp;#58;&amp;#41;
end

4. Vektorisieren - das beschleunigt sehr viele Matlab Programme, aber nicht alle:
index   = bsxfun&amp;#40;@plus, &amp;#40;1&amp;#58;numel&amp;#40;str&amp;#41; - k + 1&amp;#41;.', 0&amp;#58;k-1&amp;#41;;
pattern = str&amp;#40;index&amp;#41;;

5. Wie sieht das in C aus?
#include &amp;quot;mex.h&amp;quot;
void mexFunction&amp;#40;int nlhs, mxArray *plhs&amp;#91;&amp;#93;, int nrhs, const mxArray *prhs&amp;#91;&amp;#93;&amp;#41;
&amp;#123;
  mwSize k, n, f;
  mxChar *in, *out;
  mwSize dims&amp;#91;2&amp;#93;;
  
  // Get inputs&amp;#58;
  in = &amp;#40;mxChar *&amp;#41; mxGetData&amp;#40;prhs&amp;#91;0&amp;#93;&amp;#41;;
  k  = &amp;#40;mwSize&amp;#41; mxGetScalar&amp;#40;prhs&amp;#91;1&amp;#93;&amp;#41;;
  
  // Create outputs&amp;#58;
  n       = mxGetNumberOfElements&amp;#40;prhs&amp;#91;0&amp;#93;&amp;#41; - k + 1;
  dims&amp;#91;0&amp;#93; = n;
  dims&amp;#91;1&amp;#93; = k;
  plhs&amp;#91;0&amp;#93; = mxCre ...</description>
</item>

<item>
    <title>Einen HDrive Servo motor ansteuern</title>
    <replys>0</replys>
    <link>http://www.gomatlab.de/viewtopic.php?p=170720#170720</link>
    <pubDate>Wed, 30 Nov 2016 14:12:33 +0100</pubDate>
    <description>Hallo, dies ist mein erster Post hier, ich bin neu :).

Mit einem HDrive von Henschel-robotics.ch kÃ¶nnt ihr mit nur 3 Zeilen Code einem Servomotor sagen wo es hinn soll:

t=tcpip&amp;#40;'192.168.1.102', 20000, 'NetworkRole', 'client'&amp;#41; ; % configure TCP Client and Port 
fopen&amp;#40;t&amp;#41;; % open TCP Connection 
fwrite&amp;#40;t, '&amp;lt;HDrive Position=\&amp;quot;1000\&amp;quot; Torque=\&amp;quot;50\&amp;quot; Speed=\&amp;quot;10\&amp;quot; Mode=\&amp;quot;4\&amp;quot; /&amp;gt;'&amp;#41; % send XML drive order

Das wars schon, der Motor fÃ¤hrt nun mit seinem internen PID Positionsregler auf 100.0Â° +/- 0.1Â° (1 Sigma).

Wenn euch das gefÃ¤llt dann schaut doch bitte bei unserem Crowdfunding vorbei: http://kck.st/2gal6IG.

GrÃ¼sse
Chris</description>
</item>

<item>
    <title>Hexadezimale Daten als matrix einlesen und konvertieren</title>
    <replys>1</replys>
    <link>http://www.gomatlab.de/viewtopic.php?p=168400#168400</link>
    <pubDate>Mon, 12 Sep 2016 10:59:50 +0200</pubDate>
    <description>

ich hab derzeit das Problem, dass ich Beschleunigungsdaten vom MessgerÃ¤t als hex Datei vorliegen habe und diese als Matrix bzw. Vektoren in Dezimalzahlen einlesen will.
Meine Daten sehen ca. so aus:

Time


Ich habe die LÃ¶sung selber gefunden. Falls Andere da Problem auch haben hier mal mein Weg:
Beim Import der Daten das Dateiformat am Kopf der Spalte in TEXT umstellen, dann importieren und mit dem Code:

for(int=1:Anzahl der Datenpunkte)
hex2dec(Sensordaten(int));
end;
 
bearbeiten. Ich hoffe es hilft noch jemand der das gleiche Problem hat.</description>
</item>

<item>
    <title>Symbolic Math Toolbox: Implizite symbolische Ableitung</title>
    <replys>6</replys>
    <link>http://www.gomatlab.de/viewtopic.php?p=167896#167896</link>
    <pubDate>Fri, 19 Aug 2016 09:31:49 +0200</pubDate>
    <description>Also bei mir klappts problemlos mit deinem Minimalbeispiel 
Bei uns (2013b) leider nicht. Bin aber folgenden funktionierenden Workaround gestoÃŸen:

syms t;
x=sym&amp;#40;'x&amp;#40;t&amp;#41;'&amp;#41;;
alpha=sym&amp;#40;'alpha&amp;#40;t&amp;#41;'&amp;#41;;

dxdt = diff&amp;#40;x,t&amp;#41;;
dalphadt = diff&amp;#40;alpha,t&amp;#41;;

f=x*cos&amp;#40;alpha&amp;#41;;

% f nach x ableiten&amp;#58;
subs&amp;#40; diff&amp;#40;subs&amp;#40;f,x,'x'&amp;#41;,'x'&amp;#41;,'x',x&amp;#41;

% f nach alpha ableiten&amp;#58;
subs&amp;#40;diff&amp;#40;subs&amp;#40;f,alpha,'alpha'&amp;#41;,'alpha'&amp;#41;,'alpha',alpha&amp;#41;

Kann mir jemand sagen ab welcher Version der Code von cyrez funktioniert? Komischerweise hat er auch 2013b im Profil eingetragen  :?: 

GruÃŸ 
vega</description>
</item>

<item>
    <title>Tutorial fÃ¼r Entwickler und solche die es werden wollen</title>
    <replys>0</replys>
    <link>http://www.gomatlab.de/viewtopic.php?p=146330#146330</link>
    <pubDate>Mon, 02 Mar 2015 10:05:17 +0100</pubDate>
    <description>Hallo liebes Forum,

im Internet gibt es auf der Seite 

http://www.matlab-simulink.de/matlab-tutorial

ein Tutorial fÃ¼r MATLAB/Simulink/Stateflow zum runterladen.

Gruss
cyrezzza</description>
</item>

<item>
    <title>Tutorial: Keine Angst vor dem function handle</title>
    <replys>13</replys>
    <link>http://www.gomatlab.de/viewtopic.php?p=137197#137197</link>
    <pubDate>Fri, 01 Aug 2014 09:16:33 +0200</pubDate>
    <description>Hallo,

wenn ich dich richtig verstanden habe: ja ;)

Siehe auch hier:
http://www.mathworks.com/help/optim/ug/passing-extra-parameters.html

GrÃ¼ÃŸe,
Harald</description>
</item>

<item>
    <title>VorschlÃ¤ge fÃ¼r ein xPC Target Tutorial</title>
    <replys>1</replys>
    <link>http://www.gomatlab.de/viewtopic.php?p=137072#137072</link>
    <pubDate>Tue, 29 Jul 2014 14:39:49 +0200</pubDate>
    <description>Hallo twols,
ich wÃ¤re daran interessiert, vor allem daran wie man die taktrate des xPcs einstellt. Mir ist nicht ganz klar wie das ganze funktioniert. In meinem Fall ist es so, dass die sample time 1 sein soll, das Modell jedoch in Echtzeit schneller laufen soll...In simulink lÃ¤uft das Modell innerhalb einiger sekunden fÃ¼r eine gesamtdauer von 15 minuten durch. auf dem echzeitsystem braucht es allerdings auch 15 minuten da die sample time auf 1 steht, wÃ¼rde es aber auch gerne schneller laufen lassen beispielsweise in 5 minuten</description>
</item>

</channel>

</rss>