• No results found

Introduktion till MATLAB

N/A
N/A
Protected

Academic year: 2022

Share "Introduktion till MATLAB"

Copied!
15
0
0

Loading.... (view fulltext now)

Full text

(1)

Introduktion till MATLAB

Om laborationen

Ovningarna g˚ar ut p˚a att bekanta sig med MATLAB och se hur man l¨oser olika typer av pro-¨ blem. Arbetet ¨ar sj¨alvst¨andigt. Hoppa ¨over s˚adant ni tycker verkar f¨or l¨att och tveka inte att fr˚aga n¨arvarande handledare om det ¨ar n˚agot ni undrar. Avsnittsh¨anvisningar ¨ar till kursboken, Anv ¨andar- handledning f¨or MATLAB 6. F¨or kommandon, variabelnamn och MATLAB-resultat anv¨ands skrivmaskinsstil. F¨or matematiska variabler och formler anv¨ands kursiv stil.

Grundl ¨aggande information om programmet

Information fr ˚an andra k ¨allor

Dator¨ovning 1 inneh˚aller material som liknar f¨oljande kapitel i kursboken: Kapitel 1–Vad ¨ar MAT- LAB?, Kapitel 2–Att komma ig˚ang.

Titta g¨arna i Appendix A–Snabbreferens f¨or vanliga kommandon och funktioner. Det kan ¨aven vara intressant att titta p˚a Getting started ihelpdesk.

1. Start och avslutning av MATLAB (Avsnitt 2.1)

Starta MATLAB genom ge kommandotmatlabi ett kommandof¨onster. MATLAB startar d˚a ett arbetsf¨onster. Du f˚ar nu bl a upp f¨oljande text:

To get started, select "MATLAB Help" from the Help menu.

>>

Ifall man vill arbeta direkt i kommandof¨onstret ger man kommandot matlab -nodesktop.

Detta kan vara bra om det ¨ar flera personer som delar samma server. Desktopen slukar n¨amligen en del processorkraft ¨aven n¨ar den inte anv¨ands.

Du f˚ar nu bl a upp f¨oljande text:

To get started, type one of these: helpwin, helpdesk, or demo.

For product information, type tour or visit www.mathworks.com.

>>

(2)

Teckenkombinationen ”>>”¨ar MATLABs prompter. Den visar att MATLAB ¨ar beredd att ta emot kommandon. I exemplen nedan l˚ater vi promtern vara med. Ett kommando ges efter MATLAB- promtern och utf¨ors d˚a return-tangenten trycks ned.

F¨or att avsluta MATLAB: skrivexitellerquit

Bra att veta redan nu: Vill du avbryta n˚agon k¨orning i MATLAB, men ¨and˚a stanna kvar i MATLAB:

tryckctrl-c.

Det kan vara bra att prova n˚agra av de kommandon som f¨oresl˚as ovan, specielltdemoochtour.

Spara dock detta tills du har tid ¨over.

Introduktion till matriser i MATLAB

MATLAB ¨ar ett s k interpreterande spr˚ak, vilket inneb¨ar att s˚a fort man givit ett kommando, s˚a f˚ar man svar. Man beh¨over dessutom aldrig typdeklarera variabler, utan inf¨or dem n¨ar helst de beh¨ovs.

1. Anv ¨and MATLAB som en enkel r ¨aknedosa

Prova att anv¨anda operatorerna ,  ,  ,  , ˆ samt n˚agon matematisk funktion (Avsnitt 2.5).

Exempel:

>> 2*3 + 4

V¨ardet lagras automatiskt ians(answer) om inget annat variabelnamn anges.

Du kan skapa egna variabler t ex genom att ge f¨oljande kommando:

>> minvar = 2*3 + 10.6

Svaret lagras d˚a i variabeln minvar. Observera att decimalpunkt skall anv¨andas; inte decimal- komma. Notera att svaret fr˚an MATLAB inneh˚aller variabelnamnet som angavs. Variabler anv¨ands direkt i aritmetiska uttryck, detta g¨aller ¨aven variabelnans. Prova att anv¨anda dina variabler men gissa f¨orst svaret:

>> ans + minvar / 2

Prioritetsordningen fungerar precis som man v¨antar sig. Prova att anv¨anda parenteser f¨or att upph¨ava denna:

>> (10 + minvar) / 2

(3)

Ge nu kommandot

