Azzera filtri
Azzera filtri

write this following matrix

1 visualizzazione (ultimi 30 giorni)
Zeynep Toprak
Zeynep Toprak il 7 Mag 2020
Commentato: Gokberk Yildirim il 16 Mag 2020
How can I write the following matrix
I define n=100
And I generate the following code
D= toeplitz ([0 1 zeros(1, n-2) -1]/ (2*h))
but I get wrong matrix. How can I correct it?
  6 Commenti
Zeynep Toprak
Zeynep Toprak il 7 Mag 2020
okay, thanks for helping, but it is very difficult. Thanks a lot again.
Gokberk Yildirim
Gokberk Yildirim il 16 Mag 2020
Actually, it can be done with this Zeynep.
c = [0 -1 zeros(1,n-3)];
r = [0 1 zeros(1,n-3)];
D = toeplitz(c,r) / (2*h)

Accedi per commentare.

Risposta accettata

John D'Errico
John D'Errico il 7 Mag 2020
Modificato: John D'Errico il 7 Mag 2020
Try this:
n = 100;
D = (diag(ones(n-1,1),1) - diag(ones(n-1,1),-1))/(2*h);
You can also use spdiags. or sparse, or many other tools. But diag as I did it above is about the simplest way.
  1 Commento
Zeynep Toprak
Zeynep Toprak il 7 Mag 2020
Many thanks for your great help!! :) I use this matrix in this question my question is here. But I get an error message. Please can you take a look at it? (This is not assignment or something else like this. On these lockdown days, I try to learn matlab by myself, and I have no one to ask or to learn) Many thanks again.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Creating and Concatenating Matrices in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by