construction of diagonal matrix of functions

1 Ansicht (letzte 30 Tage)
danielle sisserman
danielle sisserman am 28 Nov. 2020
Bearbeitet: Matt J am 28 Nov. 2020
I have three functions: f_1, f_2, and f_3.
I want to construct the matrix A for the following linear system:
so the first line of the system will be f_2(x_1) + f_3(x_2) = q_1
second line will be f_1(x_1) + f_2(x_2) + f_3(x_3) = q_2
third line f_1(x_2) + f_2(x_3) + f_3(x_4) = q_3
and so on.
Thank you.

Akzeptierte Antwort

Matt J
Matt J am 28 Nov. 2020
Bearbeitet: Matt J am 28 Nov. 2020
This might be what you want. It assumes that f_1,2,3(x) work element-wise.
function A=func(x)
f1=f_1(x(1:end-1));
f2=f_2(x);
f3=f_3(x(2:end));
A=diag(f1,-1)+diag(f2)+diag(f3,+1);
end

Weitere Antworten (1)

Matt J
Matt J am 28 Nov. 2020
Bearbeitet: Matt J am 28 Nov. 2020
function A=func(x,n)
e=zeros(1,n-2);
f1=f_1(x);
f2=f_2(x);
f3=f_3(x);
A=toeplitz([f2,f1,e], [f2,f3,e]);
end
  4 Kommentare
danielle sisserman
danielle sisserman am 28 Nov. 2020
Okay, thank you for your reply. I'm not sure how to construct the matrix A using the above function.
I have [x1, x2, ..., x3]. not one x. sorry for not being clear.
so the first line of the system will be f_2(x_1) + f_3(x_2) = q_1
second line will be f_1(x_1) + f_2(x_2) + f_3(x_3) = q_2
third line f_1(x_2) + f_2(x_3) + f_3(x_4) = q_3
and so on.
Thank you.
Matt J
Matt J am 28 Nov. 2020
Bearbeitet: Matt J am 28 Nov. 2020
so the first line of the system will be f_2(x_1) + f_3(x_2) = q_1
I'm still not sure what you want, because your drawings and your equations say different things. You're new drawing is equivalent to,
x_1*f_2(alpha) + x_2*f_3(alpha) = q_1
x_1*f_1(alpha) + x_2*f_2(alpha) + x_3*f_3(alpha) = q_2
...

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by