哪位matlab能帮帮忙解一下图中的problem#7

如题所述

function [ logi ] = test( matrix )
logi = 1;
[m,n] = size(matrix);
if m~=n
error('the input matrix is not a square matrix');
end
temp = zeros(m,n);
a = tril(matrix,-1);
b = tril(matrix,1);
if sum(sum(a-temp)) && sum(sum(b-temp));
logi = 0;
end
end追答

%% method 1 矩阵广义逆
A = [7 5 3 2 1;5 11 6 2 2;3 6 17 4 1;2 2 4 13 0;1 2 1 0 7];
b = [18;26;31;21;11];
x = pinv(A)*b

%% method 2 凸优化求解,需要安装cvx工具包
A = [7 5 3 2 1;5 11 6 2 2;3 6 17 4 1;2 2 4 13 0;1 2 1 0 7];
b = [18;26;31;21;11];
cvx_begin
variable x(5,1)
minimize(sum(x));
subject to
A*x == b;
cvx_end
x

%% method 3 矩阵除法
A = [7 5 3 2 1;5 11 6 2 2;3 6 17 4 1;2 2 4 13 0;1 2 1 0 7];
b = [18;26;31;21;11];
x=A\b

%% method 4 线性规划函数linprog
A = [7 5 3 2 1;5 11 6 2 2;3 6 17 4 1;2 2 4 13 0;1 2 1 0 7];
b = [18;26;31;21;11];
c = ones(5,1);
x=linprog(c,zeros(1,5),0,A,b)

温馨提示:答案为网友推荐,仅供参考
相似回答