用matlab写个小程序

用matlab写个小程序,第1张

%%%%没有用到内部函数!!!

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等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10122307.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存