Programmering

Matlab

02. august 2016 af Searchmath

Hej

Jeg prøver at løse det her problem, men det er håbløst. 

Jeg vil have matlab til at regne ud hvilken værdi funktionen har i x=1, men det vil ikke. Hvad har jeg defineret forkert? 


Brugbart svar (1)

Svar #1
03. august 2016 af Keal (Slettet)

En MATLAB funktion skal skal defineres i en separat fil med samme navn som funktionen før den kan anvendes.

Alternativt kan du benytte en anonymous function:

evalutateTaylor = @(x) (x-1)-1/2*(x-1)^2+1/3*(x-1)^3;

x=1;
s=evalutateTaylor(x);


Svar #2
03. august 2016 af Searchmath

Hvordan definerer man i en seperat fil? :)


Brugbart svar (1)

Svar #3
03. august 2016 af Keal (Slettet)

Lav en ny fil evaluateTaylor.m og indsæt din funktion

function y = evaluateTaylor(x)
y = (x-1)-1/2*(x-1)^2+1/3*(x-1)^3;


Svar #4
03. august 2016 af Searchmath

#3: Det har jeg gjort nu, hvad skal jeg så? :)


Svar #5
03. august 2016 af Searchmath

Jeg har fundet ud af det :) så indsætter man fx  evaluateTaylor(2) i kommandovinduet, og så kommer der et resultat frem :)


Svar #6
03. august 2016 af Searchmath

hvordan kan man så indsætte et vektorindput? Jeg prøvede med evaluateTaylor([1, 2, 3]) men det fungerer ikke, hvorfor? 


Svar #7
03. august 2016 af Searchmath

Hvordan ville du løse denne opgave? 


Brugbart svar (1)

Svar #8
03. august 2016 af Keal (Slettet)

#6 Funktionen virker ikke for vektorer fordi operatoren ^ kun er defineret for skalarer. Brug i stedet den elementvise operator .^

#7 Hvad præcist er det du har problemer med i den opgave?


Svar #9
03. august 2016 af Searchmath

Yes! Nu virker det.

Jeg definerer en funktion med variablen y og string "QuadraticEquation" derefter definerer jeg værdierne for hhv. a,b og c.  

Jeg vil så gerne have et udtryk for y, og det er her problemet opstår. Den kvadratiske funktion giver to resultater afhængigt om man bruger plus eller minus. Jeg vil bare gerne vide, hvordan man definerer sådan et udtryk i en linie, så man både har plus og minus med.

og så går jeg ud fra at man kan bruge et udtryk som x1= max(y) og x2=min(y)


Svar #10
03. august 2016 af Searchmath

Den her er også lidt svær :/


Brugbart svar (1)

Svar #11
03. august 2016 af Keal (Slettet)

#9 Bemærk du ikke bliver bedt om at lave en funktion. Du behøver blot at skrive et script. Angående dit spørgsmål, man kunne skrive

y = (-b + [1,-1].*sqrt(b^2 - 4*a*c))/(2*a);


Svar #12
03. august 2016 af Searchmath

#11: 

Jeg får at rødderne er hhv. x1= 0.5 og x2= 2 :) passer det med hvad du får?

Du er super god til at forklare! taaaak!!!!


Svar #13
03. august 2016 af Searchmath

Skal jeg bruge en loop? Når jeg får sådan en opgave, hvad er det så jeg altid skal tænke? 


Skriv et svar til: Matlab

Du skal være logget ind, for at skrive et svar til dette spørgsmål. Klik her for at logge ind.
Har du ikke en bruger på Studieportalen.dk? Klik her for at oprette en bruger.