Plot3 using 3 vectors of different length,

14 views (last 30 days)
hello,
I am having two single row matrices with the values of Capacitance and Inductance respectively, and using these values I am making a third single row matrix of resonance frequencies. (for example if I have a two values of capacitance and two values of inductance then overall I would get 4 possible values of resonance frequency)
Now my aim is to plot a 3D plot using these three vectors however, I am getting the error "Vectors must be the same length"
because C and L vectors are [1*2] but F_resonance is [1*4] vector.
please guide.

Accepted Answer

Jakob B. Nielsen
Jakob B. Nielsen on 21 Jan 2020
Edited: Jakob B. Nielsen on 21 Jan 2020
The answer is in your error message. Plot3 plots a series of points (x,y,z) - the same would happen if you tried to plot(x,y) with x=[1 2 3] vs y=[1 2 3 4 5]. The dimensions just does not make sense.
What you are (probably) looking for is the surf or mesh functions. Have your F-resonance set up as a matrix instead of a vector, so that F_resonance(i,j) is a function of C(i) and L(j). In your example, you would turn F_resonance form a 1x4 vector into a 2x2 matrix. Then surf(C,L,F_resonance); will give you the surface plot.
  2 Comments
Waqar Ahmad
Waqar Ahmad on 21 Jan 2020
Greetings and much thanks,
Yes dear Jakob B. Nielsen, I exactly wanted this thing. I thank you very much that you helped and solved my issue.
Thanks again.
Jakob B. Nielsen
Jakob B. Nielsen on 21 Jan 2020
Hi Waqar,
Good to hear! Sometimes its all about finding the function you didnt know was there ;) If you can flag the answer as accepted, this thread will disappear from the unanswered questions section.

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!