精华内容
下载资源
问答
  • 本资源包括,基于SEIR模型的新冠肺炎疫情分析matlab代码和最新的国内疫情数据集。代码已详细备注,具体模型详解见本人博客,大家可以下载交流,略有瑕疵,欢迎指正。
  • 这是一个学习机器人避障算法的matlab仿真代码,直接下载运行就可以使用,备注非常详细,大家可以自定义避障地图,也可以更改参数实现不同的避障
  • 里面每一行代码都有备注,两种衍射都能调出来,可根据需要调光屏距离,图案可视化也可根据需要调整,但个人认为已经是最好看了~
  • 该函数用于语音信号特征提取,详细用法以及参数设置都有说明,仅供学习参考。函数作者为 Kamil Wojcicki ,使用时必须保持作者备注的信息。
  • 程序中备注了 每一步的注释。觉得好可以好评!用直接法(fft)和自带函数(AR)估计功率谱 与 自己写的AR过程推导估计做了对比 结果一致,代码正确。
  • 老外写的一个程序,双输入单输出,并不是simulink模块,代码有点长,但是备注很详细,看懂问题不大。
  • 遗传算法matlab代码.zip

    2020-03-13 12:29:14
    遗传算法,matlab编程实现。 1、直接运行main函数,得到结果 2、可以根据自己的需要设置目标函数targetfun.m的内容,设置好之后直接运行main.m; 3、可以在main.m中根据需要设置迭代次数、交叉概率,变异概率等。 PS...
  • 这是一个学习机器人避障算法的matlab仿真代码,使用VFH+算法进行避障,直接下载运行就可以使用,备注非常详细,大家可以自定义避障地图,也可以更改参数实现不同的避障
  • ###备注:该软件为满堂支架实时安全监控程序,通过传感器采集满堂支架某些杆件应力与位移来判断支架是否安全,添加了移植来的matlab神经网络算法来对短时间内的支架安全状况进行预测,并通过通信模块将相应信息短信...
  • 遗传算法 求解旅行商 TSP 问题,matlab代码

    万次阅读 多人点赞 2016-11-02 01:24:11
    学习启发式算法时,旅行商问题是一个经典的例子。其中,遗传算法可以用来求解该问题。遗传算法是一种进化算法,由于其启发式算法的属性,并不能保证得到最优解。求解效果与初始种群选取,编码...(备注:对于一般的 ...

    学习启发式算法时,旅行商问题是一个经典的例子。其中,遗传算法可以用来求解该问题。遗传算法是一种进化算法,由于其启发式算法的属性,并不能保证得到最优解。求解效果与初始种群选取,编码方法,选择方法,交叉变异规则有关。

    上课时,老师不知从哪里找了一个非常粗糙的程序,自己将不少错误修正,增加了一些注释方便理解,并增加了一些代码使程序更完美。该代码可以动态显示每一代的路线,非常直观! (备注:对于一般的 TSP 问题,发现通过将其构造成整数规划问题,利用数学规划求解软件 Gurobi 中的 Callback 方法求解,即使大规模问题 (75 个城市)也可以在 1 秒钟内得到最优解。就没必要用启发式算法了。参看网址:https://www.gurobi.com/resource/traveling-salesman-problem/ )

    本程序的显示效果:

     

     

    代码:

    function GaTSPChen
    
    % mainly amended by Chen Zhen, 2012~2016
    
    CityNum = 30; % 城市数目,可以选 10, 30, 50, 75
    [dislist, Clist] = tsp(CityNum); % dislist 为城市之间相互的距离,Clist 为各城市的坐标
    
    inn = 30; % 初始种群大小
    gnMax = 500;  % 最大代数
    crossProb = 0.8; % 交叉概率
    muteProb = 0.8; % 变异概率
    
    % 随机产生初始种群
    population = zeros(inn, CityNum); % population 为初始种群,包括多条染色体
    for i = 1 : inn
        population(i,:) = randperm(CityNum);
    end
    [~, cumulativeProbs] = calPopulationValue(population, dislist); % 计算种群每条染色体的累计概率
    
    generationNum = 1;
    generationMeanValue = zeros(generationNum, 1); % 每一代的平均距离
    generationMaxValue = zeros(generationNum, 1);  % 每一代的最短距离
    bestRoute = zeros(inn, CityNum); % 最佳路径
    newPopulation = zeros(inn, CityNum); % 新的种群
    while generationNum < gnMax + 1
       for j = 1 : 2 : inn
          selectedChromos = select(cumulativeProbs);  % 选择操作,选出两条需要交叉编译的染色体,即父亲母亲
          crossedChromos = cross(population, selectedChromos, crossProb);  % 交叉操作,返回交叉后的染色体
          newPopulation(j, :) = mut(crossedChromos(1, :),muteProb);  % 对交叉后的染色体进行变异操作
          newPopulation(j + 1, :) = mut(crossedChromos(2, :), muteProb); % 对交叉后的染色体进行变异操作
       end
       population = newPopulation;  %产生了新的种群
       [populationValue, cumulativeProbs] = calPopulationValue(population, dislist);  % 计算新种群的适应度
       % 记录当前代最好和平均的适应度
       [fmax, nmax] = max(populationValue); % 因为计算适应度时取距离的倒数,这里面取最大的倒数,即最短的距离
       generationMeanValue(generationNum) = 1 / mean(populationValue); 
       generationMaxValue(generationNum) = 1 / fmax;   
       bestChromo = population(nmax, :);  % 前代最佳染色体,即对应的路径
       bestRoute(generationNum, :) = bestChromo; % 记录每一代的最佳染色体
       drawTSP(Clist, bestChromo, generationMaxValue(generationNum), generationNum, 0);
       generationNum = generationNum + 1;
    end
    [bestValue,index] = min(generationMaxValue);
    drawTSP(Clist, bestRoute(index, :), bestValue, index,1);
    
    figure(2);
    plot(generationMaxValue, 'r');  
    hold on;
    plot(generationMeanValue, 'b'); 
    grid;
    title('搜索过程');
    legend('最优解', '平均解');
    fprintf('遗传算法得到的最短距离: %.2f\n', bestValue);
    fprintf('遗传算法得到的最短路线');
    disp(bestRoute(index, :));
    end
    
    %------------------------------------------------
    % 计算所有染色体的适应度
    function [chromoValues, cumulativeProbs] = calPopulationValue(s, dislist)
    inn = size(s, 1);  % 读取种群大小
    chromoValues = zeros(inn, 1);
    for i = 1 : inn
        chromoValues(i) = CalDist(dislist, s(i, :));  % 计算每条染色体的适应度
    end
    chromoValues = 1./chromoValues'; % 因为让距离越小,选取的概率越高,所以取距离倒数
    
    % 根据个体的适应度计算其被选择的概率
    fsum = 0;
    for i = 1 : inn
        % 乘以15次方的原因是让好的个体被选取的概率更大(因为适应度取距离的倒数,若不乘次方,则个体相互之间的适应度差别不大),换成一个较大的数也行
        fsum = fsum + chromoValues(i)^15;   
    end
    
    % 计算单个概率
    probs = zeros(inn, 1);
    for i = 1: inn
        probs(i) = chromoValues(i)^15 / fsum;
    end
    
    % 计算累积概率
    cumulativeProbs = zeros(inn,1);
    cumulativeProbs(1) = probs(1);
    for i = 2 : inn
        cumulativeProbs(i) = cumulativeProbs(i - 1) + probs(i);
    end
    cumulativeProbs = cumulativeProbs';
    end
    
    %--------------------------------------------------
    %“选择”操作,返回所选择染色体在种群中对应的位置
    % cumulatedPro 所有染色体的累计概率
    function selectedChromoNums = select(cumulatedPro)
    selectedChromoNums = zeros(2, 1);
    % 从种群中选择两个个体,最好不要两次选择同一个个体
    for i = 1 : 2
       r = rand;  % 产生一个随机数
       prand = cumulatedPro - r;
       j = 1;
       while prand(j) < 0
           j = j + 1;
       end
       selectedChromoNums(i) = j; % 选中个体的序号
       if i == 2 && j == selectedChromoNums(i - 1)    % 若相同就再选一次
           r = rand;  % 产生一个随机数
           prand = cumulatedPro - r;
           j = 1;
           while prand(j) < 0
               j = j + 1;
           end
       end
    end
    end
    
    %------------------------------------------------
    % “交叉”操作
    function crossedChromos = cross(population, selectedChromoNums, crossProb)
    length = size(population, 2); % 染色体的长度
    crossProbc = crossMuteOrNot(crossProb);  %根据交叉概率决定是否进行交叉操作,1则是,0则否
    crossedChromos(1,:) = population(selectedChromoNums(1), :);
    crossedChromos(2,:) = population(selectedChromoNums(2), :);
    if crossProbc == 1
       c1 = round(rand * (length - 2)) + 1;  %在[1,bn - 1]范围内随机产生一个交叉位 c1
       c2 = round(rand * (length - 2)) + 1;  %在[1,bn - 1]范围内随机产生一个交叉位 c2
       chb1 = min(c1, c2);
       chb2 = max(c1,c2);
       middle = crossedChromos(1,chb1+1:chb2); % 两条染色体 chb1 到 chb2 之间互换位置
       crossedChromos(1,chb1 + 1 : chb2)= crossedChromos(2, chb1 + 1 : chb2);
       crossedChromos(2,chb1 + 1 : chb2)= middle;
       for i = 1 : chb1 % 看交叉后,染色体上是否有相同编码的情况(路径上重复出现两个城市)。若有,则该编码不参与交叉
           while find(crossedChromos(1,chb1 + 1: chb2) == crossedChromos(1, i))
               location = find(crossedChromos(1,chb1 + 1: chb2) == crossedChromos(1, i));
               y = crossedChromos(2,chb1 + location);
               crossedChromos(1, i) = y;
           end
           while find(crossedChromos(2,chb1 + 1 : chb2) == crossedChromos(2, i))
               location = find(crossedChromos(2, chb1 + 1 : chb2) == crossedChromos(2, i));
               y = crossedChromos(1, chb1 + location);
               crossedChromos(2, i) = y;
           end
       end
       for i = chb2 + 1 : length
           while find(crossedChromos(1, 1 : chb2) == crossedChromos(1, i))
               location = logical(crossedChromos(1, 1 : chb2) == crossedChromos(1, i));
               y = crossedChromos(2, location);
               crossedChromos(1, i) = y;
           end
           while find(crossedChromos(2, 1 : chb2) == crossedChromos(2, i))
               location = logical(crossedChromos(2, 1 : chb2) == crossedChromos(2, i));
               y = crossedChromos(1, location);
               crossedChromos(2, i) = y;
           end
       end
    end
    end
    
    %--------------------------------------------------
    %“变异”操作
    % choromo 为一条染色体
    function snnew = mut(chromo,muteProb)
    length = size(chromo, 2); % 染色体的的长度
    snnew = chromo;
    muteProbm = crossMuteOrNot(muteProb);  % 根据变异概率决定是否进行变异操作,1则是,0则否
    if muteProbm == 1
        c1 = round(rand*(length - 2)) + 1;  % 在 [1, bn - 1]范围内随机产生一个变异位
        c2 = round(rand*(length - 2)) + 1;  % 在 [1, bn - 1]范围内随机产生一个变异位
        chb1 = min(c1, c2);
        chb2 = max(c1, c2);
        x = chromo(chb1 + 1 : chb2);
        snnew(chb1 + 1 : chb2) = fliplr(x); % 变异,则将两个变异位置的染色体倒转
    end
    end
    
    % 根据变异或交叉概率,返回一个 0 或 1 的数
    function crossProbc = crossMuteOrNot(crossMuteProb)
    test(1: 100) = 0;
    l = round(100 * crossMuteProb);
    test(1 : l) = 1;
    n = round(rand * 99) + 1;
    crossProbc = test(n);
    end
    
    %------------------------------------------------
    % 计算一条染色体的适应度
    % dislist 为所有城市相互之间的距离矩阵
    % chromo 为一条染色体,即一条路径
    function chromoValue = CalDist(dislist, chromo)
    DistanV = 0;
    n = size(chromo, 2); % 染色体的长度
    for i = 1 : (n - 1)
        DistanV = DistanV + dislist(chromo(i), chromo(i + 1));
    end
    DistanV = DistanV + dislist(chromo(n), chromo(1));
    chromoValue = DistanV;
    end
    
    %------------------------------------------------
    % 画图
    % Clist 为城市坐标
    % route 为一条路径
    function drawTSP(Clist, route, generationValue, generationNum,isBestGeneration)
    CityNum = size(Clist, 1);
    for i = 1 : CityNum - 1
        plot([Clist(route(i), 1),Clist(route(i + 1), 1)], [Clist(route(i),2),Clist(route(i+1),2)],'ms-','LineWidth',2,'MarkerEdgeColor','k','MarkerFaceColor','g');
        text(Clist(route(i), 1),Clist(route(i), 2), ['  ', int2str(route(i))]);
        text(Clist(route(i+1), 1),Clist(route(i + 1), 2), ['  ', int2str(route(i+1))]);
        hold on;
    end
    plot([Clist(route(CityNum), 1), Clist(route(1), 1)], [Clist(route(CityNum), 2), Clist(route(1), 2)],'ms-','LineWidth',2,'MarkerEdgeColor','k','MarkerFaceColor','g');
    title([num2str(CityNum),'城市TSP']);
    if isBestGeneration == 0 && CityNum ~= 10
        text(5, 5, ['第 ',int2str(generationNum),' 代','  最短距离为 ', num2str(generationValue)]);
    else
        text(5, 5, ['最终搜索结果:最短距离 ',num2str(generationValue),', 在第 ',num2str(generationNum),' 代达到']);
    end
    if CityNum == 10  % 因为文字显示位置不一样,所以将城市数目为 10 时单独编写
        if isBestGeneration == 0
            text(0, 0, ['第 ',int2str(generationNum),' 代','  最短距离为 ', num2str(generationValue)]);
        else
            text(0, 0, ['最终搜索结果:最短距离 ',num2str(generationValue),', 在第 ', num2str(generationNum),' 代达到']);
        end
    end
    hold off;
    pause(0.005);
    end
    
    %------------------------------------------------
    %城市位置坐标
    function [DLn, cityn] = tsp(n)
    DLn = zeros(n, n);
    if n == 10
        city10 = [0.4 0.4439;0.2439 0.1463;0.1707 0.2293;0.2293 0.761;0.5171 0.9414;
            0.8732 0.6536;0.6878 0.5219;0.8488 0.3609;0.6683 0.2536;0.6195 0.2634];%10 cities d'=2.691
        for i = 1 : 10
            for j = 1 : 10
                DLn(i, j) = ((city10(i,1)-city10(j,1))^2 + (city10(i,2)-city10(j,2))^2)^0.5;
            end
        end
        cityn = city10;
    end
    if n == 30
        city30 = [41 94;37 84;54 67;25 62;7 64;2 99;68 58;71 44;54 62;83 69;64 60;18 54;22 60;
            83 46;91 38;25 38;24 42;58 69;71 71;74 78;87 76;18 40;13 40;82 7;62 32;58 35;45 21;41 26;44 35;4 50]; % 30 cities d' = 423.741 by D B Fogel
        for i = 1 : 30
            for j = 1 : 30
                DLn(i,j) = ((city30(i,1)-city30(j,1))^2+(city30(i,2)-city30(j,2))^2)^0.5;
            end
        end
        cityn = city30;
    end
    
    if n == 50
        city50 = [31 32;32 39;40 30;37 69;27 68;37 52;38 46;31 62;30 48;21 47;25 55;16 57;
            17 63;42 41;17 33;25 32;5 64;8 52;12 42;7 38;5 25; 10 77;45 35;42 57;32 22;
            27 23;56 37;52 41;49 49;58 48;57 58;39 10;46 10;59 15;51 21;48 28;52 33;
            58 27;61 33;62 63;20 26;5 6;13 13;21 10;30 15;36 16;62 42;63 69;52 64;43 67];%50 cities d'=427.855 by D B Fogel
        for i = 1 : 50
            for j = 1:50
                DLn(i, j) = ((city50(i,1) - city50(j,1))^2 + (city50(i,2) - city50(j,2))^2)^0.5;
            end
        end
        cityn = city50;
    end
    
    if n == 75
        city75 = [48 21;52 26;55 50;50 50;41 46;51 42;55 45;38 33;33 34;45 35;40 37;50 30;
            55 34;54 38;26 13;15 5;21 48;29 39;33 44;15 19;16 19;12 17;50 40;22 53;21 36;
            20 30;26 29;40 20;36 26;62 48;67 41;62 35;65 27;62 24;55 20;35 51;30 50;
            45 42;21 45;36 6;6 25;11 28;26 59;30 60;22 22;27 24;30 20;35 16;54 10;50 15;
            44 13;35 60;40 60;40 66;31 76;47 66;50 70;57 72;55 65;2 38;7 43;9 56;15 56;
            10 70;17 64;55 57;62 57;70 64;64 4;59 5;50 4;60 15;66 14;66 8;43 26]; % 75 cities d'=549.18 by D B Fogel
        for i = 1 : 75
            for j = 1 : 75
                DLn(i,j) = ((city75(i,1)-city75(j,1))^2 + (city75(i,2)-city75(j,2))^2)^0.5;
            end
        end
        cityn = city75;
    end
    end
    

     

     

     

     

    展开全文
  • 这段代码对内存很高,所使用图片尽量控制在200*300范围内 img_name='002.bmp'; % 原始图像 I=double(imread(img_name))/255; % 获取图像大小 [h,w,c]=size(I); win_size = 7; img_size=w*h; dehaze=zeros...

    这段代码对内存很高,所使用图片尽量控制在200*300范围内

    img_name='002.bmp';

    % 原始图像

    I=double(imread(img_name))/255;

    % 获取图像大小

    [h,w,c]=size(I);

    win_size = 7;

    img_size=w*h;

    dehaze=zeros(img_size*c,1);

    dehaze=reshape(dehaze,h,w,c);

    figure, imshow(I);

    win_dark=zeros(img_size ,1);

    %这段代码可用矩阵处理

    for cc=1:img_size

       win_dark(cc)=1;

    end

     

    win_dark=reshape(win_dark,h,w);

    %计算分块darkchannel,此处也尝试用矩阵处理,循环太多

     for j=1+win_size:w-win_size

        for i=win_size+1:h-win_size

            m_pos_min = min(I(i,j,:));

            for n=j-win_size:j+win_size

                for m=i-win_size:i+win_size

                    if(win_dark(m,n)>m_pos_min)

                        win_dark(m,n)=m_pos_min;

                    end

                end

            end

          

       end

     end

     

     figure, imshow(win_dark);

    %输出darkchannel图像

    %%%%%%%%%%%%%%% 

     for cc=1:img_size

       win_dark(cc)=1-win_dark(cc);

     end

    %%%%%%%%%%%%%%%

     %选定精确dark value坐标

    win_b = zeros(img_size,1);

     

    %rem函数为求余函数,有可能是进行边缘处理

    for ci=1:h

        for cj=1:w

            if(rem(ci-8,15)<1)

                if(rem(cj-8,15)<1)

                    win_b(ci*w+cj)=win_dark(ci*w+cj);

                end

            end

          

        end

    end

     

    %显示分块darkchannel

    %figure, imshow(win_dark);

     

    neb_size = 9;

    win_size = 1;

    epsilon = 0.0000001;

    %指定矩阵形状

    indsM=reshape([1:img_size],h,w);

    %是不是win_dark

    %计算矩阵L

    tlen = img_size*neb_size^2;

    row_inds=zeros(tlen ,1);

    col_inds=zeros(tlen,1);

    vals=zeros(tlen,1);

    len=0;

    for j=1+win_size:w-win_size

        for i=win_size+1:h-win_size

            if(rem(ci-8,15)<1)

                if(rem(cj-8,15)<1)

                    continue;

                end

            end

          win_inds=indsM(i-win_size:i+win_size,j-win_size:j+win_size);

          win_inds=win_inds(:);%列显示

          winI=I(i-win_size:i+win_size,j-win_size:j+win_size,:);

          winI=reshape(winI,neb_size,c); %三个通道被拉平成为一个二维矩阵 3*9

          win_mu=mean(winI,1)';  %求每一列的均值 如果第二个参数为2 则为求每一行的均值  //矩阵变向量

          win_var=inv(winI'*winI/neb_size-win_mu*win_mu' +epsilon/neb_size*eye(c)); %求方差

     

          winI=winI-repmat(win_mu',neb_size,1);%求离差

          tvals=(1+winI*win_var*winI')/neb_size;% 求论文所指的矩阵L

     

          row_inds(1+len:neb_size^2+len)=reshape(repmat(win_inds,1,neb_size),...

                                                 neb_size^2,1);

          col_inds(1+len:neb_size^2+len)=reshape(repmat(win_inds',neb_size,1),...

                                                 neb_size^2,1);

          vals(1+len:neb_size^2+len)=tvals(:);

          len=len+neb_size^2;

        end

    end

    vals=vals(1:len);

    row_inds=row_inds(1:len);

    col_inds=col_inds(1:len);

    %创建稀疏矩阵

    A=sparse(row_inds,col_inds,vals,img_size,img_size);

    %求行的总和 sumA为列向量

    sumA=sum(A,2);

    %spdiags(sumA(:),0,img_size,img_size) 创建img_size大小的稀疏矩阵其元素是sumA中的列元素放在由0指定的对角线位置上。

    A=spdiags(sumA(:),0,img_size,img_size)-A;

     

     

      %创建稀疏矩阵

      D=spdiags(win_b(:),0,img_size,img_size);

      lambda=1;

      x=(A+lambda*D)\(lambda*win_b(:).*win_b(:));   %求解式15

     

       %去掉0-1范围以外的数

      alpha=max(min(reshape(x,h,w),1),0);

    figure, imshow(alpha);

    A=220/255; %大气光没有去计算

    %去雾

           for i=1:c

        for j=1:h

            for l=1:w

                dehaze(j,l,i)=(I(j,l,i)-A)/alpha(j,l)+A;

            end

        end

    end

    figure, imshow(dehaze);

    展开全文
  • ACO-TSP蚁群matlab代码,用matlab打开可以直接用,计算智能的作业,代码很详细,有备注 蚁群算法(Ant Colony Optimization, ACO),又称蚂蚁算法,是一种用来在图中寻找优化路径的机率型算法。它由Marco Dorigo...
  • matlab求邻接矩阵代码 DMRG Matlab code of DMRG on 1D Heisenberg Model 1维最近邻海森堡哈密顿量 H=J\sum_{ij}\bm{S}_i\bm{S}_j ...代码中的中文备注不知道为啥网站上显示乱码,下载再看可能没问题。
  • MATLAB使用备注(一)

    千次阅读 2017-09-05 12:33:02
    今天算第一次尝试用matlab写一份正式的工程,真到用的时候才明白自己那点matlab水平还真不够看......以后这类文章用于记录matlab使用的时候容易出错的地方或者小技巧 1、关于矩阵合并,需要分清行合并与列合并 ...

    今天算第一次尝试用matlab写一份正式的工程,真到用的时候才明白自己那点matlab水平还真不够看......以后这类文章用于记录matlab使用的时候容易出错的地方或者小技巧

     

    1、关于矩阵合并,需要分清行合并与列合并

    如A=[1,2];B=[3,4];

    如果C=[A,B],则得到的是行合并,C=[1 2 3 4]

    如果C=[A;B],则得到的是列合并,

    C=[1 2

       3 4];

     

     

    2、shift+enter的自动替换和复制粘贴一起用的时候,注意使用顺序

    上午需要读取数据集的test和train两份data,写完train的读取后,图方便就复制粘贴了然后用shift+enter直接把train替换成test,结果把前面写的train的读取中,所有train变量也替换掉了,然后.....就没有然后了.....

     

     

    9月22日更新

    3、今天下午处理数据文件的时候顺手玩了玩sprintf的参数配置,这个在文件读取时很有用,一般就写file=sprintf("file_path",path_arg1,path_arg2,.....);然后fopen即可。其中第一个参数的字符串中,可以自定义文件格式,比如sprintf(’% 0 2 i....‘,......);(源码没有空格,新浪博客貌似会自动屏蔽百分号加数字.....),那么第一个变量显示的值是将数字转为字符串,02表示转为两位数,不足两位的在前面补0。需要注意的是,这个操作最多写到 09,之后比如20,就在数字前面加20个空格不会加任何0

     

    4、还是专门记录一下好了,C里面数组取值是a[i],matlab里面是a(i),已经用错好几次了,蛋疼.......

     

     

    9月26日更新

    5、C++的陋习带到matlab里面来了.....今天晚上运行eigenjoint的数据读取模块,结果跑了两三次就莫名其妙地报错,然后就出现系统报错

    Caught "std::exception" Exception message is:

    Message Catalog MATLAB:load was not loaded from the file. Please check file location, format or contents

    仔细看了看代码才发现,fp=fopen(filename)之后,就一直没有关掉文件了.....加了一个fclose(fp),世界就安静了

     

    10月8日更新:

    6、关于max(a),如果a是一个向量,那么返回最大值,如果是矩阵,则返回a每列的最大值

    a=[1,2;     max(a)的值为[3,4]

         3,4]

    a=[1,3;     max(a)的值为[2,4]

          2,4]

    展开全文
  • matlab 逻辑回归代码 KLS #跨语言情感分类 ##实验代码 分支 优化方式 Gs是否变化 Fs,Ft归一化方式 备注 master 联合 不变 列为一 F和S不做分解,保持S尽量接近 LSFTL 联合 不变 列为一 F和S分解,保证公共部分尽量...
  • matlab——zeros函数

    万次阅读 多人点赞 2019-10-19 11:40:29
    #matlab——zeros函数 ##功能 zeros函数用于创建一个全零的数组或矩阵 ##语法 B = zeros(n) B = zeros(m,n) B = zeros(m,n) B = zeros(d1,d2,d3…) B = zeros([d1 d2 d3…]) B = zeros(size(A)) zeros(m, n,…,...

    matlab——zeros函数
    功能
    zeros函数用于创建一个全零的数组或矩阵
    语法
    B = zeros(n)
    B = zeros(m,n)
    B = zeros(m,n)
    B = zeros(d1,d2,d3…)
    B = zeros([d1 d2 d3…])
    B = zeros(size(A))
    zeros(m, n,…,classname)
    zeros([m,n,…],classname)
    解释
    zeros(n): 生成一个nn的零矩阵,如果n不是标量,则会报错
    zeros(m,n)和zeros(m,n):均是一个m
    n的矩阵
    zeros(d1,d2,d3…)和zeros([d1 d2 d3…]):均是生成一个d1d2d3*……的零数组或矩阵
    zeros(size(A)) :生成一个和矩阵A大小相同的零矩阵
    zeros(m, n,…,classname)和zeros([m,n,…],classname):生成一个类型为classname的m*n大小的零数组或矩阵,其中classname的取值有:double’, ‘single’, ‘int8’, ‘uint8’, ‘int16’, ‘uint16’, ‘int32’, or ‘uint32’
    备注
    MATLAB语言没有一个维度声明; MATLAB自动为矩阵分配存储空间。然而,对于大型矩阵,MATLAB程序可能会执行得更快,如果零函数用于设置一个矩阵,其元素将产生一次,或行或列的时间预留存储空间。例如

    x = zeros(1,n);
    for i = 1:n, x(i) = i; end

    展开全文
  • Fisher线性判别实验,.m文件,各行代码功能备注明确,有利于学习,matlab直接运行,数据更改即可用于其他类别实验分析。
  • matlab代码保存为fis FIS_Analysis_3D 用于计算面部改善分数(FIS)的Matlab代码 生成随机组(具有不同治疗对象数量)并对其执行面部改善评分(FIS)的功能。 作为输出,FIS直方图将被计算并保存为数字。 % 输入: ...
  • matlab代码转换成C代码

    万次阅读 2018-11-29 22:47:15
    MATLAB Coder可以从MATLAB代码生成独立的、可读性强、可移植的C/C++代码。本文基于matlab2015a编制,但是也适用于matlab 2014~2016的版本。 1. 使用MATLAB Coder产生C代码的4个步骤: (1) 开发实现特定算法功能的...
  • 弹性光网络中的KSP-FF-RSA算法matlab代码,实测有效,考虑了K最短路径、首次命中以及调制格式选择,最终能输出网络阻塞率,并提供多个候选网络拓扑测试,备注超级详细。
  • MATLAB Coder可以从MATLAB代码生成独立的、可读性强、可移植的C/C++代码。本文基于matlab2015a编制,但是也适用于matlab 2014~2016的版本。 1. 使用MATLAB Coder产生C代码的4个步骤: (1) 开发实现特定算法功能的...
  • ####备注Matlab是用于实现代码的编程语言。 由于C ++没有本机矩阵,更不用说数组数据类型了,我决定放弃将其用作解决此类问题的工具。 Matlab对于矩阵数学非常有用,因为许多矩阵运算已内置到该语言中并进行了优化。...
  • matlab代码注释方法--单行&多行

    千次阅读 2020-01-09 15:25:10
    matlab代码,单行及多行注释方法如下: 1、单行注释,用:%,如下所示: clear; clc; x=1:0.01:pi*2; y=sin(x); plot(x,y); %正弦曲线 title('my figure'); hgsave('myfigure.fig'); 2、多行注释,用:%{...
  • 包含了bmp格式图像的空间矩求解算法。其中列出了七个不变量。代码可运行。代码参照数字图像处理第三版公式编写的。代码里面有备注
  • 机械设计,V带电算MATLAB代码,含备注,使用GUI界面打开,内有注意事项与操作说明
  • 备注:1.由于是敲实验报告自用,所以不能保证代码的通用性,具体问题还要具体分析 2.这里只有函数文件,脚本文件还请读者自行建立 function s=l2(m,x,y,n) #x为自变量矩阵,y为因变量矩阵,如x=[0.4,0.5,0.6,0.7,0.8]...
  • 卡尔曼滤波MATLAB代码

    2018-03-19 18:16:51
    国外学者的开源卡尔曼滤波MATLAB代码备注详细,可以用于目标跟踪基础学习
  • 这是一个学习机器人避障算法的matlab仿真代码,使用VFH+算法进行避障,直接下载运行就可以使用,备注非常详细,大家可以自定义避障地图,也可以更改参数实现不同的避障
  • matlab灰度处理代码 ###################################################### #######方法1:superpixels_seeds##### ###################################################### 超像素分割方法,采用论文 SEEDS: ...
  • 备注:1.由于是敲实验报告自用,所以不能保证代码的通用性,具体问题还要具体分析 2.这里只有函数文件,脚本文件还请读者自行建立 function y=n1(x,y,n,x1) #参数说明,x为自变量矩阵,y为因变量矩阵,如x=[0.4,0.5,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,490
精华内容 996
关键字:

matlab备注代码

matlab 订阅