>> who

s˚a ser du vilka variabler som finns i arbetsarean. F¨or att f˚a mer information om variablerna, skriv

>> whos

den talar ¨aven om vilken storlek variablerna har. Vi skall om en stund skapa ”st¨orre” variabler ¨an den skal¨araminvar. F¨or att f˚a mer information om ett visst kommando i MATLAB, s˚a skriver man

>> help kommando prova nu

>> help who

Prova ¨aven att skriva enbart

>> help

Kommandon som ges utan att avslutas med semikolon, ;, g¨or att MATLAB skriver ut svaret genast.

Om man inte vill ha svaret utskrivet s˚a avslutar man kommandot med ett semikolon. ge nu f¨oljande kommando:

>> minvar2 = 2*3 + 4;

Skriv sedanwhoellerwhosf¨or att se att det faktiskt skapades en variabel i alla fall.

Vill du se v¨ardet avminvar2, s˚a skriv bara variabelns namn:

>> minvar2

Det g˚ar alltid att f˚a reda p˚a en variabels v¨arde genom att skriva dess namn, oavsett hur den skapats.

(4)

2. Vektorer i MATLAB (Avsnitt 2.3, Kapitel 4)

Namnet MATLAB kommer ursprungligen fr˚an MATrix LABoratory. Den grundl¨aggande dataty- pen ¨ar en matris, vilket ¨aven kan ses som en slags tabell. (Vi t¨anker oss nu bara tv˚adimensionella matriser). En matris med st rader och st kolonner s¨ags ha storleken . I andra program- meringsmilj¨oer arbetar man med ett tal ˚at g˚angen, men i MATLAB arbetar man allts˚a med hela matriser p˚a ett smidigt och enkelt s¨att.

Om matrisen har storlek  s˚a ¨ar det ett vanligt tal (skal¨ar), om den ¨ar av storlek   eller

 s˚a kallas den f¨or radvektor respektive kolonnvektor. Variabler i MATLAB ¨ar oftast vektorer

och matriser, t ex beh¨ovs vektorer d˚a man skall rita grafen till en funktion . Prova nu f¨oljande:

>> vkol = [ 1; 2; 3; 4 ], vrad = [ 5 6 7 8 ]

Fler variabler kan definieras p˚a samma rad genom att man anv¨ander kommatecken eller semikolon mellan variabeldefinitionerna. F¨or att s¨arskilja element i en kolonnvektor s˚a anv¨ands semikolon, ;.

F¨or att s¨arskilja element i en radvektor s˚a anv¨ands blanktecken, som ovan, eller kommatecken, som nedan:

>> vkol = [ 1; 2; 3; 4 ], vrad = [ 5, 6, 7, 8 ] Skrivwhosf¨or att se vilka variabler du har.

Hur g¨or du f¨or att ¨andra enbart ett element i en vektor? Skriv nu

>> vkol( 2 ) = 2.2 och se vad som h¨ander.

F¨or att skriva ett kommando igen med endast sm˚a ¨andringar kan den bekv¨ame prova att trycka p˚a



-tangenten. Prova detta och ¨andra till

>> vkol( 6 ) = 1

Vektorn ut¨okas och de element som inte specificerades blir nollor.

Vektorer kan ocks˚a skapas med kortkommandon, s k kolon-notation eller med ett kommando som heterlinspace. Prova f¨oljande:

>> vektor = 0:8, vektor2 = 0:0.5:2, vektor2lin = linspace(0,2,5)

(5)

Andra¨ linspace(0,2,5)tilllinspace(0,2,10)och j¨amf¨or resultaten. Nu kanske du kan gissa hurlinspacefungerar? Verifiera din gissning genom att se vad hj¨alpen s¨ager

>> help linspace

Om man snabbt vill g¨ora om en radvektor till en kolonnvektor, s˚a kan man transponera den (dvs med apostrof,’). Prova med att skriva

>> nyradvekt = vkol’

3. Matriser i MATLAB (Avsnitt 2.3, Kapitel 4)

Definiera en -matris:

>> A = [ 8 1 6; 3 5 7; 4 9 2 ] eller s˚a h¨ar

>> B = [ 1 2 3 4 5 6

7 8 9];

Raderna i en matris skils ˚at med semikolon, :, eller genom att trycka p˚a return-tangenten. MATLAB ger inget svar innan man avslutat matrisen. Skrivwhosigen nu f¨or att se storleken hos matriserna.

