How to get the values in the array and use it for user input, then creating an array for the inputs?
조회 수: 3 (최근 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
Parag Jhunjhunwala
2023년 6월 27일
MATLAB only supports positive indices. So, I think it's not possible.
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!