Plot3 using 3 vectors of different length,
13 views (last 30 days)
Show older comments
Waqar Ahmad
on 20 Jan 2020
Commented: Jakob B. Nielsen
on 21 Jan 2020
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
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
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.
More Answers (0)
See Also
Categories
Find more on Annotations in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!