F¨or att komma ˚at endast ett element s˚a indexeras matrisen p˚a samma s¨att som vektorerna. Vad tror du h¨ander nu:

>> B, B(3,1) = A(1,3)

Kommandotsizekan anv¨andas om man vill se storleken p˚a en matris:

>> size(A)

Vill man spara matrisens storlek i tv˚a variablermochns˚a skriver man:

>> [m,n] = size(A)

(6)

4. Rita funktioner av typen

!

Att rita funktioner av en variabel ¨ar l¨att i MATLAB. Rita t ex #"%$'&()* i intervallet [0, 3+ ].

Skriv f¨oljande:

>> x = 0:3*pi;

>> y = sin( x ); plot( x, y );

Ett nytt f¨onster, s k grafikf¨onster, ¨oppnas. Resultatet blir en kantig graf, eftersom enbart 10 punkter anv¨ands. Skrivlength(x)eller whosf¨or att se l¨angden p˚a vektorernaxoch y. Skalningen av axlar g¨ors automatiskt.

Vi ser h¨ar attsin-funktionen faktiskt kan ha en vektor som argument och returnera motsvarande resultat som en vektor, dvs matematiska funktioner i MATLAB fungerar elementvis p˚a vektorer!

F¨orklara vad som h¨ander om endast, -v¨arden ges (plot(y)).

Prova ¨aven f¨oljande:

>> x2 = linspace(0, 3*pi, 40);

>> y2 = sin( x2 );

>> plot( x, y, ’-’, x2, y2, ’--’ );

Vad h¨ander? Vad ger nu length(x2)? Varf¨or ritas ,.-/"0*1-2 ut i ett st¨orre intervall ¨an ,3"

 ?

Ena linjen blev streckad genom att vi lade till parametern’--’, mer om linjeformatering finns i tabell 13.1, s260.

L¨agg till ett bakgrundsn¨at med kommandotgrid on.

Man kan ¨aven anv¨anda fplot f¨or att rita funktioner. Den fungerar dock enbart f¨or MATLABs standardfunktioner (somsin(x),cos(x),exp(x),...) samt f¨or egendefinierade funktioner som man skriver sj¨alv och lagrar i s k M-fil.

5. Programmera i MATLAB

Som du s¨akert vet kan man programmera MATLAB p˚a liknande s¨att som t ex C++, dvsfor-loop, while-loop ochif-sats finns.

(7)

Naturligtvis, kan man f˚a samma resultat i exemplen ovan med hj¨alp av dessa kontrollstrukturer.

Vi visar tv˚a nya s¨att att skapa vektorer med samma inneh˚all somx2ochy2ovan, men sparar nu v¨ardena ix3,y3samtx4,y4. Skriv f¨oljande:

>> n = 40; x3 = []; y3 = [];

>> i = 1;

>> while i <= n

x3( i ) = 3*pi*( i - 1 )/( n - 1 );

y3( i ) = sin( x3( i ) );

i = i + 1;

end

>> clf; plot( x3, y3 ); grid;

>> n = 40; x4 = []; y4 = [];

>> h = 3*pi/( n - 1);

>> for xx = 0:h:3*pi x4 = [ x4 xx ];

y4 = [ y4 sin( xx ) ];

end

>> clf; plot( x4, y4 ); grid;

Kolla att resultatet blir lika med:

>> max( abs( x2 - x3 ) ), max( abs( y2 - y3 ) ) och p˚a samma s¨att f¨orx4ochy4.

Som du ser s˚a finns flera s¨att att skapa och bygga upp vektorer. Om m¨ojligt s˚a skall man dock v¨alja kortkommandon (kolon-notation och linspace), eftersom det ger l¨attl¨ast kod och dessutom ¨ar mycket snabbare ¨an med vanlig loop!

Nu skall vi skapa en st¨orre matris som best˚ar av 10000 reella tal organiserade i 100 rader och 100 kolumner. Vi skriver h¨ar alla kommandon p˚a samma kommandorad genom att skilja satser ˚at med semikolon eller kommatecken. Ge f¨oljande kommando:

>> clear A

>> A = zeros( 100, 100 );

>> for i=1:100, for j=1:100, A(i,j)=sin(i/10)*sin(j/10); end, end

>> mesh( A )

