Hi
I have a table T of four columns x,y,u,v,
where x and y are the coordinates
and u and v are the values of the x and y components, respectively.
Thus, T represents a two-dimensional vector field.
For example, let
T=
1 3 -1 -1
1 4 0.500000000000000 -0.500000000000000
2 3 -0.250000000000000 0.250000000000000
2 4 0.100000000000000 0.100000000000000
I want to plot a 2-D vector field from this table!!!
I tried using the function:
coneplot(T)
but became the following error message:
??? Error using ==> coneplot>parseargs at 365
Wrong number of input arguments.
Error in ==> coneplot at 64
[x y z u v w cx cy cz s color quiv method nointerp] =
parseargs(nargs,args);
It seems that coneplot works only for 3-D.
Can someone tell me how to change this command line?
Thank you
Emerson

1 Comment

Qiujie Meng
Qiujie Meng on 2 Apr 2019
Moved: Dyuman Joshi on 6 Dec 2023
This is my code:
%%%%%%%%%%%%%%%%%%
close all;clc;clear all;
velocity=load('velocity100POINTS.txt');
x=velocity(:,1);
y=velocity(:,2);
u=velocity(:,3);
v=velocity(:,4);
figure
quiver(x,y,u,v)
%%%%%%%%%%%%%%%%%%%%%
Although my file has vectors,why the figure is like that......?
QQ截图20190402211109.png
QQ截图20190402211333.png

Sign in to comment.

 Accepted Answer

Walter Roberson
Walter Roberson on 31 May 2011

0 votes

Sounds like you are looking for quiver

3 Comments

Thanks Walter,
yes, it works.
I first did the following:
>> x=T(:,1);
>> y=T(:,2);
>> u=T(:,3);
>> v=T(:,4);
and finally plot with
quiver(x,y,u,v)
But is there a way to plot directly from table T
without needing to define new variables x,y,u,v?
Thanks in advance for your attention
Emerson
quiver(T(:,1),T(:,2),T(:,3),T(:,4))
Thank you Walter
Wish you a nice night
Emerson

Sign in to comment.

More Answers (1)

clc
clear all
syms x y
f = input('Enter:');
Unable to run the 'fevalJSON' function because it calls the 'input' function, which is not supported for this product offering.
p = inline(vectorize(f(1)),x,y);
q = inline(vectorize(f(2)),x,y);
x = linspace(-1,1,10);
y = x;
[X, Y] = meshgrid(x,y);
U = p(X,Y)
V = q(X,Y)
quivert(X,Y,U,V,1)
axis on;

1 Comment

Dyuman Joshi
Dyuman Joshi on 6 Dec 2023
Edited: Dyuman Joshi on 6 Dec 2023
@Brijesh, how exactly does your answer answers the question asked, that too 12 years ago and with an accepted answer.
There is no function as quivert and using inline and vectorize is not recommended.

Sign in to comment.

Categories

Find more on 2-D and 3-D Plots in Help Center and File Exchange

Products

Tags

Community Treasure Hunt

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

Start Hunting!