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 Commento

Qiujie Meng
Qiujie Meng il 2 Apr 2019
Spostato: Dyuman Joshi il 6 Dic 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

Accedi per commentare.

 Risposta accettata

Walter Roberson
Walter Roberson il 31 Mag 2011

0 voti

Sounds like you are looking for quiver

3 Commenti

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

Accedi per commentare.

Più risposte (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 Commento

Dyuman Joshi
Dyuman Joshi il 6 Dic 2023
Modificato: Dyuman Joshi il 6 Dic 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.

Accedi per commentare.

Categorie

Scopri di più su 2-D and 3-D Plots in Centro assistenza e File Exchange

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by