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
原文地址:https://www.cnblogs.com/shewhen/p/11875465.html