how to get adress position inside vector

1 回表示 (過去 30 日間)
alize beemiel
alize beemiel 2022 年 3 月 12 日
回答済み: Jan 2022 年 3 月 12 日
hi!
please for some help
i have this vector
i need to some value of eld in a vector gravlo just in right position given in vector adress
but matlab say Subscript indices must either be real positive integers or logicals.
can someone help me how to fix it
gravlo=zeros(1,100);
eld =[ 0
-1.7222
0
7.0000
0
-1.7778
0
6.8889
0
-1.7778
0
7.0000
0
-1.7222
0
7.1111];
adress =[ 0
3
0
2
0
1
31
32
61
62
63
64
65
66
33
34 ];
gravlo(adress)=gravlo(adress)+eld.*20;
  7 件のコメント
Jan
Jan 2022 年 3 月 12 日
編集済み: Jan 2022 年 3 月 12 日
A simplified version of your code:
gravlo = zeros(427,1);
for iel=1:5
g = G(:,iel);
m = (g ~= 0);
gravlo(g(m)) = gravlo(g(m)) - eld(m) * 20;
end
Hints: Do not use "clear all" in productive code, because it is a waste of time only.
Use the buttons on top of the field for posting messages to format the code. This improves the readability.
alize beemiel
alize beemiel 2022 年 3 月 12 日
oh !!!
thank you Sir,
its very nice and its work with a simply code
thanks very much Sir,

サインインしてコメントする。

採用された回答

Jan
Jan 2022 年 3 月 12 日
Copied from my comment as an answer:
gravlo = zeros(427,1);
for iel = 1:5
g = G(:, iel);
m = (g ~= 0);
gravlo(g(m)) = gravlo(g(m)) - eld(m) * 20;
end

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeIntroduction to Installation and Licensing についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by