How to get the values in the array and use it for user input, then creating an array for the inputs?
2 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
michael
il 26 Giu 2023
Modificato: Stephen23
il 27 Giu 2023
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
0 Commenti
Risposta accettata
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
Parag Jhunjhunwala
il 27 Giu 2023
MATLAB only supports positive indices. So, I think it's not possible.
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.
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Matrix Indexing 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!