• matlab初探寻


     1 matlab 
     2 <iframe src="//player.bilibili.com/player.html?aid=74994893&cid=128293306&page=1" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true"> </iframe>
     3 %使用要点:
     4 
     5 %1.目标函数f要写成列矩阵的形式
     6 %2.约束要写成<=的形式
     7 %3.函数是为求最小值设置的
     8 %[x,fv,exitflag,output,lambda]=linprog(f,a,b,aeq,beq,lb,ub)
     9 %x表示最优解,以列矩阵表示
    10 %fval为最优值
    11 %exitflg=1有最优解,0迭代次数超过设定次数,-2约束区域不可行,-3问题无解,-4执行迭代算法时遇到NaN,
    12 %-5原问题和对偶问题均不可行,-7搜索方向太小,不能继续前进,output表明算法和迭代情况,lambda指的是存储情况。
    13 %输入部分如有缺失,可用[]代替
    14 %min z=-3x1-4x2
    15 %s.t x1+x2<=6
    16 % x1+2x2<=8
    17 % x2<=3
    18 % x1,x2>=0
    19 
    20 f=[-3,-4]';
    21 a=[1,1;1,2;0,1];
    22 b=[6,8,3]';
    23 lb=[0,0]';
    24 [x,fv,ex,output,lambda]=linprog(f,a,b,[],[],lb,[]);

     

     matlab根据列来排序的,先计算列在计算行

     可以通过 输入命令来球和,,,SUM( E,2)这个就是根据行来求和了

     a = sum(sum(E))先对列求和,再对行求和就饿可以做到全部求和了;太他妈极致了

    A([2,5] , :)  %这个就是去到了所有的第二行和第五行的元素

    A(2:5,:)     %这个就是说的取第二行到第五行的元素全部,2:5意思就是一个递增的数列;

    2:1:5 这个就是以1为公差的等差数列

    >> A =[1,2,3,4,5;
    12,23,34,45,56;
    21,32,43,54,65];
    >> sum_a = sum(A)
    
    sum_a =
    
        34    57    80   103   126
    
    >> sum_a = repmat(sum_q,5,1)
    未定义函数或变量 'sum_q'。
     
    是不是想输入:
    >> sum_a = repmat(sum_a,5,1)
    
    sum_a =
    
        34    57    80   103   126
        34    57    80   103   126
        34    57    80   103   126
        34    57    80   103   126
        34    57    80   103   126
  • 相关阅读:
    Oracle 的日期类型
    简单的同步Socket程序服务端
    MMORPG中的相机跟随算法
    使用了UnityEditor中的API,打包时却不能打包UnityEditor的问题
    C# 中的关键字整理
    Unity3D C#中使用LINQ查询(与 SQL的区别)
    C# 值类型与引用类型的异同
    Unity3D NGUI事件监听的综合管理
    Unity3D 动画状态机简单控制核心代码
    Unity3D判断触摸方向
  • 原文地址:https://www.cnblogs.com/shewhen/p/11875465.html
Copyright © 2020-2023  润新知