Kommandot clear A; “suddar” ut variabeln A fr˚an MATLABs minne. Om man bara skriver clear“suddas” alla tidigare definierade variabler ut fr˚an minnet.

Kommandotzeros(N,M)skapar en nollmatris av storlek456 , dvs en matris med bara nollor.

P˚a motsvarande s¨att f˚as ettmatrisen med kommandotones, enhetsmatrisen med kommandoteye och en slumptalsmatris med kommandotrand.

(8)

Kommandotmeshritar upp matrisenAsom en graf i ett grafikf¨onster.

Semikolon, “;”, efter tilldelning av element till matrisen A undertrycker utskriften. Om du inte hade givit semikolon, s˚a hade du f˚att en f¨orf¨arlig massa utskrifter. Prova genom att ge f¨oljande kommando:

>> for i=1:5, for j=1:5, A(i,j) = sin(i/10)*sin(j/10), end, end Om man skriverend; end; d¨aremot, s˚a f˚ar man samma resultat, dvs semikolon efterend har ingen verkan p˚a utskrifter i motsvarande loop.

Forts¨att nu att prova n˚agra andra kommandon f¨or att visualisera matrisenA. Skriv

>> clf; surf( A ); colormap( jet ); colorbar;

Forts¨att sedan med

>> shading flat;

Prova ¨aven n˚agra kombinationer av f¨oljande kommandon:

surf,surfc,surfl,

shading flat,shading interp,

colormap( jet ),colormap( bone ),colormap( prism ).

F¨or mer information om f¨argskalor och 3D grafik, skrivhelp graph3d.

6. Lokal arbetskatalog

F¨or kommande ¨ovningar beh¨over du skapa en arbetskatalog. Skapa en d¨ar en katalog med namnet

”matlab02”. Det g¨or du genom att ge kommandotmkdir matlab02i ett kommandof¨onster. G˚a ner i katalogen genom kommandot cd matlab och ta reda p˚a s¨okv¨agen dit med kommandot pwd.

Skriv sedan i MATLAB

>> addpath s¨okv¨ag

Det g˚ar ¨aven att g˚a in under ”Set path” i File-menyn om du anv¨ander desktopen. Spara forts¨attningsvis alla filer du skapar i denna katalog.

F¨or att ¨andra aktiv katalog till din nyskapade katalog skriver du

>> cd s¨okv¨ag

(9)

7. Spara bilder

Kommandotprintanv¨ands f¨or att spara en ritad bild eller ta ut den p˚a papper. Skriv

>> help print

f¨or att se vilka format man kan spara bilden i.

Det ¨ar vanligt att man inte hinner l¨asa all text som fladdrar f¨orbi, prova igen

>> more on

>> help print

d˚a skrivs bara en liten del i taget ut p˚a sk¨armen. Man trycker return f¨or att forts¨atta utskriften eller

”qf¨or att avsluta den.

Om du ger f¨oljande:

>> print -djpeg bildnamn

s˚a sparas grafen som en bild p˚a filenbildnamn.jpg.

Man kan ¨aven anv¨anda menyerna i grafikf¨onstret f¨or att spara bilden p˚a en fil. V¨alj File-menyn och sedan ”Export”. Bl¨adderlistan ”Save as type”visar ett antal format.

I PC-milj¨o g˚ar det att skriva ut genom att g˚a in i grafikf¨onstrets File-meny och v¨alja print.

8. Generering av funktionstabeller

Om man ist¨allet vill ha en funktionstabell f¨or en funktion, t ex ,7"8 - , s˚a kan man s¨atta ihop de vektorer man har till en matris:

>> x = 0:10;

>> y = x.ˆ2;

>> funktionstabell = [ x; y ]’

H¨ar ser vi en s k elementvis operation.x.ˆ2 inneb¨ar att varje element i xkvadreras och svaret blir en vektor av samma l¨angd som x. Punkten anges f¨or att skilja elementvisa operationer fr˚an s k matrisoperationer. Matrisalgebra kommer senare i kursen men finns ¨aven ¨oversiktligt beskrivet i Appendix B.

9. Att ladda och spara data (Avsnitt 2.7)

F¨or att spara numeriska resultat p˚a en fil anv¨ands kommandotsave. Om det anropas utan paramet- rar lagras samtliga variabler i arbetsarean. Det ¨ar vanligt att andra program skall kunna l¨asa filen, d˚a ger man parametern-ASCIIvilket skapar en textfil ist¨allet f¨or en bin¨arfil.

