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 commentaire

Qiujie Meng
Qiujie Meng le 2 Avr 2019
Déplacé(e) : Dyuman Joshi le 6 Déc 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

Connectez-vous pour commenter.

 Réponse acceptée

Walter Roberson
Walter Roberson le 31 Mai 2011

0 votes

Sounds like you are looking for quiver

3 commentaires

Emerson De Souza
Emerson De Souza le 31 Mai 2011
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
Walter Roberson
Walter Roberson le 31 Mai 2011
quiver(T(:,1),T(:,2),T(:,3),T(:,4))
Emerson De Souza
Emerson De Souza le 2 Juin 2011
Thank you Walter
Wish you a nice night
Emerson

Connectez-vous pour commenter.

Plus de réponses (1)

Brijesh
Brijesh le 6 Déc 2023

0 votes

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 commentaire

Dyuman Joshi
Dyuman Joshi le 6 Déc 2023
Modifié(e) : Dyuman Joshi le 6 Déc 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.

Connectez-vous pour commenter.

Catégories

En savoir plus sur 2-D and 3-D Plots dans Centre d'aide et File Exchange

Produits

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by