How do I store an input value to a variable each time?

44 ビュー (過去 30 日間)
ijsonvjksrefdsb
ijsonvjksrefdsb 2022 年 6 月 25 日
編集済み: Stephen23 2022 年 10 月 18 日
kijuyt6re
  1 件のコメント
Stephen23
Stephen23 2022 年 10 月 18 日
編集済み: Stephen23 2022 年 10 月 18 日
Original question retrieved from Google Cache:
How do I store an input value to a variable each time?
I'm trying to create a program that lets the user run the code and input a number for matlab to solve an equation to and store it in a variable. I only know how to do this manually like
a1 = input('Enter value of a1')
a2 = input('Enter value of a2')
I'm looking for a way to do this for one line of code for a which stores each succeeding input to their own variables. Can anyone help me with this? Thank you

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

採用された回答

Image Analyst
Image Analyst 2022 年 6 月 25 日
See this snippet of code. Adapt as needed
% Ask user for two floating point numbers.
defaultValue = {'45.67', '78.91'};
titleBar = 'Enter values';
userPrompt = {'Enter a1 : ', 'Enter a2: '};
caUserInput = inputdlg(userPrompt, titleBar, 1, defaultValue);
if isempty(caUserInput),return,end % Bail out if they clicked Cancel.
a = [caUserInput{1}, caUserInput{2}]
  5 件のコメント
ijsonvjksrefdsb
ijsonvjksrefdsb 2022 年 6 月 25 日
That's what I'm looking for! Thank you!!
Image Analyst
Image Analyst 2022 年 6 月 25 日
編集済み: Image Analyst 2022 年 6 月 25 日
Yes, Stephen was right (thanks Stephen). You should not have used cell arrays. The user's response, caUserInput, had to be a cell array because that's what inputdlg() returns, but notice I immediately put them into a normal double vector.
So all you had to do was to add some number to "a", not create a new cell array called "b". You should avoid cell arrays where at all possible. They just complicate things.
See the FAQ to learn when they are appropriate to use and also to learn when/where to use parentheses, braces, or brackets.
By the way it made me chuckle when you said that having 2 lines to assign b would make the program too long. My programs are typically 3000 to 5000 lines long, and personally I wouldn't worry about my program being too long if it went from 3000 lines to 3002 lines. Thanks for accepting the Answer! 🙂

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeProgramming についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by