Info

This question is closed. Reopen it to edit or answer.

who can create a surf y=0 in a defined domain?

1 view (last 30 days)
hi friends
i want to create a surf y=0 in a domain by surf and linspace functions with this code:
hsp = surf(linspace(-0.3,1.3,200),zeros(200)+0.125,linspace(-0.251776695,0.501776695,200));
but it errors.
for the case z=0 the following code is correct:
hsp = surf(linspace(-0.3,1.3,200),linspace(-0.251776695,0.501776695,200),zeros(200)+0.125);
but for y=0 it errors:
Z must be a matrix, not a scalar or vector.
help me if you can.
thanks a lot
  2 Comments
John D'Errico
John D'Errico on 3 Oct 2014
Don't just keep on asking the same question!
Stephen23
Stephen23 on 3 Oct 2014
Please stop double posting (or in your case, triple posting).
If you wish to make people aware of your question, you only need to add a comment to the original question and it come to the front of the list.
Imagine other readers here: we don't know what advice you already have become on the other posts of the same question, and we are not paid to find all three posts of your identical question, compare the current best answers and see if we can add anything better.

Accepted Answer

Mike Garrity
Mike Garrity on 3 Oct 2014
The 3rd arg to surf needs to be 2D. That's optional for the other two. You can use meshgrid to expand your 1D arrays out to 2D like this:
[x,z]=meshgrid(linspace(-0.3,1.3,200),linspace(-0.251776695,0.501776695,200));
surf(x,zeros(200)+.125,z)

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!