Borrar filtros
Borrar filtros

Display the calculation result

3 visualizaciones (últimos 30 días)
Zoe Lin
Zoe Lin el 21 de Mayo de 2018
Editada: Zoe Lin el 21 de Mayo de 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.

Respuesta aceptada

Shrestha Kumar
Shrestha Kumar el 21 de Mayo de 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 comentario
Zoe Lin
Zoe Lin el 21 de Mayo de 2018
Editada: Zoe Lin el 21 de Mayo de 2018
Dear Shrestha Kumar:
Thanks a lot,thank you for your big help,thanks~

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Numeric Types en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by