Effacer les filtres
Effacer les filtres

Matlab variable rounding issue

2 vues (au cours des 30 derniers jours)
Heather Purdie
Heather Purdie le 21 Juil 2022
Commenté : Heather Purdie le 22 Juil 2022
I have a variable (B_WD) that is a 295x4 double, which I am plotting using quiver. It is wind direction vectors ploted over time along a line.
quiver (B_WD(:,1),B_WD(:,2),B_WD(:,3),B_WD(:,4), 'k');
Varibles before code runs.......(4 lines)
738226.7222 0.0000 -0.3000 -0.8000
738226.7292 0.0000 0.2000 -0.5000
738226.7361 0.0000 0.3000 -0.5000
738226.7431 0.0000 0.3000 -1.1000
The first column is the position on x-axis (I am plotting the arrows along a line -hence the zeros in column 2).
When I run the code the first column switches to less precision, rounding to 2dp and some arrows plot from the same start point
Variable after code runs......see rounding
738226.7200 0.0000 -0.3000 -0.8000
738226.7300 0.0000 0.2000 -0.5000
738226.7400 0.0000 0.3000 -0.5000
738226.7400 0.0000 0.3000 -1.1000
I have been reading the help and have tried changing the format of the variable to 'long', I have replaced numbers and re-saved, nothing seems to stop this.
Advice greatly appreciated
  3 commentaires
Heather Purdie
Heather Purdie le 21 Juil 2022
738226.7361 changes to 738226.7400 and 738226.7431 changes to 738226.7400 so they end up plotting at the same starting point
Bruno Luong
Bruno Luong le 21 Juil 2022
Modifié(e) : Bruno Luong le 21 Juil 2022
"When I run the code the first column switches to less precision"
You should tel us what is the code. If you don't change/assign the variable it should remain identical.

Connectez-vous pour commenter.

Réponses (1)

Chunru
Chunru le 21 Juil 2022
Modifié(e) : Chunru le 21 Juil 2022
B_WD = [
738226.7222 0.0000 -0.3000 -0.8000
738226.7292 0.0000 0.2000 -0.5000
738226.7361 0.0000 0.3000 -0.5000
738226.7431 0.0000 0.3000 -1.1000 ];
quiver (B_WD(:,1),B_WD(:,2),B_WD(:,3),B_WD(:,4), 'k');
% The first column looks like datenum
datestr(B_WD(:, 1))
ans = 4×20 char array
'11-Mar-2021 17:19:58' '11-Mar-2021 17:30:02' '11-Mar-2021 17:39:59' '11-Mar-2021 17:50:03'
  4 commentaires
Heather Purdie
Heather Purdie le 22 Juil 2022
I created this as a new variable in the work space, then copied and pasted 4 colums of data (numbers to 4dp) into the array and saved it. I am a relatively new Matlab user, as you can probably tell...
Heather Purdie
Heather Purdie le 22 Juil 2022
Thanks to those who have tried to help - much appreciated. A colleague has helped me resolve this problem by using the 'digits' command and 'vpa' command to set the back-ground level of precision for the variables, which has in-turn dealt with the auto-rounding....

Connectez-vous pour commenter.

Catégories

En savoir plus sur Line Plots dans Help Center et File Exchange

Produits


Version

R2017a

Community Treasure Hunt

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

Start Hunting!

Translated by