Display the calculation result
조회 수: 7 (최근 30일)
이전 댓글 표시
Dear :
I have 4(declared for cont) datas of weight,my code is following:
clc
clear all
weight=[1 1 1 1;2 2 2 2;3 3 3 3;4 4 4 4];
ax=[1 2 3 4;1 2 3 4;1 2 3 4;1 2 3 4];
Beta=[0 0 0 0];
cont=length(weight);
for cont_I=1:cont
Etotalx=zeros(cont,cont_I);
for g=1:4
Etotalx(:,cont_I)=Etotalx(:,cont_I)+weight(cont_I,g).*ax(:,g)*exp(1j*Beta(g));
end
end
But the display result only has the last result(the 4th data),others(the former ones) are 0.
The result like this picture:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/190711/image.png)
This is my problem,need everyone's instruction and advice,thank for first.
댓글 수: 0
채택된 답변
Shrestha Kumar
2018년 5월 21일
Hi, You are declaring a zero matrix each time inside the loop i.e for the first iteration you declare a 4*1 zero matrix and then update the first column, in the second iteration you declare a 4*2 zero matrix and update only the second column and the first column remains zero and so on. The solution for the problem is to declare a 4*4(i.e cont * cont) zero matrix outside the loop and then update the columns.
Etotalx = zeros(cont,cont); for cont_I = 1:cont for g=1:4 ....
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Numeric Types에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!