How to get the values in the array and use it for user input, then creating an array for the inputs?
7 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Parag Jhunjhunwala
2023-6-26
编辑:Parag Jhunjhunwala
2023-6-26
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 个评论
Stephen23
2023-6-27
编辑:Stephen23
2023-6-27
"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.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Matrix Indexing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!