Function implementation in matlab
Show older comments
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 Comments
Suha Ismail
on 8 May 2020
Suha Ismail
on 8 May 2020
Walter Roberson
on 8 May 2020
You are overwriting all of x for each k value.
Hint: n = col - 1
Suha Ismail
on 8 May 2020
Suha Ismail
on 8 May 2020
Walter Roberson
on 8 May 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
Answers (1)
Stephen23
on 8 May 2020
>> a = 0.9;
>> V = 0:40;
>> M = a.^(V+V(:)); % requires >=R2016b
For earlier versions replace the + with bsxfun.
Categories
Find more on Loops and Conditional Statements in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!