Azzera filtri
Azzera filtri

Prompt user input for table inputdlg

6 visualizzazioni (ultimi 30 giorni)
Jonathan Wilson
Jonathan Wilson il 12 Gen 2014
Commentato: Walter Roberson il 14 Gen 2014
I have an issue:
I want an user defined input such as the "input" command in an m code file. But when i use the inputdlg and input a series of data it comes out as a
[11x4 char]
instead of a 11x1 variable that can be used in the rest of the code
I want the user to input a range of values from an excel sheet into the inputdlg and then that gets used in the rest of the code.
I hope this makes sense.
  2 Commenti
Azzi Abdelmalek
Azzi Abdelmalek il 12 Gen 2014
post your code, and explain your problem?
Jonathan Wilson
Jonathan Wilson il 13 Gen 2014
rho = input('Enter density of operating fluid = ')
w = input('Enter Taylor wake fraction = ')
t = input('Enter Thrust deduction factor = ') D = input('Enter diameter range in meters = ')
V = inputdlg('Enter speed range','Input', 10)
T = inputdlg('Enter correspondin T using speed range','Input', 10)
This is my code, this means that the user has to input 10 numbers for the V and the T variable.
when this happens i see: [11x4 char] instead of [10x1] which is what i want to see.
I want to input a number, e.g. 469 and for that ot be a single number in a list. but what looks like is happening is, it is taking each sinlge number as seperate. e.g. 4 5 9 = [1x3] rather than [1x1]

Accedi per commentare.

Risposte (1)

Walter Roberson
Walter Roberson il 13 Gen 2014
inputdlg() always returns a cell array of strings. You can use str2double() to parse each line if you are expecting exactly one value per line. See Example 2 in http://www.mathworks.com/help/matlab/ref/inputdlg.html
  2 Commenti
Jonathan Wilson
Jonathan Wilson il 14 Gen 2014
So what does str2double use?
I want to enter a range of values for example
456.9
345.7
302.6
...
...
...
...
...
...
...
...
then there to be a matrix of 10x1 not 10x6 as it splits the numbers up individually.
Walter Roberson
Walter Roberson il 14 Gen 2014
>> str2double({'456.9'; '345.7'})
ans =
456.9
345.7

Accedi per commentare.

Categorie

Scopri di più su Data Type Identification in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by