フィルターのクリア

Variable in input prompt

11 ビュー (過去 30 日間)
Musaddiq Sajjad
Musaddiq Sajjad 2017 年 8 月 8 日
コメント済み: Star Strider 2017 年 8 月 8 日
I am trying to have a counter for the specific object the data of which is currently being entered.
I tried:
for n = 1:10
input_matrix(2:3,n) = input(['Enter the Mass and Volume in brackets [Mass Volume] of Object # ' n '']);
dens(n) = input_matrix(2,n) / input_matrix(3,n);
end
but it shoes a Box instead of n. Please help, thank you.

回答 (2 件)

Star Strider
Star Strider 2017 年 8 月 8 日
Use a sprintf call:
input_matrix(2:3,n) = input(sprintf('Enter the Mass and Volume in brackets [Mass Volume] of Object # %d: ', n))
  2 件のコメント
Musaddiq Sajjad
Musaddiq Sajjad 2017 年 8 月 8 日
Hey it works now. Thank you so much! :)
out of curiosity, why was it showing a box?
Star Strider
Star Strider 2017 年 8 月 8 日
My pleasure!
The box is an unprintable character. That has to do with mapping ‘n’ to the ASCII character codes. If ‘n’ does not match a printable character, a box of some sort appears in its place.
If my Answer helped you solve your problem, please Accept it!

サインインしてコメントする。


the cyclist
the cyclist 2017 年 8 月 8 日
You would need to convert the number to a string to display it. Closest to your syntax would be
input(['Enter the Mass and Volume in brackets [Mass Volume] of Object #',num2str(n)])
but preferable would be
input(sprintf('Enter the Mass and Volume in brackets [Mass Volume] of Object #%d: ',n))
  1 件のコメント
Musaddiq Sajjad
Musaddiq Sajjad 2017 年 8 月 8 日
Thank you, the sprintf works like a charm.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeScalar Volume Data についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by