I got an errow while plotting 3D surface
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
Yellow Canary
il 16 Gen 2015
Commentato: Yellow Canary
il 18 Gen 2015
Imported the data from excel and the below are my vectors.
Pa 267751x1 2142008 double
Pb 267751x1 2142008 double
Profit 267751x1 2142008 double
When I type surf(Pa,Pb,Profit), I got this error message: Z must be a matrix, not a scalar or vector.
Anyone knows how can I fix this?
2 Commenti
Geoff Hayes
il 17 Gen 2015
Sercan - please describe your data and why you are attempting to plot it all as a 3D surface? The error message is pretty clear on the problem - the third input Profit must be a matrix. Given your dimensions from above, and according to surf, the third input must be a 267751x267751 matrix.
Risposta accettata
Roger Stafford
il 18 Gen 2015
If I understand you correctly, the matlab 'surf' function is not the right one for your problem, since it would require that your 'Profit' variable be a two-dimensional matrix. I think the best you can do is to use 'plot3' with the "LineSpec" argument set to produce point displays, not lines between points:
plot3(Pa,Pb,Profit,'.')
This will give you a single dot for each triplet of corresponding values of Pa, Pb, and Profit.
It will be a little more difficult to interpret than a plot by 'surf' because the lines connecting neighboring dots are not plotted, but unfortunately your data is not in a form that would allow this to be done conveniently. To see why this is so, read the documentation for 'surf'. At one point it states: "The height, Z, [the third argument] is a single-valued function defined over a geometrically rectangular grid." It is this grid nature of the input that allows 'surf' to draw the connecting lines, and which is missing in your data.
2 Commenti
Star Strider
il 18 Gen 2015
I usually prefer stem3 for discrete 3D plots, because it directly connects the x, y, and z values for each triplet. However, since there are 2E+6 data triplets, that might be a less attractive option here.
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Line Plots in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!