我怎么做一个脚本,输出所有数据包含一个特定的数字吗?

1视图(30天)
说我想要一个向量包含所有数字的位数(2、4、5、7、9),所以25497年,95742年,等等。我怎样才能做一个脚本,该脚本将所有数字在这个向量?
我试过以下:
%
vec = 0 (1) (5));
我= 0
我<阶乘(5)
num = 0;
2 = 0;
3 = (2、4、5、7、9);
二< 5;%这个while循环创建一个数字
randnum =兰迪(5);
eval = iii (randnum);
如果eval > 0
num = num + eval * 10 ^ (ii);
三世(randnum) = 0;
2 = 2 + 1;
结束
结束
如果(ismember (num vec (:)))%这个if语句检查数量是否已经创建的
我=我+ 1;
vec (i) = num;%如果不是这样,它被添加到向量
结束
结束
但它是令人印象深刻的是不雅的,只是花费的时间太长更多的数字。

接受的答案

Kai Domhardt
Kai Domhardt 2018年2月9日
数字= (2、4、5、7、9);
总和(烫发(位数)。* 10 ^(大小(数字,2)1:1:0),2);
推荐- - - - - -
烫发(数字)
创建所有排列的数字
10。^[大小(数字,2)1:1:0)
创建一个向量有关数量级:
ans =
10 10000 1000 100 1
你可以使用它来给你的数字正确的位置的值:
烫发(位数)。* 10 ^(大小(数字,2)1:1:0)
现在你只需要总结行智慧:
总和(烫发(位数)。* 10 ^(大小(数字,2)1:1:0),2)

更多的答案(0)

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!