Display the calculation result
7 views (last 30 days)
Show older comments
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 Comments
Accepted Answer
Shrestha Kumar
on 21 May 2018
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 ....
More Answers (0)
See Also
Categories
Find more on Numeric Types in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!