create a matrix in a function

2 Ansichten (letzte 30 Tage)
Tony Montgomery
Tony Montgomery am 6 Sep. 2014
Kommentiert: Star Strider am 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?

Akzeptierte Antwort

Star Strider
Star Strider am 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 Kommentare
Tony Montgomery
Tony Montgomery am 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 am 6 Sep. 2014
My pleasure!
Ask away!
We’ve all been there.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Programming finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by