How to display the correct output of the product of matrix correctly when i wanted to conver degrees to radians

1 vue (au cours des 30 derniers jours)
hi all, below is my code and I am trying to display the result of a matrix mutiplication correctly. Does reshaping of matrix or contencation of string?
prompt = 'Enter the numbers for conversion? ';
x = input(prompt)
y = x*(pi./180); % formula to convert degrees to radians
fprintf("%d degree\n = %d radians\n", x ,y);
my output is as follows:
What are the number/numbers for conversion? [180 360]
180.000 degree
= 360.000 radians
3.142 degree
= 6.283 radians
>>
The correct display i wanted is 180 degrees = 3.142 , 360 degrees = 6.283 radians

Réponse acceptée

VBBV
VBBV le 2 Fév 2021
Modifié(e) : VBBV le 2 Fév 2021
prompt = 'Enter the numbers for conversion? ';
x = input(prompt)
y = x*(pi./180); % formula to convert degrees to radians
fprintf("%d \t %d degree\n = %d \t %d radians\n", x ,y);
  9 commentaires
VBBV
VBBV le 2 Fév 2021
Notice that the problem doesn't persist when you use the for loop approach presented
Sophine Teng
Sophine Teng le 2 Fév 2021
oh yes. thank you very much..the for loop works.. why is this so?

Connectez-vous pour commenter.

Plus de réponses (1)

Steven Lord
Steven Lord le 2 Fév 2021
Modifié(e) : Steven Lord le 2 Fév 2021
The fprintf function will iterate through the elements of the second input you pass to it when determining how to fill the formatting operators. Once all the elements of the second input has been used it will move to the third, fourth, etc.
fprintf('%d %d\n', 1:5, 6:10)
1 2 3 4 5 6 7 8 9 10
If you want it to alternate you can concatenate the second and later inputs into an array:
fprintf('%d %d\n', [1:5; 6:10])
1 6 2 7 3 8 4 9 5 10
  2 commentaires
Sophine Teng
Sophine Teng le 2 Fév 2021
Hi Steven, this methods works unless you know the number of elements to output beforehand?
Correct me, if i am wrong.. I am just a beginner at it.
Steven Lord
Steven Lord le 2 Fév 2021
By the way you've created x and y you know they're the same size. In order to concatenate them like I did, you need them to be row vectors. You can make them rows using reshape.
M = magic(4)
M = 4×4
16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1
r = reshape(M, 1, []) % 1 row by MATLAB-you-figure-it-out columns
r = 1×16
16 5 9 4 2 11 7 14 3 10 6 15 13 8 12 1

Connectez-vous pour commenter.

Catégories

En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by