Surf function problem
Afficher commentaires plus anciens
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*
Réponse acceptée
Plus de réponses (6)
Sean de Wolski
le 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
le 26 Jan 2011
Yes.
figure;
surf(...)
hold on
scatter3(...)
strat
le 26 Jan 2011
0 votes
strat
le 26 Jan 2011
0 votes
strat
le 26 Jan 2011
0 votes
1 commentaire
Sean de Wolski
le 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
le 26 Jan 2011
0 votes
Catégories
En savoir plus sur Surface and Mesh Plots dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!