Filter löschen
Filter löschen

Display the calculation result

3 Ansichten (letzte 30 Tage)
Zoe Lin
Zoe Lin am 21 Mai 2018
Bearbeitet: Zoe Lin am 21 Mai 2018
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:
This is my problem,need everyone's instruction and advice,thank for first.

Akzeptierte Antwort

Shrestha Kumar
Shrestha Kumar am 21 Mai 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 ....
  1 Kommentar
Zoe Lin
Zoe Lin am 21 Mai 2018
Bearbeitet: Zoe Lin am 21 Mai 2018
Dear Shrestha Kumar:
Thanks a lot,thank you for your big help,thanks~

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Numeric Types finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by