0

使用 MATLAB,我需要编写一个脚本,使用input. 然后它使用randperm.

我有以下内容来获取用户名:

>>name = input('what is your name: ', 's');   
% user types name
% At this point, the variable: name, will contain 
% whatever value the user types (as a string of characters), 

我不知道如何使用randperm返回他们用户名的加扰版本。

谢谢您的帮助!

4

2 回答 2

0

尝试这个:

name = input('what is your name: ', 's');
name(randperm(numel(name)))
于 2013-09-09T08:38:05.603 回答
0

尝试这个:

scrambledname = name(randperm(numel(name)))

此处numel(name)为您提供字符数name- 例如,假设为 10。然后randperm(10)为您提供数字 1 到 10 的随机排序 - 也许它可能是 [2 5 7 1 8 3 9 10 4 6]。

然后将其用于索引到name. 请记住,在 MATLAB 中,所有内容都是一个数组,甚至是字符串,例如name,它是一个字符数组。当您将该随机数组用作索引时,它会为您提供 的第二个字符name,然后是第五个字符,然后是第七个字符,等等。

于 2013-09-09T08:40:30.030 回答