Effacer les filtres
Effacer les filtres

FOR LOOP , beginner question.

2 vues (au cours des 30 derniers jours)
Hamada Alkhlif
Hamada Alkhlif le 15 Avr 2021
Modifié(e) : Jan le 15 Avr 2021
i want to Write a code or script including a FOR LOOP in order to computing the value of d for the following values of x and returning an output variable named ANSWER just as shown : x = 0.10, x = 0.15, and x = 0.20
  3 commentaires
Hamada Alkhlif
Hamada Alkhlif le 15 Avr 2021
sorry i forgot to entionb the eqation that we should use for d
  1. d=((34.63/x)-5.162)/2.54
  1. d = [];
  2. for x=[0.1000,0.1500,0.2000]
  3. d=[d ((34.63/x)-5.126)/2.54];
  4. disp ("ANSWER");
  5. end
  6. x=[0.1000 0.1500 0.2000];
  7. fprintf("\t%4g\t\t%4g\n",[x;d])
but when i put this cod into matlab it display like this
for x it shoulkd be 4 decimals .
DGM
DGM le 15 Avr 2021
Modifié(e) : DGM le 15 Avr 2021
Try
fprintf("\t%8.4f\t%8.4f\n",[x;d])
using %g strips insignificant trailing zeros

Connectez-vous pour commenter.

Réponse acceptée

Daniel Pollard
Daniel Pollard le 15 Avr 2021
Modifié(e) : Daniel Pollard le 15 Avr 2021
Your code is
d = [];
for x=[0.1000,0.1500,0.2000]
d=[d ((34.63/x)-5.126)/2.54];
disp ("ANSWER");
end
x=[0.1000 0.1500 0.2000];
fprintf("\t%4g\t\t%4g\n",[x;d])
If I understand right, you want
d = [];
x=[0.1000,0.1500,0.2000];
for xi = 1:numel(x)
d=[d ((34.63/x(xi))-5.126)/2.54];
disp ("ANSWER");
fprintf("\t%5.4f\t\t%.4f\n", [x(xi);d(xi)])
end
  7 commentaires
Hamada Alkhlif
Hamada Alkhlif le 15 Avr 2021
thank you @Daniel Pollard
Hamada Alkhlif
Hamada Alkhlif le 15 Avr 2021
thanks everybody

Connectez-vous pour commenter.

Plus de réponses (1)

Jan
Jan le 15 Avr 2021
Modifié(e) : Jan le 15 Avr 2021
disp ("ANSWER");
for x = [0.10, 0.15, 0.20]
d = ((34.63 / x) - 5.126) / 2.54;
fprintf("%12g%12g\n", x, d)
end
Or:
x = [0.10, 0.15, 0.20]
d = ((34.63 ./ x) - 5.126) / 2.54; % .7 for elementwise division
fprintf('Answer:\n');
fprintf("%12g%12g\n", [x, d].')
  1 commentaire
Hamada Alkhlif
Hamada Alkhlif le 15 Avr 2021
1st code gives :
>> Untitled3
ANSWER
0.1 134.32
0.15 88.8743
0.2 66.1512
>> the answer here does not have 4 decimals for x' and not alighed vertically , same for d'
2nd code gives :
>> Untitled3
x =
0.1000 0.1500 0.2000
Answer:
0.1 0.15
0.2 134.32
88.8743 66.1512
>>

Connectez-vous pour commenter.

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Tags

Produits


Version

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by