Springen naar inhoud

Klein simpel matlab-probleempje


  • Log in om te kunnen reageren

#1

Maradonald

    Maradonald


  • 0 - 25 berichten
  • 3 berichten
  • Gebruiker

Geplaatst op 04 oktober 2010 - 14:15

Ik heb een probleem met matlab, waarvan ik geen idee heb wat er fout gaat, het gaat om het volgende:

Ik schrijf de volgende m-file:

x = 0:0.0001:0.0254;
y = (60.3346 * x - 1.2306) / (1.03 * x - 0.0226);
plot(x,y)

ik krijg als x een rijvector van 1x255, maar mijn y wordt gewoon een scalar i.p.v. een 1x255 rijvector, wat gaat hier mis?

Alvast bedankt!

Groet Donald

Dit forum kan gratis blijven vanwege banners als deze. Door te registeren zal de onderstaande banner overigens verdwijnen.

#2

dirkwb

    dirkwb


  • >1k berichten
  • 4172 berichten
  • Moderator

Geplaatst op 04 oktober 2010 - 14:28

Je moet het puntsgewijs uitvoeren.
Quitters never win and winners never quit.

#3

Maradonald

    Maradonald


  • 0 - 25 berichten
  • 3 berichten
  • Gebruiker

Geplaatst op 04 oktober 2010 - 14:31

ja, maar hoe doe ik dat?

waarom doet bijv:

x = 0:0.001:1;
y = 0.5*x;
plot(x,y)

het wel, ik zie het verschil niet met mijn m-file...

#4

dirkwb

    dirkwb


  • >1k berichten
  • 4172 berichten
  • Moderator

Geplaatst op 04 oktober 2010 - 14:36

Omdat een deling puntsgewijs uitgevoerd moet worden.
Quitters never win and winners never quit.

#5

Bart

    Bart


  • >5k berichten
  • 7224 berichten
  • VIP

Geplaatst op 04 oktober 2010 - 14:39

Je probeert twee vectoren door elkaar te delen. Wiskundig gezien kan dit niet zomaar. Als x en y vectoren zijn met gelijke lengte, dan is x / y niet gedefineerd (het resultaat is een matrix, maar er zijn meerder oplossingen mogelijk).

Wat jij echter wilt is een deling per element, dus x(i) / y(i). In Matlab wordt dit geschreven als "x ./ y" (let op de punt)

Een vector vermenigvuldigen of delen door een scalar kan altijd en hoeft dus niet als "./" of ".*" geschreven te worden

x = 0:0.0001:0.0254;
y = (60.3346 * x - 1.2306) ./ (1.03 * x - 0.0226);
plot(x,y)
If I have seen further it is by standing on the shoulders of giants.-- Isaac Newton

#6

Maradonald

    Maradonald


  • 0 - 25 berichten
  • 3 berichten
  • Gebruiker

Geplaatst op 04 oktober 2010 - 14:43

Harstikke bedankt!
weer wat geleerd.





0 gebruiker(s) lezen dit onderwerp

0 leden, 0 bezoekers, 0 anonieme gebruikers

Ook adverteren op onze website? Lees hier meer!

Gesponsorde vacatures

Vacatures