Function implementation in matlab
Afficher commentaires plus anciens
I want to implement this function ?[?, ?] = (?^( ?+?)*u[?] using 41*41 array, where u[n] =1 since all the value will be positive ,and n,m from 0 to 40,
N=40
a=0.9
x =zeros(41,41)
for k=0:N
for col = 1:41
for row = 1:41
x(row,col)=a.^(k+k)*1;
end
end
end
but id give wrong values
6 commentaires
Suha Ismail
le 8 Mai 2020
Suha Ismail
le 8 Mai 2020
Walter Roberson
le 8 Mai 2020
You are overwriting all of x for each k value.
Hint: n = col - 1
Suha Ismail
le 8 Mai 2020
Suha Ismail
le 8 Mai 2020
Walter Roberson
le 8 Mai 2020
You do not need most of that. You only need two nested loops. Given the row number, you can immediately compute n -- it is just the row number minus 1. Given the column number, you can immediately compute m -- it is just the column number minus 1
for ...
n = row - 1;
for ...
m = col - 1;
output(row, col) = something involving n and m
end
end
Réponses (1)
Stephen23
le 8 Mai 2020
>> a = 0.9;
>> V = 0:40;
>> M = a.^(V+V(:)); % requires >=R2016b
For earlier versions replace the + with bsxfun.
Catégories
En savoir plus sur Loops and Conditional Statements dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!