create a matrix in a function

2 vues (au cours des 30 derniers jours)
Tony Montgomery
Tony Montgomery le 6 Sep 2014
Commenté : Star Strider le 6 Sep 2014
I have to create a function called ssolve. in the function i need to create an array that can accept 3 variables a, b, n. these variables need to be placed in a matrix. example a needs to be in row 1 column 2, and b needs to be in row 20 columns 1-19. ones must be diagonal, and the rest are zero. in another array, (1by20) i need to have the first 16 to be 1-16, the 17th must be n-2, 18th must be 0, and the last must be n. how can I put that in, ive tried
c=ones(1,20);
m=diag(c);
m(1,2)=a;
m(20,:)=[b(1,19) 1];
but i get an error, what am i doing wrong?

Réponse acceptée

Star Strider
Star Strider le 6 Sep 2014
You’re close!
Change the m(20,:) assignment to:
m(20,:)=[b*ones(1,19) 1];
MATLAB creates automatically incremented vectors using the colon ‘:’ operator. To create a vector that goes from 1 to 7:
v = 1:7;
If you wanted to change the 5th element of v here to 100:
v(5) = 100;
Display v to see the result by just typing v in the Command Window.
That is not the exact answer to the second part of your question, but it will get you started.
  2 commentaires
Tony Montgomery
Tony Montgomery le 6 Sep 2014
THANK YOU THANK YOU THANK YOU. You really are like my best friend right now. I'm sorry to keep asking questions but I'm new at this and not very good at it so thank you so much again!!
Star Strider
Star Strider le 6 Sep 2014
My pleasure!
Ask away!
We’ve all been there.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Programming dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by