Function implementation in matlab

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
Suha Ismail le 8 Mai 2020
Anyone can help??
Suha Ismail
Suha Ismail le 8 Mai 2020
?
Walter Roberson
Walter Roberson le 8 Mai 2020
You are overwriting all of x for each k value.
Hint: n = col - 1
N=40
M=40
a=0.9
x =zeros(41,41)
for col = 1:41
for row = 1:41
for k=0:N
for i=0:M
x(row,col)=a.^(k+i)*1;
end
end
end
end
Suha Ismail
Suha Ismail le 8 Mai 2020
I chcnage to this code but still not work
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

Connectez-vous pour commenter.

Réponses (1)

Stephen23
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!

Translated by