Info
此问题已关闭。 请重新打开它进行编辑或回答。
Trouble allocating values to matrix
1 次查看(过去 30 天)
显示 更早的评论
Hello.
I am trying to assign values to a matrix, but am having some trouble doing so.
clc;
clear all;
X=ones(22,22);
X1=3.2;
X2=1.5;
T1=X(1:3,1:3);
T2=X(10:13,9:11);
T3=X(20:22,20:21);
if T1
X*X1
else if T2
X.*X1
else if T3
X.*X1
else
X.*X2
end
end
end
end
When I do this, every value in the matrix becomes 3.2 (X1). I am not using the else statement correctly I believe.
The goal is to have the X1 values at the locations specified by T1,T2 and T3 and have everything else equal to X2.
All help greatly appreciated.
bt
0 个评论
回答(2 个)
Walter Roberson
2012-2-29
if T1
is equivalent to
if all(T1(:))
That is, the condition is true only if every value in the matrix is non-zero.
0 个评论
the cyclist
2012-2-29
In addition to Walter's answer, note that in your if ... else statements, you never actually assign values to any variables. You only display X.*X1, etc.
0 个评论
此问题已关闭。
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!