Surf function problem
Ältere Kommentare anzeigen
I have a problem drawing a surface for a regression.
I have 3 vectors Y, X1, X2 and I have estimated the multiple linear regression: Y = c + a*X1 + b*X2 + u
I would like to draw the graph of this regression: Y = c + a*X1 + b*X2 + u using a MATLAB plot-graph.
I have tried the 'surf' function but I get this error 'Matrix dimensions must agree'.
I have done these things so far.
- Estimate the coefficients (c,a,b).
- Make a new serie [f=Y(estimated)], using the estimated coefficients (c,a,b). New serie: f = c + a*X1 + b*X2
- Use the 'surf' function. surf(X1,X2,f)
Can someone help me? I can’t understand what I am doing wrong.
PS: I use MATLAB 6.5*
Akzeptierte Antwort
Weitere Antworten (6)
Sean de Wolski
am 26 Jan. 2011
I.e. the known Y-values that you used for your regression? How about:
scatter3
or
plot3
to overlay them on your surface?
Sean de Wolski
am 26 Jan. 2011
Yes.
figure;
surf(...)
hold on
scatter3(...)
strat
am 26 Jan. 2011
0 Stimmen
strat
am 26 Jan. 2011
0 Stimmen
strat
am 26 Jan. 2011
0 Stimmen
1 Kommentar
Sean de Wolski
am 26 Jan. 2011
So you overwrote the original X1,X2 with the meshgrid X1,X2?
The call to scatter3 should be with the _original_ X1,X2 used for your regression and Y
scatter3(X1orig,X2orig,Y)
strat
am 26 Jan. 2011
0 Stimmen
Kategorien
Mehr zu Surface and Mesh Plots finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!