How can I constrcut this matrix for a problem?

조회 수: 1 (최근 30일)
Filippos Georgios Sarakis
Filippos Georgios Sarakis 2023년 1월 2일
편집: Torsten 2023년 1월 2일

채택된 답변

Torsten
Torsten 2023년 1월 2일
If x = [x0,x1,...,xn] is an 1x(n+1) row vector, you could use
M = zeros(n+1);
for i = 1:n+1
M(i,:) = psi(x(1:n+1)-x(i));
end
M = M - diag(diag(M)) + eye(n+1)
if psi is a function that accepts array input.
  댓글 수: 4
Filippos Georgios Sarakis
Filippos Georgios Sarakis 2023년 1월 2일
Amazing, one last thing that I dont get, how can I make this code into a function so that I can put any input vector x and the output would be the conversion number of the matrix M?
Torsten
Torsten 2023년 1월 2일
편집: Torsten 2023년 1월 2일
Save "untitled245.m" as "fun.m" in your working directory and try again.
Because your function psi satisfies psi(0)=1, you can remove the line
M = M - diag(diag(M)) + eye(n+1);
in the code.
If you want to use the code for other functions, too, that might not satisfy psi(0)=1, better keep it.
Maybe besides x, you should pass "psi" to "fun" as a function handle to keep the code more flexible.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Linear Algebra에 대해 자세히 알아보기

제품


릴리스

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by