请教几道简单的MATLAB程序设计题目
1.生成一个7*7的pascal矩阵A,取A的第1,3,5行和5,6,7列位置上的元素构成矩阵B,删除矩阵A的第1,2,3,4行和4,5,6,7列构成矩阵C,求D=B-1...
1.生成一个7*7的pascal矩阵A,取A的第1,3,5行和5,6,7列位置上的元素构成矩阵B,删除矩阵A的第1,2,3,4行和4,5,6,7列构成矩阵C,求D=B-1*C
2. 编制一求素数的函数文件程序,并通过调用该函数文件列出100以内的素数。
3.有一天小猴摘下了若干个桃子,当即吃掉了一半,还觉得不过瘾,又多吃了2 个。第二天接着吃下剩下的一半,又多吃了2 个。以后每天都是吃掉尚存的一半零两个。到第十天早上,小猴准备吃桃子时,看到只剩下n 个桃子了。 问小猴第一天共摘下多少个桃子? 1) 写出求解小猴第一天共摘下多少个桃子的数学表达式.
2) 根据确定的数学表达式,利用matlab 编写出一个函数文件用于求解。
3) 编写一个命令文件,完成输入一个n 值,然后调用上述函数求解,并将结果输出显示出来。
要求:写的不要太过复杂或者太过高级,能用简单语句的就尽量用简单语句。能回答一题也没事,不一定要都会解答。
谢谢了! 展开
2. 编制一求素数的函数文件程序,并通过调用该函数文件列出100以内的素数。
3.有一天小猴摘下了若干个桃子,当即吃掉了一半,还觉得不过瘾,又多吃了2 个。第二天接着吃下剩下的一半,又多吃了2 个。以后每天都是吃掉尚存的一半零两个。到第十天早上,小猴准备吃桃子时,看到只剩下n 个桃子了。 问小猴第一天共摘下多少个桃子? 1) 写出求解小猴第一天共摘下多少个桃子的数学表达式.
2) 根据确定的数学表达式,利用matlab 编写出一个函数文件用于求解。
3) 编写一个命令文件,完成输入一个n 值,然后调用上述函数求解,并将结果输出显示出来。
要求:写的不要太过复杂或者太过高级,能用简单语句的就尽量用简单语句。能回答一题也没事,不一定要都会解答。
谢谢了! 展开
展开全部
第一题:
A = pascal(7) %生成7*7 pascal矩阵
B = A([1,3,5],[5,6,7]) %构成矩阵B
C = A(5:7,1:3) %构成矩阵C
D = B-1*C
A =
1 1 1 1 1 1 1
1 2 3 4 5 6 7
1 3 6 10 15 21 28
1 4 10 20 35 56 84
1 5 15 35 70 126 210
1 6 21 56 126 252 462
1 7 28 84 210 462 924
B =
1 1 1
15 21 28
70 126 210
C =
1 5 15
1 6 21
1 7 28
D =
0 -4 -14
14 15 7
69 119 182
第二题:
function A=prime_number()
N=100;
j=1;
for i=2:N
if prod(rem(i,2:(i-1)))~=0
A(j)=i;
j=j+1;
end
end
A =
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
A = pascal(7) %生成7*7 pascal矩阵
B = A([1,3,5],[5,6,7]) %构成矩阵B
C = A(5:7,1:3) %构成矩阵C
D = B-1*C
A =
1 1 1 1 1 1 1
1 2 3 4 5 6 7
1 3 6 10 15 21 28
1 4 10 20 35 56 84
1 5 15 35 70 126 210
1 6 21 56 126 252 462
1 7 28 84 210 462 924
B =
1 1 1
15 21 28
70 126 210
C =
1 5 15
1 6 21
1 7 28
D =
0 -4 -14
14 15 7
69 119 182
第二题:
function A=prime_number()
N=100;
j=1;
for i=2:N
if prod(rem(i,2:(i-1)))~=0
A(j)=i;
j=j+1;
end
end
A =
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
追问
第一题非常好。可是第二题在运行的时候出现了问题,希望能再修改下。谢谢
展开全部
1.
A=pascal(7);
B=A(1:2:5,5:7);
A(1:4,:)=[];
A(:,4:7)=[];
C=A;
D=B-1*C;
2.
function sushu
n=input('请输入所求数的范围的最大值:');
base=zeros(n,1);
m=0;
for i=2:n
for j=2:i
if mod(i,j)==0
break
end
end
if j==i
m=m+1;
base(m)=i;
end
end
disp('该范围内素数如下:')
disp(base(1:m))
3.
function houzi
syms x n
for i=1:10
x=x-(x/2+2);
end
x=solve(n-x,'x')%%%表达式
n=input('请输入一个n值:');
zongshu=eval(x)%%%桃子总数
end
A=pascal(7);
B=A(1:2:5,5:7);
A(1:4,:)=[];
A(:,4:7)=[];
C=A;
D=B-1*C;
2.
function sushu
n=input('请输入所求数的范围的最大值:');
base=zeros(n,1);
m=0;
for i=2:n
for j=2:i
if mod(i,j)==0
break
end
end
if j==i
m=m+1;
base(m)=i;
end
end
disp('该范围内素数如下:')
disp(base(1:m))
3.
function houzi
syms x n
for i=1:10
x=x-(x/2+2);
end
x=solve(n-x,'x')%%%表达式
n=input('请输入一个n值:');
zongshu=eval(x)%%%桃子总数
end
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询