【matlab学习】用matlab编写简单程序(入门)

求1到100的和(for循环)

s = 0;
for i = 1:100
    s = s + i;
end
s

求1到100的和(while循环)

s = 0;
k = 0;
while(k <= 100)
    s = s + k;
    k = k + 1;
end
s

求1到100内所有的奇数和

s = 0;
for i = 1:2:100
    s = s + i;
end
s

求1到100内所有的偶数和

s = 0;
for i = 2:2:100
    s = s + i;
end
s

打印2到100所有的素数

for i = 2 : 100
    for j = 2 : 100
        if (~mod(i,j))
           break;
        end
    end
    if(j > (i/j))
        fprintf('%d is prime \n', i);
    end
end

        

求三位数的水仙花数

m=100:999;
m1=rem(m,10);%求个位数
m2=rem(fix(m/10),10); %求十位数
m3=fix(m/100); %求百位数
k=find(m==m1.^3+m2.^3+m3.^3); %find(一维向量) 得出一维向量的下标序号
s=m(k);
s

求杨辉三角

clc,clear all,close all
n=input('请输入杨辉三角形的行数n=');
yh=1;
disp(yh)
if n==1
return;
end 
yh=[1,1];
disp(yh)
for k=3:n 
yh_old=yh;
k2=ceil(k/2); 
for l=2:k2 
yh(l)=yh_old(l-1)+yh_old(l);
end 
yh(k2+1:k)=yh(k-k2:-1:1); 
disp(yh) 
end

求一个矩阵中的鞍点,即在该行最大,该列最小的一个数

A = [4 3 1;6 5 4;9 7 9];
B = max(A,[],2);
B2 = B(:)'
C = min(A,[],1);
for i = B2
    for j = C
        if (i==j)
            i
        end
    end
end           

小补充

语句 作用
max(A,[],2) 求矩阵中每一行的最大值
min(A,[],2) 求矩阵中每一行的最小值
max(A,[],1) 求矩阵中每一列的最大值
min(A,[],1) 求矩阵中每一列的最小值
语句 作用
VC=A(:) 将矩阵A变为一个列矢量VC
VR=A(:)’ 将矩阵A变为一个行矢量VR

你可能感兴趣的:(数据挖掘)