将矩阵的最后一行乘以一个不同顺序的变量
问题描述:
我想将矩阵的最后一行乘以一个不同顺序的变量;将矩阵的最后一行乘以一个不同顺序的变量
%A matrix
N = length(a)-1;% order of the matrix
last_row = (a(1:end-1))*(1/a(end));% creating the last row
k = ones(1,N-1);
A = diag(k,1) ; % diag(vector, k) produce a matrix filled with zero's and k'th off diagonal as vector, in this case, 1's.
last_row = (wc.^(N:-1:1)).*last_row;% multiply the variable with different order.
A(end,:) = last_row;% adding the last_row
之前,我乘的变量,以我的 “LAST_ROW”
last_row =
1.0000 2.6131 3.4142 2.6131
我的矩阵:
A =
0 1 0 0
0 0 1 0
0 0 0 1
0 0 0 0
变量相乘后:
last_row =
1.0e+009 *
1.2624 0.0175 0.0001 0.0000
当我插入最后一行:
A =
1.0e+009 *
0 0.0000 0 0
0 0 0.0000 0
0 0 0 0.0000
1.2624 0.0175 0.0001 0.0000
它正在改变不是我的最后一行的元素,我在哪里出错。所有这些1应该保持原样
你的意思是例如A(1,2)应该是一个?然后我必须告诉你它*仍然*是1! Matlab尝试格式化矩阵以解释最后一行。只要检查你的自我,如果A(1,2)是1 –