%%%%没有用到内部函数!!!
PrimeNumber=[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];
k=1;
for i=2:100
temp=i(i-1)-1;
for j=1:length(PrimeNumber)
if temp==PrimeNumber(j)
Result(k,1)=i; %亲密数对中的第一个数
Result(k,2)=i-1; %亲密数对中的第二个数
Result(k,3)=temp; %亲密素数
k=k+1;
break;
end
end
end
% 计算亲密素数和
SumPrime=0;
for i=1:k-1
SumPrime=SumPrime+Result(i,3);
end
% 数对个数
disp('数对个数');disp(k-1);
% 亲密素数和
disp('亲密素数和');disp(SumPrime);
1修改了一下,变动不大。
function x=Gauss_(A,b)
A=[10,-7,0;5,-1,5;-3,2,6];
b=[7;6;4]; %%%%%应该是列矩阵啊
n=length(b);
for k=1:n-1 %……消去过程……
if A(k,k)==0
disp('错误信息')
break;
end
index = [k+1:n];%用向量比用循环好
m = -A(index,k)/A(k,k); %提前定义一个较短的变量,相当于你的A(i,k)=A(i,k)/A(k,k);
A(index,index) = A(index,index) + mA(k,index);%矩阵A消元
b(index) = b(index) + mb(k);%矩阵b消元
end
x = zeros(n,1);%提前预置一个变量的位置,以提高运算速度
x(n) = b(n)/A(n,n);%……回代过程……
for i = n-1:-1:1
x(i) = ( b(i) - A(i,[i+1:n])x([i+1:n]) )/A(i,i);%还是写在一起吧,比较简捷
end
x
%%%%%%%%%结束啦
运行结果:
x =
00000
-10000
10000
2验证
>> A=[10,-7,0;5,-1,5;-3,2,6];
>> b=[7;6;4];
>> X=A\b
X =
0
-1
1
3验证
>> Gauss_(A,b)
x =
00000
-10000
10000
写了个,你看看,能直接运行的:
col=1;
p=round(rand(10,100));%随即生成0^1的10100矩阵
p1=zeros(10,10);%目标矩阵
while col<=10%每一列算起,若果p有超过4的列则付给p1,每一列超过的部分不记录
colsum=0;
row=1;
while row<=10
colsum=colsum+p(row,col);
if colsum<=4 & p(row,col)==1
p1(row,col)=1;
end
if colsum>=4
break;
end
if colsum<4 & row>10
col=col-1;
break;
end
row=row+1;
end
col=col+1;
end
Q=2;
f=0;
for i=1:255
f=f+r(i)/(Q-r(i));
end
PS:matlab的矩阵编号是从1开始的。如果不对,你可以稍微修改一下
function B=distanceab()
[file,path]=uigetfile({'xls','Excel文档'},'选择文件');
if file==0
return;
end
A=xlsread([path file]);n=size(A,1);
if n>362
msgbox('数据量太大,excel将无法保存!','警告');
end
B=[];h=waitbar(0,'数据处理中,请等待');
for i=1:(n-1)
j=(i+1):n;
B=[B;[repmat(A(i,:),n-i,1),A(j,:),sqrt(sum((repmat(A(i,:),n-i,1)-A(j,:))^2,2))]];
waitbar(i/(n-1),h,'数据处理中,请等待');
end
waitbar(1,h,'数据处理完毕!');
pause(5);
delete(h);pause(eps);
if n>362
return;
end
[file,path]=uiputfile({'xls','Excel文档'},'输出结果');
if file
xlswrite([path file],B,strcat('A1:E',num2str(size(B,1))));
else
msgbox('你放弃了保存','消息框');
end
以上就是关于用matlab写个小程序全部的内容,包括:用matlab写个小程序、关于matlab的一个小程序,谁能给一点指点,愿意将我尽有的一点分都奉送、求:MATLAB简单小程序!急,在线等 注意:1 生成10*10的矩阵 2 矩阵元素只有0-1两个 3 每一列和为4等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)