(10)

Prova att lagra en variabel i en bin¨arfil:

>> x = rand(10);

>> save minvar.mat x

Filenminvar.matinneh˚aller nu variabelnx.

Det g˚ar nu att l¨asa in variabeln

>> clear

>> load minvar.mat

>> x

N¨ar data lagras i ASCII-format s˚a sparas inte variabelnamnet. D˚a en matris inl¨ases fr˚an textfil f˚ar variabeln samma namn som filen.

F¨or att l¨asa in datafiler som ¨ar av ostrukturerad karakt¨ar finns kommandon fread, fscanf, fgetl, etc.

M-filer: Kommandofiler och funktionsfiler (Avsnitt 2.8)

N¨ar man b¨orjar beh¨arska MATLAB lite mer och man beh¨over m˚anga kommandon f¨or att l¨osa ett problem, s˚a ¨ar det klokt att spara dessa i en s k M-fil, dvs filer som har suffix ”.m”.

Det finns tv˚a sorters M-filer, dels kommandofiler och dels funktionsfiler. En funktionsfil m˚aste inneh˚alla en funktion som man definierar sj¨alv med kommandotfunction.

En M-fil exekveras (k¨ors) d˚a man skriver filens namn (utan suffixet) n¨ar man ¨ar i kommandof¨onstret i MATLAB.

Filen kan utnyttja redan definierade variabler, men kan ¨aven l¨asa in fr˚an tangentbord och skriva ut p˚a sk¨armen.

Du skall nu f˚a provk¨ora n˚agra M-filer som redan ¨ar f¨ardiga. H¨amta hem f¨oljande filer fr˚an kurs- hemsidan

http://www.tdb.uu.se/edu/course/homepage/tdbDV1/

ritafunk.m sork.m

surprise1.m aritmetikspel1.m surprise2.m aritmetikspel2.m Testk¨or, svara p˚a eventuella fr˚agor och njut av resultaten!

(11)

Nu skall du f˚a skriva en egen liten kommandofil. ¨Oppna en editor, t ex xemacs i ett terminalf¨onster eller genom att i MATLAB skriva:

>> edit

Editorn edit fungerar ungef¨ar som ett Word-dokument, t ex kan man klippa och klistra textrader.

Man skriver in det man vill programmet skall g¨ora i editorn, g¨arna snyggt och prydligt (rad-f¨or rad), s˚a det ¨ar l¨attl¨ast f¨or andra.

Kommentarer inleds med %-tecken. Programmet utf¨or kommandona i den ordning som de st˚ar i filen. Om n˚agon kommandorad ¨ar f¨or l˚ang s˚a skriver man tre punkter, ..., sist p˚a den rad som m˚aste avbrytas, t ex

texten = [ ’Hej och v¨alkommen till ett roligt program! ’,...

’Vi hoppas att du skall tycka om MATLAB.’ ];

disp( texten );

Skriv nu:

% Mitt f¨orsta program.

% ex1.m

disp(’Hej!’);

x = input(’Ge ett tal: ’ );

y = input(’Ge ett till tal: ’ );

sum = x + y;

disp(’Summan av talen blir:’);

sum % prova ¨aven med disp(sum) h¨ar

Spara programmet somex1.m(i edit antingen i File-menyn, med diskett-symbolen eller snabbast medctrl-s).

Flytta muspekaren till kommandof¨onstret och skriv

>> ex1

d˚a k¨ors ditt program! H¨ar visas ¨aven att inl¨asning fr˚an tangentbord sker medinputoch utskrift p˚a sk¨arm meddisp. Nu kan du ¨andra lite i editorn, t ex provadisp(sum)ist¨allet. Kom ih˚ag att spara nya versionen innan du provar att k¨ora det modifierade programmet.

(12)

Nu ska du f˚a skriva en egen funktion och spara den p˚af.m

Oppna nytt f¨onster i din editor (i edit File - New) och skriv in f¨oljande:¨

function y = f( x )

% MATLAB-funktion som returnerar v¨ardet

% av en matematisk funktion

% f.m

y = x.*x - sin(x) + 5;

Spara somf.m. Nu kan du i kommandof¨onstret skriva f¨oljande:

>> v = linspace(0,2*pi);

