用matlab 建立函数文件,找出n以下所有的质数,调用格式为B=prime_number (n)。
时间: 2023-03-30 18:04:17 浏览: 105
好的,这个问题我可以回答。以下是 Matlab 代码:
function B = prime_number(n)
% 找出n以下所有的质数
B = [];
for i = 2:n
is_prime = true;
for j = 2:sqrt(i)
if mod(i,j) ==
is_prime = false;
break;
end
end
if is_prime
B = [B i];
end
end
调用格式为:B = prime_number(n),其中 n 是一个正整数,B 是一个包含所有小于等于 n 的质数的向量。
相关问题
matlab输入两个正整数N和M,写一个函数找出N到M内的所有质数.
好的,下面是实现这个函数的 Matlab 代码:
```matlab
function primes = find_primes_between(N, M)
% 找出N到M内的所有质数
% 输入参数:
% N: 起始值,正整数
% M: 结束值,正整数且大于N
% 输出参数:
% primes: 一个列向量,包含N到M内的所有质数
primes = [];
for num = N:M
% 判断当前数是否为质数
is_prime = true;
for i = 2:sqrt(num)
if mod(num, i) == 0
is_prime = false;
break;
end
end
% 如果当前数为质数,则将其加入primes向量中
if is_prime && num > 1
primes = [primes; num];
end
end
end
```
函数中使用了两层循环,外层循环遍历N到M内的所有整数,内层循环判断当前数是否为质数。如果当前数为质数,则将其加入primes向量中。最后函数返回primes向量,包含了N到M内的所有质数。
matlab 编制m文件,输入n(正整数),显示所有小于n的质数。
好的,下面是 Matlab 的代码实现:
```matlab
function prime_numbers = find_prime_numbers(n)
% 找出小于 n 的所有质数
prime_numbers = []; % 存储质数的向量
for i = 2:n-1
if is_prime(i)
prime_numbers = [prime_numbers i];
end
end
% 判断一个数是否为质数
function result = is_prime(number)
result = true;
for j = 2:sqrt(number)
if mod(number, j) == 0
result = false;
break;
end
end
end
end
```
调用这个函数,输入一个正整数 n,就可以得到所有小于 n 的质数的向量。例如:
```matlab
>> find_prime_numbers(20)
ans =
2 3 5 7 11 13 17 19
```