How to write a range of numbers in MATLAB?
439 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hi, I am trying to generate a speed range in MATLAB. Let V is the speed, then how to write the coding to find the speed range of:
0<V<=12
12<V<=20
20<V<=30
30<V<=40
40<V<=50
50<V<=60
60<V<=70
70<V<=80
80<V<=90
90<V<=100
100<V<=110
V>110
2 commentaires
Réponses (4)
Walter Roberson
le 9 Avr 2018
or you can use the second output of histc() or the third output of histcounts()
0 commentaires
njj1
le 18 Avr 2018
ranges = [0,12,20:10:110]; %end points of requested speeds for i = 1:numel(ranges)-1 v{i} = V((V>ranges(i) & (V<=ranges(i+1))); %speeds between endpoints numV{i} = numel(v{i}); %number of speed entries between endpoints end v{end+1} = V(V>110);
0 commentaires
Walter Roberson
le 22 Juil 2021
Modifié(e) : Walter Roberson
le 22 Juil 2021
theta = (0:60).';
and remember to use cosd() and sind()
Notice the .' there: it is transposing the 0:60 from a row vector into a column vector. When you combine this with row vectors, then the result would be to implicitly expand to two dimensions. For example,
v = 1:100;
theta = (0:60).';
dist = (v - v.^2/100) .* sind(theta);
surf(v, theta, dist, 'edgecolor', 'none')
size(v), size(theta), size(dist)
2 commentaires
rahim njie
le 26 Juil 2021
thanks but this didnt work for what im trying to do. i would like to calculate something at every angle between 0-60 degrees. this is my code so far if it helps:
theta= (1:60).'; % precession angle
w_s = 10; % angular velocity of spin
a_s = 6; % angualar acceleration of spin
w_n = 3; % angular velocity of nutation
a_n = 2; % augalar acceleration of nutation
w_p = 5; % angular velocity of precession
a_p = 4; % angular acceleration of precession
%% Geometry values
rA = [0 7.4103 7.1651];
%% vectors
vw_s = [0 w_s*sind(theta) w_s*cosd(theta)]; % spin vector
vw_p = [0 0 w_p]; % precession vector
vw_n = [-w_n 0 0]; % nutation vector
%% Angualar velocity
wi = [-w_n 0 0]; % i component of W
wj = [0 w_s*sind(theta) 0]; % j component W
wk = [ 0 0 (w_p + w_s*cosd(theta))]; % k component of W
W = wi + wj + wk; % Angular Velocity;
Walter Roberson
le 27 Juil 2021
theta= (1:60).'; % precession angle
w_s = 10; % angular velocity of spin
a_s = 6; % angualar acceleration of spin
w_n = 3; % angular velocity of nutation
a_n = 2; % augalar acceleration of nutation
w_p = 5; % angular velocity of precession
a_p = 4; % angular acceleration of precession
%% Geometry values
rA = [0 7.4103 7.1651];
%% vectors
Z = zeros(size(theta));
vw_s = [Z, w_s*sind(theta), w_s*cosd(theta)]; % spin vector
vw_p = [0 0 w_p]; % precession vector
vw_n = [-w_n 0 0]; % nutation vector
%% Angualar velocity
wi = [-w_n 0 0]; % i component of W
wj = [Z w_s*sind(theta) Z]; % j component W
wk = [ Z Z (w_p + w_s*cosd(theta))]; % k component of W
W = wi + wj + wk; % Angular Velocity;
size(W)
KSSV
le 9 Avr 2018
V = 1:100 ;
idx = V>=10 & V<=20 ; % Get indices of velocities lying between 10 to 20
V(idx)
3 commentaires
rahim njie
le 22 Juil 2021
thank.
Also i have written code that solves 3D kinematics problem. the code calculates angular velocity at set precsion angle of 60. what function do i use that will allow me to use the same code but calculate the velocity and angle from 1-60 degrees.
i have vectors in some of the calucations so using 'theta= 1:60' Caused erros
thanks
Voir également
Catégories
En savoir plus sur Characters and Strings dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!