>> w = f(v);

>> clf;

>> plot( v, w );

Eller, ¨annu snyggare:

Oppna en ny fil,¨ ex2.m, i vilken du l¨agger in dessa kommandon och modifierar s˚a att anv¨andaren kan ge intervallet som funktionen skall ritas i:

% Ex2.m

% Lek med funktioner.

disp(’Program som ritar en specialfunktion i intervallet [a,b]’);

a = input(’Ge a: ’ );

b = input(’Ge b: ’ );

v = linspace(a,b);

w = f(v);

clf;

plot( v, w ); % Testa ¨aven med area(v, w)...

Sedan k¨or du programmet med

>> ex2

Om du vill se vilka filer du har i din aktuella katalog, s˚a skriv

>> dir

(13)

Inneh˚allet i en M-fil kan du f˚a med kommandottype, prova

>> type ex2

>> type plotyy

Andra katalogkommandon finner du i Avsnitt 16.3.

Skriv nu

>> help ex1 samt

>> help f

Vad h¨ander?

Vi n¨amnde ovan att man kan spara en MATLAB-session med kommandotdiary. Man kan ˚ater- anv¨anda kommandona om man editerardiary-filen och d¨oper om den s˚a det blir en M-fil. Skriv:

>> diary matrisen clear;

n = 5

A = magic(n);

n = 10

A = magic(n);

clf;

subplot(2,1,1);

surf(A);

subplot(2,1,2);

mesh(A);

>> diary off

Modifiera filenmatrisenmed din editor och kalla denmatrisen.m Nu kan du testk¨ora ditt nya program genom att ge

>> matrisen

(14)

Demonstrationsexempel och information om MATLAB

F¨or att f˚a hj¨alp i MATLAB s˚a kan man t ex anv¨anda

helpdesk,helpellerhelpwin

F¨or demonstration av MATLAB, SIMULINK och s k toolboxar (Communications, Control System, Financial, Higher-Order Spectral Analysis, System identification, Image Processing,...) prova nu demo-kommandot:

>> demo

och v¨alj sedan ¨onskad demonstration. Ibland medf¨or en demonstration att motsvarande MATLAB- kommandon skrivs ut i kommandof¨onstret. Vill du avbryta, s˚a tryckctrl-c.

10. Allm ¨an information om MATLAB-produkter

F¨or att f˚a information om ˚aterf¨ors¨aljare, b¨ocker etc som har med MATLAB att g¨ora s˚a kan man f˚a stor hj¨alp av MathWorks hemsidor.

Oppna din internetbl¨addrare (t ex Netscape eller Explorer) och ge URL:¨

http://www.mathworks.com/

Se ¨aven

http://www.mathworks.com/products/

Vilka MATLAB-b¨ocker finns? Se t ex under

http://www.mathworks.com/support/books/

och klicka p˚a General.

Information om MATLAB 6-boken finns p˚a f¨oljande URL

http://www.tdb.uu.se/9 matlab

(15)

11. Till ¨ampningar d ¨ar MATLAB anv ¨ants (Avsnitt 1.1)

Ge kommandot

>> tour

v¨alj MATLAB In Industry”. Bl a kan man se h¨ar att Forskmarks kraftstation och SAAB Military aircraft bygger sina simuleringsmodeller i MATLAB. Samma information kan erh˚allas p˚a:

http://www.mathworks.com/industry/

References

Related documents

practised since long, this technique of first recharging aquifers with surplus canal water and then withdrawing this recharged ground water through tube wells during peak

Due to the diversity of studied lifecycle stages (from Product Development to Aftermarket), departments (Hydraulics, software, product maintenance, validation and

In this assignment you will be a critical part of the development team, and work closely with the design team to create beautiful UI using web technologies (React) and optimizing

[r]

Malmer (2000) tar upp en tänkbar förklaring till elevers negativa uppfattning och menar att skolan har en benägenhet att lära ut handlingsmönster istället för djupare

my goal is to design a toolkit for library activists, who are inexperienced in handling a creative workshop, to start solving problem creatively using a workshop model.. the

The data used in task 6 is an adapta- tion of the restaurant reservation dataset from the second dialog state tracking challenge (DSTC2) [8].. The dataset was originally designed

It allows analyzing Java source code by mapping the Java language specific front-end meta-model onto a common meta-model, on which analysis are defined.. Right