Я пытаюсь создать список чисел вида 1.X, где X идет от 1 до 65 по порядку.
1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 1.10, 1.11, ..., 1.62, 1.63, 1.64, 1.65
Я попробовал следующий код, но не получил того, что мне нужно:
v=1.1:0.1:1.65;
В итоге у меня получается список от 1.1-1.6 (всего 6 цифр). Я поигрался с переменной шага, изменил ее с 0,1 на 0,005, но все равно безуспешно. Как только я получу правильный список номеров, я хотел бы преобразовать его в строки.
Нет, я хочу, чтобы список был 1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,1.9,1.10,1.11..1.65]. Всего 65 номеров. Не только те 7, которые вы указали.
Да, это требовало объяснения, потому что десятичные числа работают совсем не так. Это не список десятичных чисел.



Вы можете использовать num2str() от 1 до 65, а затем соединить его с 1.:
str_v = cell(65, 1);
for i = 1:65
str_v{i} = ['1.', num2str(i)];
end
for i = 1:length(str_v)
disp(str_v{i});
end
1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.8
1.9
1.10
1.11
1.12
1.13
1.14
1.15
1.16
1.17
...
1.63
1.64
1.65
Мне бы хотелось, чтобы было так: 1.1,1.2,1.3,1.4,1.5,1.6...1.65. Прямо сейчас это решение дает мне такие числа, как 1,15,1,25. Я не хочу таких.
Мне нужно, чтобы оно дошло до 1,65. Итого 65 номеров.
Что случилось с 1.2,1.3,1.4,1.5,1.6,1.7,1.8, 1.9 и 1.10?
Только что отредактировал свое исходное сообщение, чтобы показать, какие цифры мне нужны.
Вы можете добиться этого, используя конкатенацию строк как
result = "1." + string((1:65).');
или проще говоря, используя неявное преобразование (спасибо @Wolfie),
result = "1." + (1:65).';
Это создает массив строк. Если вы предпочитаете массив ячеек из векторов символов, просто используйте cellstr для преобразования:
result = cellstr("1." + (1:65).');
Я думаю, что это может быть еще проще: вам не нужен вызов string(), и вы можете просто сделать "1."+(1:65).' для вывода того же самого, поскольку строки обрабатывают подразумеваемое преобразование из чисел.
Мне бы хотелось, чтобы было так: 1.1,1.2,1.3,1.4,1.5,1.6...1.65.