I am having problems in anonymous function (y=@(x)(...))
조회 수: 1 (최근 30일)
이전 댓글 표시
Let me re-word my querry.
Let's say there is a square matrix of v=[1 2 3 4 5 6 78 9 10; 11 12 13 14 15 16 17 18 19 20;21 22 23 24 25 26 27 28 29 30;31 32 33 34 35 36 37 38 39 40;41 42 43 44 45........ 99 100] and a is a variable that prompt the user to input. It is easy to obtain a square matrix of size a by a of the original matrix v (left hand corner) with the use of w=v(1:a,1:a), of course a is less than length(v).
However, I would like to know how to do the same for anonymous functions. v in this case will be a column matrix a quantities of "@(x)(B.*[x x^2 x^3 ......]);", where [x x^2 x^3 ......] is a row matrix with a elements.
Here is an example:
Let's say v={@(x)([x x^2 x^3 x^4]; @(x)([x^2 x^3 x^4 x^5]); @(x)([x^3 x^4 x^5 x^6]); @(x)([x^4 x^5 x^6 x^7])};
if a = 3, the new v would be v={@(x)([x x^2 x^3]; @(x)([x^2 x^3 x^4]); @(x)([x^3 x^4 x^5])};
댓글 수: 4
Kevin Phung
2019년 4월 29일
ok, just wanted to make sure. Also, what is x supposed to be? I think maybe it'll be easier to construct the matrix if x was an input to your function fun, instead of creating so many anonymous functions.
답변 (1개)
Kevin Phung
2019년 4월 29일
편집: Kevin Phung
2019년 4월 29일
let me know if this is what youre trying to do with your anon functions:
function y = fun(a,x)
y = sum(triu(repmat(flip(x.^(1:a)),numel(a),1)),2)
%uncomment this if you want to see how the matrix looks like before summing the rows
%y = triu(repmat(flip(x.^(1:a)),numel(a),1))
end
참고 항목
카테고리
Help Center 및 File Exchange에서 Logical에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!