How to get the values in the array and use it for user input, then creating an array for the inputs?

1 visualizzazione (ultimi 30 giorni)
I have an array=(5 6 8) how can i ask an input for f(5),f(6),f(8) and put all inputs in an array

Risposta accettata

Parag Jhunjhunwala
Parag Jhunjhunwala il 26 Giu 2023
Modificato: Parag Jhunjhunwala il 26 Giu 2023
The below code asks the user to enter the values for f(5), f(6) and f(8) and inserts the user input in the vector f at the respective positions(i.e. 5,6, and 8):
arr=[5 6 8];
for i=1:length(arr)
prompt = ['f(' num2str(arr(i)) '):'];
f(arr(i)) = input(prompt);
end
  3 Commenti
Stephen23
Stephen23 il 27 Giu 2023
Modificato: Stephen23 il 27 Giu 2023
"but it seems like it doesn't support a negative index any way to make it possible? "
You are confusing data with code. Better to keep them separate and iterate over indices, not over (meta-)data:
X = [5,6,8];
Y = nan(size(X));
for k = 1:numel(X)
Y(k) = input("f("+k+")");
end
More robust would be to use INPUT's 's' option and STR2DOUBLE.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Creating and Concatenating Matrices in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by