Klein simpel matlab-probleempje
Moderators: ArcherBarry, Fuzzwood
-
- Berichten: 3
Klein simpel matlab-probleempje
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
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
-
- Berichten: 4.246
Re: Klein simpel matlab-probleempje
Je moet het puntsgewijs uitvoeren.
Quitters never win and winners never quit.
-
- Berichten: 3
Re: Klein simpel matlab-probleempje
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...
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...
-
- Berichten: 4.246
Re: Klein simpel matlab-probleempje
Omdat een deling puntsgewijs uitgevoerd moet worden.
Quitters never win and winners never quit.
- Berichten: 7.224
Re: Klein simpel matlab-probleempje
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
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
Code: Selecteer alles
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